nmh-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated


From: David Levine
Subject: [Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated. 9b152e23db633c49c43313a2ef26ebc0951cc874
Date: Wed, 29 Feb 2012 04:06:44 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The nmh Mail Handling System".

The branch, master has been updated
       via  9b152e23db633c49c43313a2ef26ebc0951cc874 (commit)
      from  2def1ef7c06766912f6eea1a9ab31b492d82173a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=9b152e23db633c49c43313a2ef26ebc0951cc874


commit 9b152e23db633c49c43313a2ef26ebc0951cc874
Author: David Levine <address@hidden>
Date:   Tue Feb 28 22:05:55 2012 -0600

    Added docs/historical/.  See README for where they were found.

diff --git a/docs/historical/ADMIN-19910201.txt 
b/docs/historical/ADMIN-19910201.txt
new file mode 100644
index 0000000..47fde0d
--- /dev/null
+++ b/docs/historical/ADMIN-19910201.txt
@@ -0,0 +1,2729 @@
+
+
+
+
+
+
+
+
+                                  _d_i_s_c_a_r_d _t_h_i_s 
_p_a_g_e
+
+
+
+
+                                     The RAND _M_H
+                                   Message Handling
+                                       System:
+                                Administrator's Guide
+
+                                     UCI Version
+
+
+                                   February 1, 1991
+                                    6.7.1a #6[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+99
+
+
+
+
+
+
+
+
+
+
+
+
+                                   _1. _I_N_T_R_O_D_U_C_T_I_O_N
+
+
+
+9
+
+
+9       _S_c_o_p_e _o_f _t_h_i_s _d_o_c_u_m_e_n_t
+
+            This is the Administrator's Guide to _M_H.  If you don't 
maintain  an
+       _M_H  system,  don't read this; the information is entirely too 
technical.
+       If you are a maintainer, then read this guide until you  understand  it,
+       follow the advice it gives, and then forget about the guide.
+
+            Before continuing, I'll point out two facts:
+
+
+
+                 _T_h_i_s _d_o_c_u_m_e_n_t _w_i_l_l 
_n_e_v_e_r _c_o_n_t_a_i_n _a_l_l _t_h_e 
_i_n_f_o_r_m_a_t_i_o_n
+                               _y_o_u _n_e_e_d _t_o 
_m_a_i_n_t_a_i_n _M_H.
+
+               _F_u_r_t_h_e_r_m_o_r_e, _t_h_i_s 
_d_o_c_u_m_e_n_t _w_i_l_l _n_e_v_e_r _c_o_n_t_a_i_n 
_e_v_e_r_y_t_h_i_n_g
+                             _I _k_n_o_w _a_b_o_u_t 
_m_a_i_n_t_a_i_n_i_n_g _M_H.
+
+
+
+       _M_H, and mailsystems in general, are more complex than most people  
real-
+       ize.   A  combination of experience, intuition, and tenacity is required
+       to maintain _M_H properly.  This document can provide only guidelines 
 for
+       bringing  up  an  _M_H  system  and maintaining it.  There is a 
sufficient
+       amount of customization possible that not all events or problems can  be
+       forseen.
+
+
+
+9       _S_u_m_m_a_r_y
+
+            During _M_H generation, you specify several  configuration  
constants
+       to  the _m_h_c_o_n_f_i_g program.  These directives take into 
consideration such
+       issues as hardware and operating system dependencies in the source code.
+       They also factor out some major mailsystem administrative decisions that
+       are likely to be made consistantly at sites with  more  than  one  host.
+       The  manual  entry  _m_h-_g_e_n (8)  describes  all  the static 
configuration
+       directives.
+
+            However,  when  you  install  _M_H  you  may  wish   to   make   
some
+       site-specific  or  host-specific  changes  which aren't hardware or even
+       software related.  Rather, they are  administrative  decisions.   That's
+       what  this  guide is for: it describes all of the dynamically tailorable
+       directives.
+
+9
+
+
+
+
+
+
+
+
+
+                                         -2-
+
+
+            Usually,  after  installing   _M_H,   you'll   want   to   edit  
 the
+       /usr/local/lib/mh/mtstailor  file.   This  file  fine-tunes  the  way 
_M_H
+       interacts with the message transport  system  (MTS).   Section  2  talks
+       about the MTS interface and MTS tailoring.
+
+            After that, if you're running the UCI BBoards facility, or the  POP
+       facility, you'll need to know how to maintain those systems.  Sections 3
+       and 4 talk about these.
+
+            If for some reason you're not running an MTS that can  handle  both
+       Internet  and _U_U_C_P traffic, you should read-up on mail 
filtering in Sec-
+       tion 5.  Although this is considered "old technology" now,  the  mechan-
+       isms  described  in Section 5 were really quite useful when first intro-
+       duced way back in 1981.
+
+            Finally, you may want to know how to modify  the  _M_H  source  
tree.
+       Section 6 talks (a little bit) about that.
+
+            The last two sections describe a few hidden features in _M_H, 
and the
+       configuration options that were in effect when this guide was generated.
+
+            After _M_H is installed, you should define the  address  
"Bug-MH"  to
+       map to either you or the _P_o_s_t_M_a_s_t_e_r at your site.
+
+            In addition, if you want to tailor  the  behavior  of  _M_H  for 
 new
+       users,  you  can  create and edit the file /usr/local/lib/mh/mh.profile.
+       When the _i_n_s_t_a_l_l-_m_h program is run for a user, if 
this file  exists,  it
+       will copy it into the user's .mh_profile file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                 _2. _T_H_E _M_T_S 
_I_N_T_E_R_F_A_C_E
+
+
+
+9
+            The    file    /usr/local/lib/mh/mtstailor    customizes    certain
+       host-specific  parameters  of  _M_H related primarily to interactions 
with
+       the  transport  system.   The  parameters  in  this  file  override  the
+       compiled-in  defaults given during _M_H configuration.  Rather than 
recom-
+       piling _M_H on each host to make minor customizations, it is easier 
simply
+       to  modify  the  mtstailor file.  All hosts at a given site normally use
+       the same mtstailor file, though this need not be the case.
+
+            It is a good idea to run  the  _c_o_n_f_l_i_c_t (8)  
program  each  morning
+       under _c_r_o_n.  The following line usually suffices:
+
+            00 05 * * * /usr/local/lib/mh/conflict -mail PostMaster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                                    -3-
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -4-                       MH-TAILOR(5)
+
+
+  _N_A_M_E
+       /usr/local/lib/mh/mtstailor - system customization for  MH  message
+  system
+
+  _S_Y_N_O_P_S_I_S
+       any _M_H command that interacts with the MTS
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The file /usr/local/lib/mh/mtstailor defines run-time  options  for
+       those  _M_H  programs  which interact (in some form) with the message
+       transport system.  At present, these (user) programs are: _a_p,  
_c_o_n_-
+       _f_l_i_c_t, _i_n_c, _m_s_g_c_h_k, _m_s_h, 
_p_o_s_t, _r_c_v_d_i_s_t, and _r_c_v_p_a_c_k.
+
+       The options available along with default values and  a  description
+       of their meanings are listed below:
+
+       localname:
+            The host name _M_H considers local.  If not  set,  depending  on
+            the  version  of UNIX you're running, _M_H will query the system
+            for this value (e.g., <whoami.h>,  gethostname,  etc.).   This
+            has  no  equivalent  in the _M_H configuration file.  POP client
+            hosts have this value set to the name of the POP service host.
+
+       systemname:
+            The name of the local host in the _U_U_C_P "domain".  If not  
set,
+            depending on the version of UNIX you're running, _M_H will query
+            the system for this value.  This has no equivalent in  the  _M_H
+            configuration file.
+
+       mmdfldir: /usr/spool/mail
+            The directory where maildrops are kept.  If this is empty, the
+            user's  home  directory  is  used.   This overrides the "mail"
+            field in the _M_H configuration file.
+
+       mmdflfil:
+            The name of the maildrop file in the directory where maildrops
+            are  kept.   If  this is empty, the user's login name is used.
+            This overrides the "mail" field in the _M_H configuration file.
+
+       mmdelim1: \001\001\001\001\n
+            The beginning-of-message delimiter for maildrops.
+
+       mmdelim2: \001\001\001\001\n
+            The end-of-message delimiter for maildrops.
+
+       mmailid: 0
+            If non-zero, then  support  for  MMailids  in  /etc/passwd  is
+            enabled.   Basically,  the pw_gecos field in the password file
+            is of the form
+
+                 My Full Name <mailid>
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -5-                       MH-TAILOR(5)
+
+
+            The _M_H internal routines that deal with user  and  full  names
+            will return "mailid" and "My Full Name" respectively.
+
+       lockstyle: 0
+            The locking-discipline to perform.  A value of  "0"  means  to
+            use  _f_l_o_c_k  if  available,  or _l_o_c_k_f if LOCKF 
was defined when
+            building _M_H.  On non-BSD42 systems, standard 
_B_e_l_l_M_a_i_l  locking
+            is  used.  A value of "1" means to use _B_e_l_l_M_a_i_l 
locking always
+            (the name of the lock is based on the file name).  A value  of
+            "2"  means to use _M_M_D_F locking always (the name of the 
lock is
+            based on device/inode pairs).
+
+       lockldir:
+            The name of the directory for making locks.   If  your  system
+            doesn't  have the _f_l_o_c_k or _l_o_c_k_f syscalls, 
then this directory
+            is used when creating locks.  If the value is empty, then  the
+            directory of the file to be locked is used.
+
+       maildelivery: /usr/local/lib/mh/maildelivery
+            The name of the system-wide default 
._m_a_i_l_d_e_l_i_v_e_r_y  file.   See
+            _m_h_o_o_k (1) for the details.
+
+       everyone: 200
+            The highest user-id which should NOT receive mail addressed to
+            "everyone".
+
+       noshell:
+            If set, then each user-id greater than "everyone" that  has  a
+            login  shell  equivalent to the given value (e.g., "/bin/csh")
+            indicates that mail for "everyone" should not be sent to them.
+            This is useful for handling admin, dummy, and guest logins.
+
+    _M_a_i_l _F_i_l_t_e_r_i_n_g
+
+       These  options  are  only  available  if  you  compiled   _M_H   with
+       "options MF".
+
+       uucpchan: name of _U_U_C_P channel
+            Usually "UUCP".  This has no equivalent in the  _M_H  configura-
+            tion file.
+
+       uucpldir: /usr/spool/mail
+            The name of the directory where _U_U_C_P maildrops are kept.  
This
+            has no equivalent in the _M_H configuration file.
+
+       uucplfil:
+            The name of the maildrop file  in  the  directory  where  
_U_U_C_P
+            maildrops  are  kept.  If this is empty, the user's login name
+            is used.  This has no equivalent in the _M_H configuration file.
+
+       umincproc: /usr/local/lib/mh/uminc
+            The path to the program that filters _U_U_C_P-style  maildrops 
 to
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -6-                       MH-TAILOR(5)
+
+
+            _M_M_D_F-style maildrops.
+
+    _S_t_a_n_d-_A_l_o_n_e _D_e_l_i_v_e_r_y
+
+       These options are only available if you compiled _M_H to  use  stand-
+       alone delivery (i.e., "mts: mh").
+
+       mailqdir: /usr/spool/netmail
+            The directory where network mail is queued.
+
+       tmailqdir: /usr/tmp
+            The directory where network mail queue files are built.
+
+       syscpy: 1
+            If ON, unauthorized mail is copied to the overseer.
+
+       overseer: root
+            The user that receives reports of unauthorized mail.
+
+       mailer: root
+            The user acting for the mail system.
+
+       fromtmp: /tmp/rml.f.XXXXXX
+            The _m_k_t_e_m_p template for storing from lines.
+
+       msgtmp: /tmp/rml.m.XXXXXX
+            The _m_k_t_e_m_p template for storing the rest of the 
message.
+
+       errtmp: /tmp/rml.e.XXXXXX
+            The _m_k_t_e_m_p template for  storing  error  messages  
from  other
+            mailers.
+
+       tmpmode: 0600
+            The octal mode which temporary files are set to.
+
+       okhosts: /usr/local/lib/mh/Rmail.OKHosts
+            A file containing a list of hosts that can sent ARPAnet mail.
+
+       okdests: /usr/local/lib/mh/RMail.OKDests
+            A file containing a list of  hosts  that  can  always  receive
+            mail.
+
+    _T_h_e `/_s_m_t_p' _M_T_S _S_u_f_f_i_x
+
+       These options are only  available  if  you  compiled  _M_H  with  the
+       "/smtp" suffix to your "mts:" configuration.
+
+       hostable: /usr/local/lib/mh/hosts
+            The exceptions file for /etc/hosts used by _p_o_s_t to try to 
find
+            official names.  The format of this file is quite simple:
+
+                 1. Comments are surrounded by sharp (`#') and newline.
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -7-                       MH-TAILOR(5)
+
+
+                 2. Words are surrounded by whitespace.
+                 3. The first word on the line is the official name  of  a
+                 host.
+                 4. All words following the official names are aliases for
+                 that host.
+
+       servers: localhost \01localnet
+            A lists of hosts and networks which to look for  SMTP  servers
+            when posting local mail.  It turns out this is a major win for
+            hosts which don't run an message transport system.  The  value
+            of  "servers"  should  be one or more items.  Each item is the
+            name of either a host or a net (in the  latter  case,  precede
+            the  name  of  the  net by a \01).  This list is searched when
+            looking for a smtp server to post mail.  If a host is present,
+            the SMTP port on that host is tried.  If a net is present, the
+            SMTP port on each host in that net is tried.  Note that if you
+            are  running  with  the BIND code, then any networks specified
+            are ignored (sorry, the interface went away under BIND).
+
+    _S_e_n_d_M_a_i_l
+
+       This option is only available if you compiled _M_H to use 
_S_e_n_d_M_a_i_l as
+       your delivery agent (i.e., "mts: sendmail").
+
+       sendmail: /usr/lib/sendmail
+            The pathname to the _s_e_n_d_m_a_i_l program.
+
+    _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l
+
+       This option is only available if you compiled _M_H with  POP  support
+       enabled (i.e., "pop: on").
+
+       pophost:
+            The name of the default POP service host.  If this is not set,
+            then _M_H looks in the standard maildrop areas for waiting mail,
+            otherwise the named POP service host is consulted.
+
+    _B_B_o_a_r_d_s _D_e_l_i_v_e_r_y
+
+       This  option  is  only  available   if   you   compiled   _M_H   with
+       "bbdelivery: on".
+
+       bbdomain:
+            The local BBoards domain (a UCI hack).
+
+    _B_B_o_a_r_d_s & _T_h_e _P_O_P
+
+       These  options  are  only  available  if  you  compiled   _M_H   with
+       "bboards: pop" and "pop: on".
+
+       popbbhost:
+            The POP service host which also acts as a BBoard server.  This
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -8-                       MH-TAILOR(5)
+
+
+            variable should be set on the POP BBoards client host.
+
+       popbbuser:
+            The guest account on the POP/BB service host.  This should  be
+            a  different  login ID than either the POP user or the BBoards
+            user.  (The user-id "ftp" is highly recommended.)  This  vari-
+            able  should be set on both the POP BBoards client and service
+            hosts.
+
+       popbblist: /usr/local/lib/mh/hosts.popbb
+            A file containing of lists of hosts that are  allowed  to  use
+            the  POP  facility  to access BBoards using the guest account.
+            If this file is not present, then  no  check  is  made.   This
+            variable should be set on the POP BBoards service host.
+
+    _B_B_o_a_r_d_s & _T_h_e _N_N_T_P
+
+       This  option  is  only  available   if   you   compiled   _M_H   with
+       "bboards: nntp" and "pop: on".
+
+       nntphost:
+            The host which  provides  the  NNTP  service.   This  variable
+            should be set on the NNTP BBoards client host.
+
+    _F_i_l_e _L_o_c_k_i_n_g
+
+       A few words on locking: _M_H has a flexible locking system for making
+       locks  on  files.   There are two mtstailor variables you should be
+       aware of "lockstyle" and "lockldir".  The first controls the method
+       of  locking,  the  second  says where lock files should be created.
+       The "lockstyle" variable can take on three  values:  0,  1,  2.   A
+       value  of  0 is useful on BSD42 systems.  If you included the LOCKF
+       option when building _M_H, the _l_o_c_k_f syscall is used,  
otherwise  the
+       _f_l_o_c_k syscall is used.  If you're not on a 4.2BSD system, a 
locking
+       style of 0 is considered the same as locking style 1.
+
+       A value of 1 or 2 specifies that a file  should  be  created  whose
+       existence  means "locked" and whose non-existence means "unlocked".
+       A value of 1 says to construct the lockname by appending ".lock" to
+       the  name of the file being locked.  A value of 2 says to construct
+       the lockname by looking at the device and inode numbers of the file
+       being  locked.   If  the "lockldir" variable is not specified, lock
+       files will be created in the directory where the file being  locked
+       resides.   Otherwise,  lock  files will be created in the directory
+       specified by "lockldir".  Prior to installing _M_H,  you  should  see
+       how locking is done at your site, and set the appropriate values.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-TAILOR(5)                      -9-                       MH-TAILOR(5)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       mh-gen(8), mh-mts(8)
+
+
+  _D_e_f_a_u_l_t_s
+       As listed above
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MTS(8)                         -10-                         MH-MTS(8)
+
+
+  _N_A_M_E
+       mh-mts - the MH interface to the message transport system
+
+  _S_Y_N_O_P_S_I_S
+       SendMail
+
+       MMDF (any release)
+
+       stand-alone
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _M_H can use a wide range of message  transport  systems  to  deliver
+       mail.   Although the _M_H administrator usually doesn't get to choose
+       which MTS to use (since  it's  already  in  place),  this  document
+       briefly describes the interfaces.
+
+       When communicating with _S_e_n_d_M_a_i_l, _M_H always uses 
the SMTP  to  post
+       mail.   Depending  on the _M_H configuration, 
_S_e_n_d_M_a_i_l may be invoked
+       directly (via a _f_o_r_k and an _e_x_e_c), or _M_H may open a 
TCP/IP  connec-
+       tion to the SMTP server on the localhost.
+
+       When communicating with _M_M_D_F, normally _M_H uses the  "mm_"  
routines
+       to  post  mail.   However,  depending  on  the _M_H configuration, 
_M_H
+       instead may open a TCP/IP connection to  the  SMTP  server  on  the
+       localhost.
+
+       When using the stand-alone system (NOT  recommended),  _M_H  delivers
+       local  mail  itself  and queues _U_U_C_P and network mail.  The 
network
+       mail portion will probably have to be modified to reflect the local
+       host's  tastes,  since there is no well-known practice in this area
+       for all types of UNIX hosts.
+
+       If you are running a UNIX system with TCP/IP networking, then it is
+       felt  that  the best interface is achieved by using either 
_S_e_n_d_M_a_i_l
+       or _M_M_D_F with the SMTP option.  This gives greater flexibility.  
 To
+       enable this option you append the /smtp suffix to the mts option in
+       the _M_H configuration.  This yields two primary  advantages:  First,
+       you  don't  have to know where _s_u_b_m_i_t or 
_S_e_n_d_M_a_i_l live.  This means
+       that _M_H binaries (e.g., _p_o_s_t ) don't have to have this  
information
+       hard-coded,  or can run different programs altogether; and, second,
+       you can post mail with the server  on  different  systems,  so  you
+       don't  need either _M_M_D_F or _S_e_n_d_M_a_i_l on your 
local host.  Big win in
+       conserving cycles and disk space.  Since _M_H supports the notion  of
+       a server search-list in this respect, this approach can be tolerant
+       of faults.  Be sure to set "servers:" as described in  mh-tailor(8)
+       if you use this option.
+
+       There are four disadvantages to using the SMTP option: First,  only
+       UNIX  systems  with TCP/IP are supported.  Second, you need to have
+       an SMTP server running somewhere on any network your local host can
+       reach.   Third, this bypasses any authentication mechanisms in 
_M_M_D_F
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MTS(8)                         -11-                         MH-MTS(8)
+
+
+       or _S_e_n_d_M_a_i_l.  Fourth, the file  /etc/hosts  is  used  
for  hostname
+       lookups  (although  there  is  an  exception file).  In response to
+       these disadvantages though: First, there's got to be an SMTP server
+       somewhere around if you're in the Internet or have a local network.
+       Since the server search-list  is  very  general,  a  wide-range  of
+       options are possible.  Second, SMTP should be fixed to have authen-
+       tication mechanisms in it, like POP.  Third, _M_H won't choke on mail
+       to  hosts  whose  official  names  it can't verify, it'll just plug
+       along (and besides if you enable the  BERK  or  DUMB  configuration
+       options, _M_H ignores the hosts file altogether).
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       _M_M_D_F-_I_I: _A _T_e_c_h_n_i_c_a_l 
_R_e_v_i_e_w, Proceedings, Usenix Summer '84 Confer-
+       ence
+       _S_E_N_D_M_A_I_L -- _A_n _I_n_t_e_r_n_e_t_w_o_r_k 
_M_a_i_l _R_o_u_t_e_r
+       mh-tailor(8), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The /usr/local/lib/mh/mtstailor file ignores the information in the
+       _M_M_D_F-_I_I tailoring file.  It should not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                      _3. _B_B_O_A_R_D_S
+
+
+
+9
+            The UCI BBoards facility has two aspects: message reading, and mes-
+       sage  delivery.   The configuration directives applicable to BBoards are
+       "bboards: on/off/pop/nntp" and "bbdelivery: on/off".
+
+
+9       _B_B_o_a_r_d _D_e_l_i_v_e_r_y
+
+            If you enabled BBoards delivery ("bbdelivery:  on")  during  confi-
+       guration,  then  the initial environment for bboards delivery was set-up
+       during installation.  A BBoard called "system" is established, which  is
+       the BBoard for general discussion.
+
+            To add more BBoards,  become  the  "bboards"  user,  and  edit  the
+       /usr/bboards/BBoards  file.   The file support/bboards/Example is a copy
+       of the /usr/bboards/BBoards file that we use at UCI.   When  you  add  a
+       BBoard,  you  don't  have  to  create  the files associated with it, the
+       BBoards delivery system will do that automatically.
+
+            Private BBoards may be created.   To  add  the  fictitious  private
+       BBoard  "hacks",  add  the appropriate entry to the BBoards file, create
+       the empty file /usr/bboards/hacks.mbox (or whatever), change the mode of
+       this file to 0640, and change the group of the file to be the groupid of
+       the people that you want to be able to read it.  Also be sure to add the
+       "bboards"  user  to  this  group (in /etc/group), so the archives can be
+       owned correctly.
+
+            By using the special INVIS  flag  for  a  BBoard,  special  purpose
+       BBoards  may be set-up which are invisible to the _M_H user.  For 
example,
+       if a site distributes a BBoard both locally to a number of machines  and
+       to a number of distant machines.  It might be useful to have two distri-
+       bution lists: one for all machines on the list, and the other for  local
+       machines  only.  This is actually very simple to do.  For the main list,
+       put the standard entry of information in the /usr/bboards/BBoards  file,
+       with  the  complete distribution list.  For the local machines list, and
+       add a similar entry to the /usr/bboards/BBoards file.   All  the  fields
+       should  be the same except three: the BBoard name should reflect a local
+       designation (e.g., "l-hacks"), the distribution list should contain only
+       machines at the local site, and the flags field should contain the INVIS
+       flag.  Since the two entries share the same primary and  archive  files,
+       messages  sent to either list are read by local users, while only thoses
+       messages sent to the main list are read by all users.
+
+            Two automatic facilities for dealing with BBoards exist:  automatic
+       archiving and automatic aliasing.  The file support/bboards/crontab con-
+       tains some entries that you should add to your /usr/lib/crontab file  to
+       run  the  specified  programs at times that are convenient for you.  The
+
+                                         -12-
+
+
+
+
+
+
+
+
+
+                                         -13-
+
+
+       bboards.daily file is run once a day and generates an alias file for 
_M_H.
+       By  using  this  file,  users of _M_H can use, for example, 
"unix-wizards"
+       instead of "address@hidden" when they want to send  a  message  to
+       the  "unix-wizards"  discussion  group.   This is a major win, since you
+       just have to know the name of the group,  not  the  address  where  it's
+       located.
+
+            The bboards.weekly file is run once a week and handles old messages
+       (those  received  more than 12 days ago) in the BBoards area.  In short,
+       those BBoards which are marked for automatic archiving will  have  their
+       old messages placed in the /usr/bboards/archive/ area, or have their old
+       messages removed.  Not only does this make BBoards faster to  read,  but
+       it conveniently partitions the new messages from the old messages so you
+       can easily put the old messages on tape and then remove them.  It  turns
+       out that this automatic archiving capability is also a major win.
+
+            At UCI, our policy is to save archived messages on tape (every  two
+       months  or so).  We use a program called _b_b_t_a_r to implement 
our particu-
+       lar policy.  Since some BBoards are private (see  above),  we  save  the
+       archives  on two tapes: one containing the world-readable archives (this
+       tape is read-only accessible to all users by calling the operator),  and
+       the  other  containing  the  non-world-readable  ones (this tape is kept
+       locked-up somewhere).
+
+
+9       _B_B_o_a_r_d_s _w_i_t_h _t_h_e _P_O_P
+
+            If you configured _M_H with "bboards: pop" and "pop: on", then 
the _M_H
+       user is allowed to read BBoards on a server machine instead of the local
+       host (thus saving disk space).  For completely transparent behavior, the
+       administrator  may  set  certain  variables in the mtstailor file on the
+       client host.  The variable "popbbhost" indicates the host where  BBoards
+       are kept (it doesn't have to be the POP service host, but this host must
+       run both a POP server and the BBoards system).  The variable "popbbuser"
+       indicates  the  guest  account  on this host for BBoards.  This username
+       should not be either the POP user or  the  BBoards  user.   Usually  the
+       anonymous  FTP  user  (ftp)  is  the best choice.  Finally, the variable
+       "popbblist" indicates the name of a file which contains a list of  hosts
+       (one to a line, official host names only) which should be allowed to use
+       the POP facility to access BBoards via the guest account.  (If the  file
+       is not present, then no check is made.)
+
+            The "popbbuser" variable should be set on both the client and  ser-
+       vice host.  The "popbbhost" variable need be set only on the client host
+       (the  value,  of  course,  is  the  name  of  the  service  host).   The
+       "popbblist" variable need be set only on the service host.
+
+            Finally, on the client host, if a POP service host  is  not  expli-
+       citly given by the user (i.e., "popbbhost" is implicitly used), then 
_b_b_c
+       will explicitly check the local host prior  to  contacting  the  service
+       host.   This  allows  each  POP  client host to have a few local BBoards
+
+9
+
+
+
+
+
+
+
+
+
+                                         -14-
+
+
+       (e.g., each host could have one called "system"), and then have the  POP
+       service host used for all the rest (a site-wide BBoard might be known as
+       "general").
+
+
+9       _B_B_o_a_r_d_s _w_i_t_h _t_h_e _N_N_T_P
+
+            If you configured _M_H with "bboards: nntp" and "pop: on",  then 
 the
+       _M_H  user  is  allowed to read the Network News on a server machine 
using
+       the standard _b_b_c command.   For  completely  transparent  
behavior,  the
+       administrator  may  set the "nntphost" variable in the mtstailor file to
+       indicate the host where the Network News is kept.  The "nntphost"  vari-
+       able  should be set only on the client host Finally, on the client host,
+       if an NNTP service host is not  explicitly  given  by  the  user  (i.e.,
+       "nntphost" is implicitly used), then _b_b_c will explicitly check 
the local
+       host prior to contacting the service host.  This allows each NNTP client
+       host  to have a few local BBoards (e.g., each host could have one called
+       "system"), and then have the NNTP service host used for to read the Net-
+       work News.
+
+            Reading  BBoards  via  the  POP  and  via  the  NNTP  are  mutually
+  exclusive.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+
+
+
+
+
+
+
+
+
+  BBOARDS(5)                        -15-                        BBOARDS(5)
+
+
+  _N_A_M_E
+       BBoards - BBoards database
+
+  _S_Y_N_O_P_S_I_S
+       /usr/bboards/BBoards
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The BBoards database contains for each BBoard the following  infor-
+       mation:
+
+       _f_i_e_l_d               _v_a_l_u_e
+       name                the name of the BBoard
+       aliases             local aliases for the BBoard
+                           (separated by commas)
+       primary file        the .mbox file
+       encrypted password  leadership password
+       leaders             local list maintainers (separated by commas)
+                           usernames from the _p_a_s_s_w_d (5) file,
+                           or groupnames preceded by `=' from the
+                           _g_r_o_u_p (5) file
+       network address     the list address
+       request address     the list maintainer's address
+       relay               the host acting as relay for the local domain
+       distribution sites  (separated by commas)
+       flags               special flags (see <bboards.h>)
+
+       This is an ASCII file.  Each field within each  BBoard's  entry  is
+       separated from the next by a colon.  Each BBoard entry is separated
+       from the next by a new-line.  If the password  field  is  null,  no
+       password  is  demanded;  if  it contains a single asterisk, then no
+       password is valid.
+
+       This file resides in the home directory  of  the  login  "bboards".
+       Because  of  the  encrypted passwords, it can and does have general
+       read permission.
+
+  _F_i_l_e_s
+       /usr/bboards/BBoards                BBoards database
+
+
+  _S_e_e _A_l_s_o
+       bbaka(8), bbexp(8), bboards (8), bbtar(8)
+
+
+  _B_u_g_s
+       A binary indexed file format should be available for fast access.
+
+       Appropriate precautions must be taken  to  lock  the  file  against
+       changes  if  it is to be edited with a text editor.  A _v_i_b_b 
program
+       is needed.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBOARDS(5)                        -16-                        BBOARDS(5)
+
+
+  _N_A_M_E
+       bbaka - generate an alias list for BBoards
+
+  _S_Y_N_O_P_S_I_S
+       /usr/bboards/bbaka [system]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _b_b_a_k_a program reads the BBoards database and  produces  
on  its
+       standard output a file suitable for inclusion in either the 
_M_M_D_F-_I_I
+       aliases file (if the argument `system' is given).  If the  argument
+       is  not  given,  then  _b_b_a_k_a produces on its standard output 
a file
+       suitable for becoming the /usr/local/lib/mh/BBoardsAliases file.
+
+  _F_i_l_e_s
+       /usr/bboards/BBoards                BBoards database
+       /usr/local/lib/mh/BBoardsAliases    BBoards aliases file for _M_H
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       bboards(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBEXP(8)                          -17-                          BBEXP(8)
+
+
+  _N_A_M_E
+       bbexp - expunge the BBoards area
+
+  _S_Y_N_O_P_S_I_S
+       /usr/bboards/bbexp [-_f_i_r_s_t-_m_e_t_r_i_c] 
[-_s_e_c_o_n_d-_m_e_t_r_i_c] [bboards ...]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _b_b_e_x_p program reads the  BBoards  database  and  calls  
_m_s_h  to
+       archive the named BBoards (or all BBoards if none are specified).
+
+       The first-metric (which defaults to 12) gives the age  in  days  of
+       the  "BB-Posted:" field for messages which should be expunged.  The
+       second-metric (which defaults to 20) gives the age in days  of  the
+       "Date:"  field  for messages which should be expunged.  Any message
+       which meets either metric  will  be  either  archived  or  removed,
+       depending on what the _B_B_o_a_r_d_s (5) file says.
+
+  _F_i_l_e_s
+       /usr/bboards/BBoards                BBoards database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       msh(1), bboards(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBOARDS(8)                        -18-                        BBOARDS(8)
+
+
+  _N_A_M_E
+       bboards - BBoards channel/mailer
+
+  _S_Y_N_O_P_S_I_S
+       /usr/mmdf/chans/bboards fd1 fd2 [y]
+
+       /usr/local/lib/mh/sbboards bboard ...
+
+       /usr/local/lib/mh/sbboards file maildrop directory bboards.bboard
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       For _M_M_D_F, the BBoards channel delivers mail to the BBoards  
system.
+       For  _S_e_n_d_M_a_i_l and stand-alone _M_H, the SBBoards 
mailer performs this
+       task.
+
+       For each address given, these programs consult the 
_b_b_o_a_r_d_s (5) file
+       to  ascertain  information  about  the BBoard named by the address.
+       The programs then perform local delivery,  if  appropriate.   After
+       that,  with the exception of _s_b_b_o_a_r_d_s running under 
stand-alone _M_H,
+       the programs perform redistribution, if appropriate.
+
+       For redistribution, the return address is set  to  be  the  request
+       address at the local host, so bad addresses down the line return to
+       the nearest point of  authority.   If  any  failures  occur  during
+       redistribution,  a  mail  message  is  sent  to  the  local request
+       address.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/bboards/BBoards                BBoards database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       bboards(5), bbaka(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBTAR(8)                          -19-                          BBTAR(8)
+
+
+  _N_A_M_E
+       bbtar - generate the names of archive files to be put to tape
+
+  _S_Y_N_O_P_S_I_S
+       /usr/bboards/bbtar [private] [public]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _b_b_t_a_r program reads the BBoards database and  produces  
on  its
+       standard  output  the names of BBoards archives which should be put
+       to tape, for direct use in a _t_a_r (1) command.
+
+       If the argument `private' is given, only private BBoards  are  con-
+       sidered.   If  the  argument `public' is given, only public BBoards
+       are considered.  This lets  the  BBoards  administrator  write  two
+       tapes,  one  for  general read-access (the public BBoards), and one
+       for restricted access.  The default is all BBoards
+
+       For example:
+
+            cd archive              # change to the archive directory
+            tar cv `bbtar private`  # save all private BBoard archives
+
+       After the archives have  been  saved  to  tape,  they  are  usually
+       removed.  The archives are then filled again, usually automatically
+       by cron jobs which run _b_b_e_x_p (8).
+
+  _F_i_l_e_s
+       /usr/bboards/BBoards                BBoards database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       bboards(5), bbexp(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                        _4. _P_O_P
+
+
+
+9
+            For POP (Post Office Protocol) client hosts, you need to  edit  the
+       /usr/local/lib/mh/mtstailor  file to know about two hosts: the SMTP ser-
+       vice host and the POP service  host.   Normally,  these  are  the  same.
+       Change  the "localname" field of the mtstailor file of _M_H in the 
file to
+       be the name of the POP service host.  This makes replies  to  mail  gen-
+       erated  on  the POP client host possible, since _M_H will consider 
use the
+       hostname of the POP service host as  the  local  hostname  for  outgoing
+       mail.   Also  set  the value of "pophost" to this value.  This tells 
_i_n_c
+       and _m_s_g_c_h_k to use POP instead of looking  for  mail  
locally.   Finally,
+       make  sure  the value of "servers" includes the name of the SMTP service
+       host.  The recommended value for "servers" is:
+
+            servers: SMTP-service-host localhost \01localnet
+
+            If you want more information on the Post Office  Protocol  used  by
+       _M_H,      consult      the      files     support/pop/rfc1081.txt    
 and
+       support/pop/rfc1082.txt which describe the _M_H version of the POP: 
POP3.
+
+            For POP service hosts, you need to run  a  daemon,  _p_o_p_d 
(8).   The
+       daemon should start at multi-user boot time, so adding the lines:
+
+            if [ -f /etc/popd ]; then
+                /etc/popd & echo -n ' pop'                  >/dev/console
+            fi
+
+       to the /etc/rc.local file is sufficient.
+
+            The port assigned to the POP3 protocol is  "110".   For  historical
+       reasons,  many  sites are using port "109" which is the port assigned to
+       the "POP" (ver. 1) protocol.  The configuration option  "POPSERVICE"  is
+       the name of the port number that _M_H POP will try to use, and 
defaults to
+       the name "pop".
+
+            To generate _M_H to use newer assigned port number, in your 
_M_H config
+       file, add:
+
+            options POPSERVICE='"pop3"'
+
+       And on both the POP client and service hosts, you  need  to  define  the
+       port that the POP service uses.  Add the line:
+
+            pop3            110/tcp
+
+       to the /etc/services file (if it's not already there).
+
+
+
+9                                         -20-
+
+
+
+
+
+
+
+
+
+                                         -21-
+
+
+            There are two ways to administer POP: In "naive" mode, each user-id
+       in  the  _p_a_s_s_w_d (5) file is considered a POP subscriber.  
No changes are
+       required for the mailsystem on the  POP  service  host.   However,  this
+       method  requires  that each POP subscriber have an entry in the password
+       file.  The POP server will fetch the user's mail from wherever maildrops
+       are kept on the POP service host.  This means that if maildrops are kept
+       in the user's home directory, then each POP subscriber must have a  home
+       directory.
+
+            In "smart" mode (enabled via "DPOP" being given as a  configuration
+       option),  the  list  of  POP subscribers and the list of login users are
+       completely separate name spaces.  A separate database (simple file simi-
+       lar  to  the  _B_B_o_a_r_d_s (5) file) is used to record 
information about each
+       POP subscriber.  Unfortunately, the local mailsystem must be changed  to
+       reflect  this.   This  requires  two changes (both of which are simple):
+       First, the aliasing  mechanism  is  augmented  so  that  POP  subscriber
+       addresses are diverted to a special delivery mechanism.  _M_H comes 
with a
+       program, _p_o_p_a_k_a (8), which generates the additional  
information  to  be
+       put  in the mailsystem's alias file.  Second, a special POP channel (for
+       MMDF-II) or POP mailer (for SendMail) performs the actual delivery 
(_m_h._6
+       supplies  both).   All  it really does is just place the mail in the POP
+       spool area.
+
+            These two different philosophies are not compatible on the same POP
+       service  host:  one or the other, but not both may be run.  Clever mail-
+       system people will note that the POP mechanism is really a special  case
+       of the more general BBoards mechanism.
+
+            In addition,  there  is  one  user-visible  difference,  which  the
+       administrator  controls  the availability of.  The difference is whether
+       the POP subscriber must supply a password to the POP server:  The  first
+       method  uses  the  standard  ARPA  technique of sending a username and a
+       password.  The appropriate programs (_i_n_c,  _m_s_g_c_h_k,  
and  possibly  _b_b_c )
+       will prompt the user for this information.
+
+            The second method (which is enabled via "RPOP"  being  given  as  a
+       configuration  option)  uses  the Berkeley UNIX reserved port method for
+       authentication.  This requires that the two  or  three  mentioned  above
+       programs  be  _s_e_t_u_i_d to root.  (There are no known holes in 
any of these
+       programs.)
+
+            To add a POP subscriber, for the first method, one  simply  follows
+       the  usual procedures for adding a new user, which eventually results in
+       adding a line to the _p_a_s_s_w_d (5) file; for the second  
method,  one  must
+       edit the POP database file (kept in the home directory of the POP user),
+       and then run the _p_o_p_a_k_a program.  The output of this 
program  is  placed
+       in the aliases file for the transport system (e.g., /usr/lib/aliases for
+       SendMail).
+
+            These two different philosophies are compatible  on  the  same  POP
+       service  host:  to  selectively  disable  RPOP  for  hosts  which aren't
+       trusted, either modify the ._r_h_o_s_t_s file in the case of  POP 
 subscribers
+
+
+
+
+
+
+
+
+
+
+
+                                         -22-
+
+
+       being  UNIX logins, or zero the contents of network address field of the
+  _p_o_p (5) file for the desired POP subscribers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+  POP(5)                            -23-                            POP(5)
+
+
+  _N_A_M_E
+       POP - POP database of subscribers
+
+  _S_Y_N_O_P_S_I_S
+       /usr/spool/pop/POP
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The POP database has exactly the same  format  as  the  
_B_B_o_a_r_d_s (5)
+       database,  although  many  fields are unused.  Currently, only four
+       fields are examined:
+
+       _f_i_e_l_d               _v_a_l_u_e
+       name                the POP subscriber
+       primary file        the maildrop for the POP subscriber
+                           (relative to the POP directory)
+       encrypted password  the POP subscriber's password
+       network address     the remote user allowed to RPOP
+
+       This is an ASCII file.  Each field  within  each  POP  subscriber's
+       entry  is  separated from the next by a colon.  Each POP subscriber
+       is separated from the next by a new-line.  If the password field is
+       null, then no password is valid.
+
+       To add a new POP subscriber, edit the file adding a line such as
+
+            mrose::mrose:::::::0
+
+       Then, use _p_o_p_w_r_d to set the password for the  POP  
subscriber.   If
+       you wish to allow POP subscribers to access their maildrops without
+       supplying a password (by using privileged ports), fill-in the  net-
+       work address field, as in:
+
+            mrose::mrose:::address@hidden::::0
+
+       which permits "address@hidden" to access the maildrop for  the  POP
+       subscriber "mrose".  Multiple network addresses may be specified by
+       separating them with commas, as in:
+
+            dave::dave:9X5/m4yWHvhCc::address@hidden,address@hidden::::
+
+       To  disable  a  POP subscriber from _r_e_c_e_i_v_i_n_g mail, 
set the primary
+       file name to the empty string.  To prevent a  POP  subscriber  from
+       _p_i_c_k_i_n_g-_u_p mail, set the encrypted password to "*" 
and set the net-
+       work address to the empty string.
+
+       This file resides in home directory of the login "pop".  Because of
+       the  encrypted passwords, it can and does have general read permis-
+       sion.
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POP(5)                            -24-                            POP(5)
+
+
+  _F_i_l_e_s
+       /usr/spool/pop/POP                  POP database
+
+
+  _S_e_e _A_l_s_o
+       bboards(5), pop(8), popaka(8), popd(8), popwrd(8)
+
+
+  _B_u_g_s
+       A binary indexed file format should be available for fast access.
+
+       Appropriate precautions must be taken  to  lock  the  file  against
+       changes  if it is to be edited with a text editor.  A _v_i_p_o_p 
program
+       is needed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POP(8)                            -25-                            POP(8)
+
+
+  _N_A_M_E
+       pop - POP channel/mailer
+
+  _S_Y_N_O_P_S_I_S
+       /usr/mmdf/chans/pop fd1 fd2 [y]
+
+       /usr/local/lib/mh/spop POP-subscriber ...
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       For _M_M_D_F-_I_I, the POP channel delivers mail to the  POP  
spool  area
+       for  later  retrieval  by  POP subscribers.  For 
_S_e_n_d_M_a_i_l, the SPOP
+       mailer performs this task.
+
+       For each address given, these programs consult the _p_o_p (5) file  
to
+       obtain  information  about the POP-subscriber named by the address.
+       The programs then deliver the message to the  spool  area  for  the
+       POP-subscriber.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/spool/pop/POP                  POP database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       bboards(5), bbaka(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POPAKA(8)                         -26-                         POPAKA(8)
+
+
+  _N_A_M_E
+       popaka - generate POP entries for SendMail or MMDF-II alias file
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/popaka
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _p_o_p_a_k_a program reads the POP database and produces on 
its stan-
+       dard  output  a  file  suitable  for  inclusion  in the SendMail or
+       _M_M_D_F-_I_I aliases file.  The contents of this file  divert  
mail  for
+       POP subscribers to the POP channel.
+
+  _F_i_l_e_s
+       /usr/spool/pop/POP                  POP database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       pop(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POPD(8)                           -27-                           POPD(8)
+
+
+  _N_A_M_E
+       popd - the POP server
+
+  _S_Y_N_O_P_S_I_S
+       /usr/etc/popd [-p portno] (under /etc/rc.local)
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _p_o_p_d server implements the Post Office protocol,  as  
described
+       in  RFC1081  and RFC1082.  Basically, the server listens on the TCP
+       port named "pop" for connections and enters the POP upon establish-
+       ing a connection.  The `-p' option overrides the default TCP port.
+
+  _F_i_l_e_s
+       /usr/spool/pop/POP                  POP database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+       _P_o_s_t _O_f_f_i_c_e  _P_r_o_t_o_c_o_l  -  
_v_e_r_s_i_o_n  _3:  _E_x_t_e_n_d_e_d  _s_e_r_v_i_c_e  
_o_f_f_e_r_i_n_g_s
+       (RFC-1082),
+       pop(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _H_i_s_t_o_r_y
+       For historical reasons, the _M_H POP defaults to using the port named
+       "pop"  (109) instead of its newly assigned port named "pop3" (110).
+       See the POPSERVICE configuration option for more details.
+
+       Previous versions of the server (10/28/84) had the restriction that
+       the  POP  client  may retrieve messages for login users only.  This
+       restriction has been lifted, and  true  POB  support  is  available
+       (sending  mail  to a mailbox on the POP service host which does not
+       map to a user-id in the password file).
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POPWRD(8)                         -28-                         POPWRD(8)
+
+
+  _N_A_M_E
+       popwrd - set password for a POP subscriber
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/popwrd POP-subscriber
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _p_o_p_w_r_d program lets the super-user or the master POP 
user or  a
+       "leader"  of a POP subscriber change the password field for the POP
+       subscriber in the POP database.  This program is  very  similar  to
+       the _p_a_s_s_w_d (1) program.
+
+       Since only the super-user and the master POP user  may  change  any
+       other  fields of the POP database (using an ordinary editor), it is
+       possible for the system administrator to delegate responsibility to
+       others to manage groups of POP subscribers.
+
+  _F_i_l_e_s
+       /usr/spool/pop/POP                  POP database
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       pop(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       Although _p_o_p_w_r_d does locking against other invocations  of  
_p_o_p_w_r_d,
+       editor  locking for the POP database in general is not implemented.
+       A _v_i_p_o_p program is needed.
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                  _5. _M_A_I_L _F_I_L_T_E_R_I_N_G
+
+
+
+9
+            There was a time when users on a UNIX host might have had two mail-
+       drops:  one  from  _M_M_D_F  and the other from _U_U_C_P.  This 
was really a bad
+       problem since it prevented using a single user-interface on all of  your
+       mail.  Furthermore, if you wanted to send a message to addresses on dif-
+       ferent mailsystems, you couldn't send just one message.   To  solve  all
+       these  problems, the notion of _m_a_i_l _f_i_l_t_e_r_i_n_g 
was developed that allowed
+       sophisticated munging and relaying between the two pseudo-domains.
+
+            _M_H will perform mail filtering, transparently, if given the MF 
con-
+       figuration  option.   However,  with  the advent of 
_S_e_n_d_M_a_i_l and further
+       maturation of _M_M_D_F, _M_H doesn't really need to  do  this  
anymore,  since
+       these message transport agents handle it.
+
+            The mail-filtering stuff is too complicated.  It should be simpler,
+  but, protocol translation really _i_s difficult.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                                    -29-
+
+
+
+
+
+
+
+
+
+  MF(1)                             -30-                             MF(1)
+
+
+  _N_A_M_E
+       muinc, musift, uminc, umsift - mail filters
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/muinc
+
+       /usr/local/lib/mh/musift [files ...]
+
+       /usr/local/lib/mh/uminc
+
+       /usr/local/lib/mh/umsift [files ...]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The mail filters are a set of programs that filter  mail  from  one
+       format  to another.  In particular, _U_U_C_P- and 
_M_M_D_F-style mail files
+       are handled.
+
+       _m_u_i_n_c filters mail from the user's _M_M_D_F maildrop  
into  the  user's
+       _U_U_C_P  maildrop;  similarly, _u_m_i_n_c filters mail from 
the user's _U_U_C_P
+       maildrop into the user's _M_M_D_F maildrop.  These two programs 
respect
+       each system's maildrop locking protocols.
+
+       _m_u_s_i_f_t filters each file on the command line (or the 
standard input
+       if  no  arguments are given), and places the result on the standard
+       output in _U_U_C_P format.  The files (or standard input) are  
expected
+       to  be  in  _M_M_D_F format.  _u_m_s_i_f_t does the same 
thing filtering _U_U_C_P
+       formatted files (or input), and places the _M_M_D_F formatted 
result on
+       the  standard  output.  No locking protocols are used by these pro-
+       grams.
+
+       If the files aren't in the expected format, the mail  filters  will
+       try to recover.  In really bad cases, you may lose big.
+
+  _F_i_l_e_s
+       /usr/spool/mail/                    UUCP spool area for maildrops
+       /usr/spool/mail/$USER               Location of standard maildrop
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _H_e_a_d_e_r _M_u_n_g_i_n_g (aka RFC-886),
+       inc(1)
+
+
+  _D_e_f_a_u_l_t_s
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MF(1)                             -31-                             MF(1)
+
+
+  _C_o_n_t_e_x_t
+
+
+  _B_u_g_s
+       Numerous; protocol translation is very difficult.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RMAIL(8)                          -32-                          RMAIL(8)
+
+
+  _N_A_M_E
+       rmail - UUCP interface to mail
+
+  _S_Y_N_O_P_S_I_S
+       rmail address ...
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_m_a_i_l is intended as a replacement for those systems without  
_S_e_n_d_-
+       _M_a_i_l  or  _M_M_D_F.   It  is  normally  invoked by 
_u_u_x on behalf of the
+       remote _U_U_C_P site.  For each address, it decides where to  send  
it:
+       either locally, via another _U_U_C_P link, or via the Internet.
+
+       _R_m_a_i_l implements a crude access control facility by 
consulting  the
+       files  Rmail.OkHosts  and  Rmail.OkDests  in the /usr/local/lib/mh/
+       directory.  Hosts listed in the former file can  send  messages  to
+       anywhere  they please.  Hosts listed in the latter file can receive
+       messages from anywhere.  Note that a host listed in the first  file
+       is implicitly listed in the second file.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/local/lib/mh/Rmail.OkHosts     list of privileged hosts
+       /usr/local/lib/mh/Rmail.OkDests     list of privileged destinations
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       mf(1)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                    _6. _M_H _H_A_C_K_I_N_G
+
+
+
+9
+            Finally, here's a little information on modifying the  _M_H  
sources.
+       A word of advice however:
+
+
+                                        _D_O_N'_T
+
+
+
+       If you really want new _M_H capabilities, write a  shell  script  
instead.
+       After all, that's what UNIX is all about, isn't it?
+
+            Here's the organization of the _M_H source tree.
+
+            conf/        configurator tree
+            config/      compiled configuration constants
+            dist/        distributor
+            doc/         manual entries
+            h/           include files
+            miscellany/  various sundries
+            mts/         MTS-specific areas
+                         mh/        standalone delivery
+                         mmdf/      MMDF-I, MMDF-II
+                         sendmail/  SendMail, SMTP
+            papers/      papers about _M_H
+            sbr/         subroutines
+            support/     support programs and files
+                         bboards/   UCI BBoards facility
+                         general/   templates
+                         pop/       POP facility
+            tma/         Trusted Mail Agent (not present in all distributions)
+            uip/         programs
+            zotnet/      MTS-independent areas
+                         bboards/   UCI BBoards facility
+                         mf/        Mail Filtering
+                         mts/       MTS constants
+                         tws/       date routines
+
+
+
+
+
+
+
+
+
+
+
+9                                    -33-
+
+
+
+
+
+
+
+
+
+  MH-HACK(8)                        -34-                        MH-HACK(8)
+
+
+  _N_A_M_E
+       mh-hack - how to hack MH
+
+  _S_Y_N_O_P_S_I_S
+       big hack attack
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       This is a description of how one can modify the _M_H system.  The  
_M_H
+       distribution has a lot of complex inter-relations, so before you go
+       modifying any code, you should read this  and  understand  what  is
+       going on.
+
+       ADDING A NEW PROGRAM
+            Suppose you want to create a new _M_H command  called  "pickle".
+            First, create and edit "pickle.c" in the uip/ directory.  Next
+            edit conf/makefiles/uip to include "pickle".   This  file  has
+            directions  at  the  end  of it which explain how it should be
+            modified.  Next, update any documentation  (described  below).
+            At  this  point  you  can  re-configure _M_H.  See 
_m_h-_g_e_n(_8) for
+            instructions on how to do this (basically, you want  "mhconfig
+            MH").
+
+       ADDING A NEW SUBROUTINE
+            Suppose you want to create a new _M_H routine  called  "pickle".
+            First, create and edit "pickle.c" in the sbr/ directory.  Next
+            edit conf/makefiles/sbr to include "pickle".   This  file  has
+            directions  at  the  end  of it which explain how it should be
+            modified.  You should modify  config/mh.h  to  define  "pickle
+            ();".   Similarly,  sbr/llib-lsbr should be modified for 
_l_i_n_t.
+            At this point you can re-configure _M_H.
+
+       UPDATING DOCUMENTATION
+            Edit whatever files you want in conf/doc/.  When documenting a
+            new program, such as "pickle", you should create a manual page
+            with the name "pickle.rf".  The file conf/doc/template  has  a
+            manual page template that you can use.  If you are documenting
+            a new program, then you should also update three other  files:
+            The  file  conf/doc/mh.rf  should  be  modified to include the
+            ".NA" section from "pickle.rf".  The file conf/doc/mh-chart.rf
+            should   be   modified  to  include  the  ".SY"  section  from
+            "pickle.rf".  Finally, the file conf/doc/MH.rf should be modi-
+            fied  to  include a ".so pickle.me".  Naturally, none of these
+            changes will be reflected in the configuration until you actu-
+            ally run _m_h_c_o_n_f_i_g.
+
+  _F_i_l_e_s
+       Too numerous to mention.  Honest.
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-HACK(8)                        -35-                        MH-HACK(8)
+
+
+  _S_e_e _A_l_s_o
+       mh-gen(8)
+
+
+  _B_u_g_s
+       Hacking is an art, but most programmers are butchers, not artists.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                  _7. _H_I_D_D_E_N 
_F_E_A_T_U_R_E_S
+
+
+
+9
+            The capabilities discussed here should not be used on a  production
+       basis,  as they are either experimental, are useful for debugging 
_M_H, or
+       are otherwise not recommended.
+
+
+
+9       _D_e_b_u_g _F_a_c_i_l_i_t_i_e_s
+
+            The _m_a_r_k command has a `-debug' switch which essentially 
prints out
+       all the internal _M_H data structures for the folder you're looking 
at.
+
+            The _p_o_s_t command has a `-debug' switch which  does  
everything  but
+       actually  post  the  message  for you.  Instead of posting the draft, it
+       sends it to the standard output.  Similarly, _s_e_n_d has a 
`-debug'  switch
+       which gets passed to _p_o_s_t.
+
+            Some _M_H commands look at envariables to determine debug-mode 
opera-
+       tion of certain new facilities.  The current list of envariables is:
+
+            MHFDEBUG     OVERHEAD facility
+            MHLDEBUG     mhl
+            MHPDEBUG     pick
+            MHPOPDEBUG   POP transactions
+            MHVDEBUG     window management transactions
+            MHWDEBUG     alternate-mailboxes
+
+
+
+9       _F_o_r_w_a_r_d_i_n_g _M_a_i_l
+
+            The _f_o_r_w and _m_h_l commands have  two  switches,  
`-dashmunging'  and
+       `-nodashmunging'  which enable or disable the prepending of `- ' in for-
+       warded messages.  To use `-nodashmunging', you must use  an  _m_h_l  
filter
+       file.
+
+
+
+9       _S_e_n_d
+
+            The _s_e_n_d command has two switches, `-unique' and 
`-nounique', which
+       are  useful  to certain individuals who, for obscure reasons, do not use
+       draft-folders.
+
+            "Distribution Carbon Copy" addresses may be specified in  the  
_D_c_c:
+       header.  This header is removed before posting the message,and a copy of
+
+                                         -36-
+
+
+
+
+
+
+
+
+
+                                         -37-
+
+
+       the message is distributed to each listed address.  This could  be  con-
+       sidered a form of Blind Carbon Copy which is best used for sending to an
+       address which would never reply (such as an auto-archiver).
+
+
+
+9       _P_o_s_t_i_n_g _M_a_i_l
+
+            If you're running a version of _M_H which talks directly to  an  
_S_M_T_P
+       server  (or  perhaps an advanced _M_M_D_F submit process), there 
are lots of
+       interesting switches for your amusement which _s_e_n_d and 
_p_o_s_t understand:
+            -mail         Use the _M_A_I_L command (default)
+            -saml         Use the _S_A_M_L command
+            -send         Use the _S_E_N_D command
+            -soml         Use the _S_O_M_L command
+            -snoop        Watch the _S_M_T_P transaction
+            -client host  Claim to be "host" when posting mail
+            -server host  Post mail with "host"
+
+            The last switch is to be useful when _M_H resides on  small  
worksta-
+       tions  (or  PC:s) in a network--they can post their outgoing mail with a
+       local relay, and reduce the load on the local  system.   On  POP  client
+       hosts,  the  `-server host'  switch is defaulted appropriately using the
+       SMTP search-list mechanism.  The _w_h_o_m command understands the 
last three
+       switches.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                               _8. _C_O_N_F_I_G_U_R_A_T_I_O_N 
_O_P_T_I_O_N_S
+
+
+
+9
+            This manual was generated with the following configuration  options
+       in effect:
+
+
+       ________________________________________________________________________
+
+                   Generation Date             February 1, 1991
+                   Primary Directory           /usr/local/
+                   Secondary Directory         /usr/local/lib/mh/
+                   Maildrop Location           /usr/spool/mail/$USER
+                   POP Support                 Enabled
+                   BBoards using NNTP          Enabled
+                   Transport System            MMDF-II with SMTP
+       ________________________________________________________________________
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                                         -38-
+
+
+
+
+
+
+
+
+
+
+
+
+                                       _C_O_N_T_E_N_T_S
+
+
+
+
+       Section
+
+          1.  INTRODUCTION ...............................................    1
+9            Scope of this document .......................................   
 1
+9            Summary ......................................................   
 1
+
+          2.  THE MTS INTERFACE ..........................................    3
+               MH-TAILOR .................................................    4
+               MH-MTS ....................................................   10
+
+          3.  BBOARDS ....................................................   12
+9            BBoard Delivery ..............................................   
12
+9            BBoards with the POP .........................................   
13
+9            BBoards with the NNTP ........................................   
14
+               BBOARDS ...................................................   15
+               BBAKA .....................................................   16
+               BBEXP .....................................................   17
+               BBOARDS ...................................................   18
+               BBTAR .....................................................   19
+
+          4.  POP ........................................................   20
+               POP .......................................................   23
+               POP .......................................................   25
+               POPAKA ....................................................   26
+               POPD ......................................................   27
+               POPWRD ....................................................   28
+
+          5.  MAIL FILTERING .............................................   29
+               MF ........................................................   30
+               RMAIL .....................................................   32
+
+          6.  MH HACKING .................................................   33
+               MH-HACK ...................................................   34
+
+          7.  HIDDEN FEATURES ............................................   36
+9            Debug Facilities .............................................   
36
+9            Forwarding Mail ..............................................   
36
+9            Send .........................................................   
36
+9            Posting Mail .................................................   
37
+
+          8.  CONFIGURATION OPTIONS ......................................   38
+
+
+9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                               THE RAND MH
+
+9                            MESSAGE HANDLING
+
+9                                 SYSTEM:
+
+9                          ADMINISTRATOR'S GUIDE
+
+
+
+
+
+
+                               UCI Version
+
+
+
+
+
+                            Marshall T. Rose
+
+
+
+
+                             _F_i_r_s_t _E_d_i_t_i_o_n:
+
+                               _M_H _C_l_a_s_s_i_c
+
+            (_N_o_t _t_o _b_e _c_o_n_f_u_s_e_d _w_i_t_h _a 
_w_e_l_l-_k_n_o_w_n _s_o_f_t _d_r_i_n_k)
+
+
+
+
+
+
+
+                            February 1, 1991
+
+                             6.7.1a #6[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
diff --git a/docs/historical/ADMIN.pdf b/docs/historical/ADMIN.pdf
new file mode 100644
index 0000000..f716c79
Binary files /dev/null and b/docs/historical/ADMIN.pdf differ
diff --git a/docs/historical/ADMIN.txt b/docs/historical/ADMIN.txt
new file mode 100644
index 0000000..8e4cda8
--- /dev/null
+++ b/docs/historical/ADMIN.txt
@@ -0,0 +1,2904 @@
+
+
+
+
+
+
+
+
+                                            _d_i_s_c_a_r_d _t_h_i_s 
_p_a_g_e
+
+
+
+
+                                               The RAND _M_H
+                                             Message Handling
+                                                 System:
+                                          Administrator's Guide
+
+                                               UCI Version
+
+
+                                            November 30, 1993
+                                              6.8.3 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                             _1. 
_I_N_T_R_O_D_U_C_T_I_O_N
+
+
+
+
+
+
+
+                 _S_c_o_p_e _o_f _t_h_i_s _d_o_c_u_m_e_n_t
+
+                      This is the Administrator's Guide to _M_H.  If you 
don't maintain  an
+                 _M_H  system,  don't read this; the information is entirely 
too technical.
+                 If you are a maintainer, then read this guide until you  
understand  it,
+                 follow the advice it gives, and then forget about the guide.
+
+                      Before continuing, I'll point out two facts:
+
+
+
+                           _T_h_i_s _d_o_c_u_m_e_n_t _w_i_l_l 
_n_e_v_e_r _c_o_n_t_a_i_n _a_l_l _t_h_e 
_i_n_f_o_r_m_a_t_i_o_n
+                                         _y_o_u _n_e_e_d _t_o 
_m_a_i_n_t_a_i_n _M_H.
+
+                         _F_u_r_t_h_e_r_m_o_r_e, _t_h_i_s 
_d_o_c_u_m_e_n_t _w_i_l_l _n_e_v_e_r _c_o_n_t_a_i_n 
_e_v_e_r_y_t_h_i_n_g
+                                       _I _k_n_o_w _a_b_o_u_t 
_m_a_i_n_t_a_i_n_i_n_g _M_H.
+
+
+
+                 _M_H, and mailsystems in general, are more complex than 
most people  real-
+                 ize.   A  combination of experience, intuition, and tenacity 
is required
+                 to maintain _M_H properly.  This document can provide only 
guidelines  for
+                 bringing  up  an  _M_H  system  and maintaining it.  There 
is a sufficient
+                 amount of customization possible that not all events or 
problems can  be
+                 forseen.
+
+
+
+                 _S_u_m_m_a_r_y
+
+                      During _M_H generation, you specify several  
configuration  constants
+                 to  the _m_h_c_o_n_f_i_g program.  These directives 
take into consideration such
+                 issues as hardware and operating system dependencies in the 
source code.
+                 They also factor out some major mailsystem administrative 
decisions that
+                 are likely to be made consistantly at sites with  more  than  
one  host.
+                 The  manual  entry  _m_h-_g_e_n (8)  describes  all  the 
static configuration
+                 directives.
+
+                      However,  when  you  install  _M_H  you  may  wish   
to   make   some
+                 site-specific  or  host-specific  changes  which aren't 
hardware or even
+                 software related.  Rather, they are  administrative  
decisions.   That's
+                 what  this  guide is for: it describes all of the dynamically 
tailorable
+                 directives.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -2-
+
+
+                      Usually,  after  installing   _M_H,   you'll   want   
to   edit   the
+                 /usr/local/lib/mh/mtstailor  file.   This  file  fine-tunes  
the  way _M_H
+                 interacts with the message transport  system  (MTS).   
Section  2  talks
+                 about the MTS interface and MTS tailoring.
+
+                      After that, if you're running the UCI BBoards facility, 
or the  POP
+                 facility, you'll need to know how to maintain those systems.  
Sections 3
+                 and 4 talk about these.
+
+                      If for some reason you're not running an MTS that can  
handle  both
+                 Internet  and _U_U_C_P traffic, you should read-up on 
mail filtering in Sec-
+                 tion 5.  Although this is considered "old technology" now,  
the  mechan-
+                 isms  described  in Section 5 were really quite useful when 
first intro-
+                 duced way back in 1981.
+
+                      Finally, you may want to know how to modify  the  _M_H 
 source  tree.
+                 Section 6 talks (a little bit) about that.
+
+                      The last two sections describe a few hidden features in 
_M_H, and the
+                 configuration options that were in effect when this guide was 
generated.
+
+                      After _M_H is installed, you should define the  
address  "Bug-MH"  to
+                 map to either you or the _P_o_s_t_M_a_s_t_e_r at 
your site.
+
+                      In addition, if you want to tailor  the  behavior  of  
_M_H  for  new
+                 users,  you  can  create and edit the file 
/usr/local/lib/mh/mh.profile.
+                 When the _i_n_s_t_a_l_l-_m_h program is run for a 
user, if this file  exists,  it
+                 will copy it into the user's .mh_profile file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                           _2. _T_H_E _M_T_S 
_I_N_T_E_R_F_A_C_E
+
+
+
+
+
+                      The    file    /usr/local/lib/mh/mtstailor    customizes 
   certain
+                 host-specific  parameters  of  _M_H related primarily to 
interactions with
+                 the  transport  system.   The  parameters  in  this  file  
override  the
+                 compiled-in  defaults given during _M_H configuration.  
Rather than recom-
+                 piling _M_H on each host to make minor customizations, it 
is easier simply
+                 to  modify  the  mtstailor file.  All hosts at a given site 
normally use
+                 the same mtstailor file, though this need not be the case.
+
+                      It is a good idea to run  the  _c_o_n_f_l_i_c_t 
(8)  program  each  morning
+                 under _c_r_o_n.  The following line usually suffices:
+
+                      00 05 * * * /usr/local/lib/mh/conflict -mail PostMaster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                              -3-
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -4-                       
MH-TAILOR(5)
+
+
+            _N_A_M_E
+                 mh-tailor, mtstailor - system customization for MH message 
handler
+
+
+            _S_Y_N_O_P_S_I_S
+                 
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/_m_t_s_t_a_i_l_o_r
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The file /usr/local/lib/mh/mtstailor defines run-time  
options  for
+                 those  _M_H  programs  which interact (in some form) with 
the message
+                 transport system.  At present, these (user) programs are: 
_a_p,  _c_o_n_-
+                 _f_l_i_c_t, _i_n_c, _m_s_g_c_h_k, _m_s_h, 
_p_o_s_t, _r_c_v_d_i_s_t, and _r_c_v_p_a_c_k.
+
+                 Each option should be given on a  single  line.   Blank  
lines  and
+                 lines  which  begin  with  `#'  are ignored.  The options 
available
+                 along with default values and a description of their  
meanings  are
+                 listed below:
+
+                 localname:
+                      The host name _M_H considers local.  If not  set,  
depending  on
+                      the  version  of UNIX you're running, _M_H will query 
the system
+                      for this value (e.g., <whoami.h>,  gethostname,  etc.).  
 This
+                      has  no  equivalent  in the _M_H configuration file.  
POP client
+                      hosts should set this value to the name  of  the  POP  
service
+                      host.
+
+                 localdomain:
+                      If this is set, a `.' followed by this string will be 
appended
+                      to  your  host name.  This might be useful for sites 
where the
+                      host name returned by the system (e.g.,  <whoami.h>,  
gethost-
+                      name,  etc.),  is  not  a "fully qualified domain name" 
(i.e.,
+                      does not contain a `.').
+
+                 clientname:
+                      The host name _M_H will give in the SMTP HELO  (and  
EHLO)  com-
+                      mand,  when posting mail.  If not set, no HELO command 
will be
+                      given.  Although the HELO command is required by RFC 
821, many
+                      SMTP servers do not require it.
+
+                      Early versions of SendMail will fail if the host name 
given in
+                      the HELO command is the local host; later versions of 
SendMail
+                      will complain if you omit the HELO command.  If you run  
Send-
+                      Mail,  find  out  what  your system expects and set this 
field
+                      accordingly.
+
+                 systemname:
+                      The name of the local host in the _U_U_C_P "domain". 
 If not  set,
+                      depending on the version of UNIX you're running, _M_H 
will query
+                      the system for this value.  This has no equivalent in  
the  _M_H
+                      configuration file.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -5-                       
MH-TAILOR(5)
+
+
+                 mmdfldir: /usr/spool/mail
+                      The directory where maildrops are kept.  If this is 
empty, the
+                      user's  home  directory  is  used.   This overrides the 
"mail"
+                      field in the _M_H configuration file.
+
+                 mmdflfil:
+                      The name of the maildrop file in the directory where 
maildrops
+                      are  kept.   If  this is empty, the user's login name is 
used.
+                      This overrides the "mail" field in the _M_H 
configuration file.
+
+                 mmdelim1: \001\001\001\001\n
+                      The beginning-of-message delimiter for maildrops.
+
+                 mmdelim2: \001\001\001\001\n
+                      The end-of-message delimiter for maildrops.
+
+                 mmailid: 0
+                      If non-zero, then  support  for  MMailids  in  
/etc/passwd  is
+                      enabled.   Basically,  the pw_gecos field in the 
password file
+                      is of the form
+
+                           My Full Name <mailid>
+
+                      The _M_H internal routines that deal with user  and  
full  names
+                      will return "mailid" and "My Full Name" respectively.
+
+                 lockstyle: 0
+                      The locking discipline to perform.  A value of  "0"  
means  to
+                      use  kernel-level  locking  if available.  (See below 
for more
+                      details.) On systems compiled  without  kernel-level  
locking,
+                      standard  _B_e_l_l_M_a_i_l  locking  is used.  A 
value of "1" means to
+                      use _B_e_l_l_M_a_i_l locking always (the name of 
the lock is based  on
+                      the  file  name).   A  value  of "2" means to use 
_M_M_D_F locking
+                      always (the name of the lock is based on device/inode 
pairs).
+
+                 lockldir:
+                      The name of the directory for making locks.   If  your  
system
+                      isn't configured to use kernel-level locking, then this 
direc-
+                      tory is used when creating locks.  If the value is 
empty, then
+                      the directory of the file to be locked is used.
+
+                 maildelivery: /usr/local/lib/mh/maildelivery
+                      The name of the system-wide default 
._m_a_i_l_d_e_l_i_v_e_r_y  file.   See
+                      _m_h_o_o_k (1) for the details.
+
+                 everyone: 200
+                      The highest user-id which should NOT receive mail 
addressed to
+                      "everyone".
+
+                 noshell:
+                      If set, then each user-id greater than "everyone" that  
has  a
+                      login  shell  equivalent to the given value (e.g., 
"/bin/csh")
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -6-                       
MH-TAILOR(5)
+
+
+                      indicates that mail for "everyone" should not be sent to 
them.
+                      This is useful for handling admin, dummy, and guest 
logins.
+
+              _M_a_i_l _F_i_l_t_e_r_i_n_g
+
+                 These  options  are  only  available  if  you  compiled   
_M_H   with
+                 "options MF".
+
+                 uucpchan: name of _U_U_C_P channel
+                      Usually "UUCP".  This has no equivalent in the  _M_H  
configura-
+                      tion file.
+
+                 uucpldir: /usr/spool/mail
+                      The name of the directory where _U_U_C_P maildrops 
are kept.  This
+                      has no equivalent in the _M_H configuration file.
+
+                 uucplfil:
+                      The name of the maildrop file  in  the  directory  where 
 _U_U_C_P
+                      maildrops  are  kept.  If this is empty, the user's 
login name
+                      is used.  This has no equivalent in the _M_H 
configuration file.
+
+                 umincproc: /usr/local/lib/mh/uminc
+                      The path to the program that filters _U_U_C_P-style  
maildrops  to
+                      _M_M_D_F-style maildrops.
+
+              _S_t_a_n_d-_A_l_o_n_e _D_e_l_i_v_e_r_y
+
+                 These options are only available if you compiled _M_H to  
use  stand-
+                 alone delivery (i.e., "mts: mh").
+
+                 mailqdir: /usr/spool/netmail
+                      The directory where network mail is queued.
+
+                 tmailqdir: /usr/tmp
+                      The directory where network mail queue files are built.
+
+                 syscpy: 1
+                      If ON, unauthorized mail is copied to the overseer.
+
+                 overseer: root
+                      The user that receives reports of unauthorized mail.
+
+                 mailer: root
+                      The user acting for the mail system.
+
+                 fromtmp: /tmp/rml.f.XXXXXX
+                      The _m_k_t_e_m_p template for storing from lines.
+
+                 msgtmp: /tmp/rml.m.XXXXXX
+                      The _m_k_t_e_m_p template for storing the rest of 
the message.
+
+                 errtmp: /tmp/rml.e.XXXXXX
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -7-                       
MH-TAILOR(5)
+
+
+                      The _m_k_t_e_m_p template for  storing  error  
messages  from  other
+                      mailers.
+
+                 tmpmode: 0600
+                      The octal mode which temporary files are set to.
+
+                 okhosts: /usr/local/lib/mh/Rmail.OKHosts
+                      A file containing a list of hosts that can send ARPAnet 
mail.
+
+                 okdests: /usr/local/lib/mh/RMail.OKDests
+                      A file containing a list of  hosts  that  can  always  
receive
+                      mail.
+
+              _T_h_e `/_s_m_t_p' _M_T_S _S_u_f_f_i_x
+
+                 These options are only  available  if  you  compiled  _M_H  
with  the
+                 "/smtp" suffix to your "mts:" configuration.
+
+                 hostable: /usr/local/lib/mh/hosts
+                      The exceptions file for /etc/hosts used by _p_o_s_t 
to try to find
+                      official names.  The format of this file is quite simple:
+
+                           1. Comments are surrounded by sharp (`#') and 
newline.
+                           2. Words are surrounded by white space.
+                           3. The first word on the line is the official name  
of  a
+                           host.
+                           4. All words following the official names are 
aliases for
+                           that host.
+
+                 servers: localhost \01localnet
+                      A lists of hosts and networks which to look for  SMTP  
servers
+                      when posting local mail.  It turns out this is a major 
win for
+                      hosts which don't run an message transport system.  The  
value
+                      of  "servers"  should  be one or more items.  Each item 
is the
+                      name of either a host or a net (in the  latter  case,  
precede
+                      the  name  of  the  net by a \01).  This list is 
searched when
+                      looking for a smtp server to post mail.  If a host is 
present,
+                      the SMTP port on that host is tried.  If a net is 
present, the
+                      SMTP port on each host in that net is tried.  Note that 
if you
+                      are  running  with  the BIND code, then any networks 
specified
+                      are ignored (sorry, the interface went away under BIND).
+
+              _S_e_n_d_M_a_i_l
+
+                 This option is only available if you compiled _M_H to use 
_S_e_n_d_M_a_i_l as
+                 your delivery agent (i.e., "mts: sendmail").
+
+                 sendmail: /usr/lib/sendmail
+                      The pathname to the _s_e_n_d_m_a_i_l program.
+
+              _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -8-                       
MH-TAILOR(5)
+
+
+                 This option is only available if you compiled _M_H with  
POP  support
+                 enabled (i.e., "pop: on").
+
+                 pophost:
+                      The name of the default POP service host.  If this is 
not set,
+                      then _M_H looks in the standard maildrop areas for 
waiting mail,
+                      otherwise the named POP service host is consulted.
+
+              _B_B_o_a_r_d_s _D_e_l_i_v_e_r_y
+
+                 This  option  is  only  available   if   you   compiled   
_M_H   with
+                 "bbdelivery: on".
+
+                 bbdomain:
+                      The local BBoards domain (a UCI hack).
+
+              _B_B_o_a_r_d_s & _T_h_e _P_O_P
+
+                 These  options  are  only  available  if  you  compiled   
_M_H   with
+                 "bboards: pop" and "pop: on".
+
+                 popbbhost:
+                      The POP service host which also acts as a BBoard server. 
 This
+                      variable should be set on the POP BBoards client host.
+
+                 popbbuser:
+                      The guest account on the POP/BB service host.  This 
should  be
+                      a  different  login ID than either the POP user or the 
BBoards
+                      user.  (The user-id "ftp" is highly recommended.)  This  
vari-
+                      able  should be set on both the POP BBoards client and 
service
+                      hosts.
+
+                 popbblist: /usr/local/lib/mh/hosts.popbb
+                      A file containing of lists of hosts that are  allowed  
to  use
+                      the  POP  facility  to access BBoards using the guest 
account.
+                      If this file is not present, then  no  check  is  made.  
 This
+                      variable should be set on the POP BBoards service host.
+
+              _B_B_o_a_r_d_s & _T_h_e _N_N_T_P
+
+                 This  option  is  only  available   if   you   compiled   
_M_H   with
+                 "bboards: nntp" and "pop: on".
+
+                 nntphost:
+                      The host which  provides  the  NNTP  service.   This  
variable
+                      should be set on the NNTP BBoards client host.
+
+              _F_i_l_e _L_o_c_k_i_n_g
+
+                 A few words on locking: _M_H has a flexible locking system 
for making
+                 locks  on  files.   There are two mtstailor variables you 
should be
+                 aware of "lockstyle" and "lockldir".  The first controls the 
method
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-TAILOR(5)                      -9-                       
MH-TAILOR(5)
+
+
+                 of locking, the second says where lock files should be 
created.
+
+                 The "lockstyle" variable can take on three  values:  0,  1,  
2.   A
+                 value  of 0 is useful on systems with kernel-level locking.  
If you
+                 are on a BSD42 system, _M_H assumes you have the 
_f_l_o_c_k  system  call.
+                 On  other systems: define FLOCK if you want to use the 
_f_l_o_c_k system
+                 call; define LOCKF if you want to use the  _l_o_c_k_f  
system  call;  or
+                 define  FCNTL  if you want to use the _f_c_n_t_l system 
call for kernel-
+                 level locking.  If you haven't configured _M_H  to  use  
kernel-level
+                 locking,  a  locking  style  of 0 is considered the same as 
locking
+                 style 1.
+
+                 A value of 1 or 2 specifies that a file  should  be  created  
whose
+                 existence  means "locked" and whose non-existence means 
"unlocked".
+                 A value of 1 says to construct the lockname by appending 
".lock" to
+                 the  name of the file being locked.  A value of 2 says to 
construct
+                 the lockname by looking at the device and inode numbers of 
the file
+                 being  locked.   If  the "lockldir" variable is not 
specified, lock
+                 files will be created in the directory where the file being  
locked
+                 resides.   Otherwise,  lock  files will be created in the 
directory
+                 specified by "lockldir".  Prior to installing _M_H,  you  
should  see
+                 how locking is done at your site, and set the appropriate 
values.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 mh-gen(8), mh-mts(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 As listed above
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MTS(8)                         -10-                         
MH-MTS(8)
+
+
+            _N_A_M_E
+                 mh-mts - the MH interface to the message transport system
+
+            _S_Y_N_O_P_S_I_S
+                 SendMail
+
+                 Zmailer
+
+                 MMDF (any release)
+
+                 stand-alone
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_H can use a wide range of message  transport  systems  
to  deliver
+                 mail.   Although the _M_H administrator usually doesn't get 
to choose
+                 which MTS to use (since  it's  already  in  place),  this  
document
+                 briefly describes the interfaces.
+
+                 When communicating with _S_e_n_d_M_a_i_l, _M_H 
always uses the SMTP  to  post
+                 mail.   Depending  on the _M_H configuration, 
_S_e_n_d_M_a_i_l may be invoked
+                 directly (via a _f_o_r_k and an _e_x_e_c), or _M_H 
may open a TCP/IP  connec-
+                 tion to the SMTP server on the localhost.
+
+                 When communicating with _z_m_a_i_l_e_r, the 
_S_e_n_d_M_a_i_l compatibility program
+                 is  required  to  be  installed  in /usr/lib.  _M_H 
communicates with
+                 _z_m_a_i_l_e_r  by  using  the  SMTP.   It  does  this 
 by  invoking   the
+                 /usr/lib/sendmail  compatibility  program  directly, with the 
`-bs'
+                 option.
+
+                 When communicating with _M_M_D_F, normally _M_H uses 
the  "mm_"  routines
+                 to  post  mail.   However,  depending  on  the _M_H 
configuration, _M_H
+                 instead may open a TCP/IP connection to  the  SMTP  server  
on  the
+                 localhost.
+
+                 When using the stand-alone system (NOT  recommended),  _M_H 
 delivers
+                 local  mail  itself  and queues _U_U_C_P and network 
mail.  The network
+                 mail portion will probably have to be modified to reflect the 
local
+                 host's  tastes,  since there is no well-known practice in 
this area
+                 for all types of UNIX hosts.
+
+                 If you are running a UNIX system with TCP/IP networking, then 
it is
+                 felt  that  the best interface is achieved by using either 
_S_e_n_d_M_a_i_l
+                 or _M_M_D_F with the SMTP option.  This gives greater 
flexibility.   To
+                 enable this option you append the /smtp suffix to the mts 
option in
+                 the _M_H configuration.  This yields two primary  
advantages:  First,
+                 you  don't  have to know where _s_u_b_m_i_t or 
_S_e_n_d_M_a_i_l live.  This means
+                 that _M_H binaries (e.g., _p_o_s_t ) don't have to have 
this  information
+                 hard-coded,  or can run different programs altogether; and, 
second,
+                 you can post mail with the server  on  different  systems,  
so  you
+                 don't  need either _M_M_D_F or _S_e_n_d_M_a_i_l 
on your local host.  Big win in
+                 conserving cycles and disk space.  Since _M_H supports the 
notion  of
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MTS(8)                         -11-                         
MH-MTS(8)
+
+
+                 a server search-list in this respect, this approach can be 
tolerant
+                 of faults.  Be sure to set "servers:" as described in  
mh-tailor(8)
+                 if you use this option.
+
+                 There are four disadvantages to using the SMTP option: First, 
 only
+                 UNIX  systems  with TCP/IP are supported.  Second, you need 
to have
+                 an SMTP server running somewhere on any network your local 
host can
+                 reach.   Third, this bypasses any authentication mechanisms 
in _M_M_D_F
+                 or _S_e_n_d_M_a_i_l.  Fourth, the file  /etc/hosts  
is  used  for  hostname
+                 lookups  (although  there  is  an  exception file).  In 
response to
+                 these disadvantages though: First, there's got to be an SMTP 
server
+                 somewhere around if you're in the Internet or have a local 
network.
+                 Since the server search-list  is  very  general,  a  
wide-range  of
+                 options are possible.  Second, SMTP should be fixed to have 
authen-
+                 tication mechanisms in it, like POP.  Third, _M_H won't 
choke on mail
+                 to  hosts  whose  official  names  it can't verify, it'll 
just plug
+                 along (and besides if you enable the  BERK  or  DUMB  
configuration
+                 options, _M_H ignores the hosts file altogether).
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 _M_M_D_F-_I_I: _A _T_e_c_h_n_i_c_a_l 
_R_e_v_i_e_w, Proceedings, Usenix Summer '84 Confer-
+                 ence
+                 _S_E_N_D_M_A_I_L -- _A_n 
_I_n_t_e_r_n_e_t_w_o_r_k _M_a_i_l _R_o_u_t_e_r
+                 mh-tailor(8), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The /usr/local/lib/mh/mtstailor file ignores the information 
in the
+                 _M_M_D_F-_I_I tailoring file.  It should not.
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                                _3. _B_B_O_A_R_D_S
+
+
+
+
+
+                      The UCI BBoards facility has two aspects: message 
reading, and mes-
+                 sage  delivery.   The configuration directives applicable to 
BBoards are
+                 "bboards: on/off/pop/nntp" and "bbdelivery: on/off".
+
+
+                 _B_B_o_a_r_d _D_e_l_i_v_e_r_y
+
+                      If you enabled BBoards delivery ("bbdelivery:  on")  
during  confi-
+                 guration,  then  the initial environment for bboards delivery 
was set-up
+                 during installation.  A BBoard called "system" is 
established, which  is
+                 the BBoard for general discussion.
+
+                      To add more BBoards,  become  the  "bboards"  user,  and 
 edit  the
+                 /usr/spool/bboards/BBoards  file.  The file 
support/bboards/Example is a
+                 copy of the /usr/spool/bboards/BBoards file that we use  at  
UCI.   When
+                 you add a BBoard, you don't have to create the files 
associated with it,
+                 the BBoards delivery system will do that automatically.
+
+                      Private BBoards may be created.   To  add  the  
fictitious  private
+                 BBoard  "hacks",  add  the appropriate entry to the BBoards 
file, create
+                 the empty file /usr/spool/bboards/hacks.mbox (or whatever),  
change  the
+                 mode  of  this  file to 0640, and change the group of the 
file to be the
+                 groupid of the people that you want to be able to read it.  
Also be sure
+                 to add the "bboards" user to this group (in /etc/group), so 
the archives
+                 can be owned correctly.
+
+                      By using the special INVIS  flag  for  a  BBoard,  
special  purpose
+                 BBoards  may be set-up which are invisible to the _M_H 
user.  For example,
+                 if a site distributes a BBoard both locally to a number of 
machines  and
+                 to a number of distant machines.  It might be useful to have 
two distri-
+                 bution lists: one for all machines on the list, and the other 
for  local
+                 machines  only.  This is actually very simple to do.  For the 
main list,
+                 put the standard entry of information in the  
/usr/spool/bboards/BBoards
+                 file, with the complete distribution list.  For the local 
machines list,
+                 and add a similar entry to the /usr/spool/bboards/BBoards 
file.  All the
+                 fields should be the same except three: the BBoard name 
should reflect a
+                 local designation (e.g., "l-hacks"), the distribution list  
should  con-
+                 tain only machines at the local site, and the flags field 
should contain
+                 the INVIS flag.  Since the  two  entries  share  the  same  
primary  and
+                 archive  files,  messages  sent  to either list are read by 
local users,
+                 while only thoses messages sent to the main list are read by 
all users.
+
+                      Two automatic facilities for dealing with BBoards exist: 
 automatic
+                 archiving and automatic aliasing.  The file 
support/bboards/crontab con-
+                 tains some entries that you should add to your 
/usr/lib/crontab file  to
+                 run  the  specified  programs at times that are convenient 
for you.  The
+
+                                                   -12-
+
+
+
+
+
+
+
+
+
+                                                   -13-
+
+
+                 bboards.daily file is run once a day and generates an alias 
file for _M_H.
+                 By  using  this  file,  users of _M_H can use, for example, 
"unix-wizards"
+                 instead of "address@hidden" when they want to send  a  
message  to
+                 the  "unix-wizards"  discussion  group.   This is a major 
win, since you
+                 just have to know the name of the group,  not  the  address  
where  it's
+                 located.
+
+                      The bboards.weekly file is run once a week and handles 
old messages
+                 (those  received  more than 12 days ago) in the BBoards area. 
 In short,
+                 those BBoards which are marked for automatic archiving will  
have  their
+                 old  messages  placed  in  the /usr/spool/bboards/archive/ 
area, or have
+                 their old messages removed.  Not only does this make BBoards  
faster  to
+                 read,  but it conveniently partitions the new messages from 
the old mes-
+                 sages so you can easily put the old messages on  tape  and  
then  remove
+                 them.   It  turns out that this automatic archiving 
capability is also a
+                 major win.
+
+                      At UCI, our policy is to save archived messages on tape 
(every  two
+                 months  or so).  We use a program called _b_b_t_a_r to 
implement our particu-
+                 lar policy.  Since some BBoards are private (see  above),  we 
 save  the
+                 archives  on two tapes: one containing the world-readable 
archives (this
+                 tape is read-only accessible to all users by calling the 
operator),  and
+                 the  other  containing  the  non-world-readable  ones (this 
tape is kept
+                 locked-up somewhere).
+
+
+                 _B_B_o_a_r_d_s _w_i_t_h _t_h_e _P_O_P
+
+                      If you configured _M_H with "bboards: pop" and "pop: 
on", then the _M_H
+                 user is allowed to read BBoards on a server machine instead 
of the local
+                 host (thus saving disk space).  For completely transparent 
behavior, the
+                 administrator  may  set  certain  variables in the mtstailor 
file on the
+                 client host.  The variable "popbbhost" indicates the host 
where  BBoards
+                 are kept (it doesn't have to be the POP service host, but 
this host must
+                 run both a POP server and the BBoards system).  The variable 
"popbbuser"
+                 indicates  the  guest  account  on this host for BBoards.  
This username
+                 should not be either the POP user or  the  BBoards  user.   
Usually  the
+                 anonymous  FTP  user  (ftp)  is  the best choice.  Finally, 
the variable
+                 "popbblist" indicates the name of a file which contains a 
list of  hosts
+                 (one to a line, official host names only) which should be 
allowed to use
+                 the POP facility to access BBoards via the guest account.  
(If the  file
+                 is not present, then no check is made.)
+
+                      The "popbbuser" variable should be set on both the 
client and  ser-
+                 vice host.  The "popbbhost" variable need be set only on the 
client host
+                 (the  value,  of  course,  is  the  name  of  the  service  
host).   The
+                 "popbblist" variable need be set only on the service host.
+
+                      Finally, on the client host, if a POP service host  is  
not  expli-
+                 citly given by the user (i.e., "popbbhost" is implicitly 
used), then _b_b_c
+                 will explicitly check the local host prior  to  contacting  
the  service
+                 host.   This  allows  each  POP  client host to have a few 
local BBoards
+
+
+
+
+
+
+
+
+
+
+
+                                                   -14-
+
+
+                 (e.g., each host could have one called "system"), and then 
have the  POP
+                 service host used for all the rest (a site-wide BBoard might 
be known as
+                 "general").
+
+
+                 _B_B_o_a_r_d_s _w_i_t_h _t_h_e _N_N_T_P
+
+                      If you configured _M_H with "bboards: nntp" and "pop: 
on",  then  the
+                 _M_H  user  is  allowed to read the Network News on a 
server machine using
+                 the standard _b_b_c command.   For  completely  
transparent  behavior,  the
+                 administrator  may  set the "nntphost" variable in the 
mtstailor file to
+                 indicate the host where the Network News is kept.  The 
"nntphost"  vari-
+                 able  should be set only on the client host Finally, on the 
client host,
+                 if an NNTP service host is not  explicitly  given  by  the  
user  (i.e.,
+                 "nntphost" is implicitly used), then _b_b_c will 
explicitly check the local
+                 host prior to contacting the service host.  This allows each 
NNTP client
+                 host  to have a few local BBoards (e.g., each host could have 
one called
+                 "system"), and then have the NNTP service host used for to 
read the Net-
+                 work News.
+
+                      Reading  BBoards  via  the  POP  and  via  the  NNTP  
are  mutually
+            exclusive.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            BBOARDS(5)                        -15-                        
BBOARDS(5)
+
+
+            _N_A_M_E
+                 BBoards - BBoards database
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/spool/bboards/BBoards
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The BBoards database contains for each BBoard the following  
infor-
+                 mation:
+
+                 _f_i_e_l_d               _v_a_l_u_e
+                 name                the name of the BBoard
+                 aliases             local aliases for the BBoard
+                                     (separated by commas)
+                 primary file        the .mbox file
+                 encrypted password  leadership password
+                 leaders             local list maintainers (separated by 
commas)
+                                     usernames from the _p_a_s_s_w_d (5) 
file,
+                                     or groupnames preceded by `=' from the
+                                     _g_r_o_u_p (5) file
+                 network address     the list address
+                 request address     the list maintainer's address
+                 relay               the host acting as relay for the local 
domain
+                 distribution sites  (separated by commas)
+                 flags               special flags (see <bboards.h>)
+
+                 This is an ASCII file.  Each field within each  BBoard's  
entry  is
+                 separated from the next by a colon.  Each BBoard entry is 
separated
+                 from the next by a new-line.  If the password  field  is  
null,  no
+                 password  is  demanded;  if  it contains a single asterisk, 
then no
+                 password is valid.
+
+                 This file resides in the home directory  of  the  login  
"bboards".
+                 Because  of  the  encrypted passwords, it can and does have 
general
+                 read permission.
+
+            _F_i_l_e_s
+                 /usr/spool/bboards/BBoards          BBoards database
+
+
+            _S_e_e _A_l_s_o
+                 bbaka(8), bbexp(8), bboards (8), bbtar(8)
+
+
+            _B_u_g_s
+                 A binary indexed file format should be available for fast 
access.
+
+                 Appropriate precautions must be taken  to  lock  the  file  
against
+                 changes  if  it is to be edited with a text editor.  A 
_v_i_b_b program
+                 is needed.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(5)                        -16-                        
BBOARDS(5)
+
+
+            _N_A_M_E
+                 bbaka - generate an alias list for BBoards
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/spool/bboards/bbaka [system]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _b_b_a_k_a program reads the BBoards database and  
produces  on  its
+                 standard output a file suitable for inclusion in either the 
_M_M_D_F-_I_I
+                 aliases file (if the argument `system' is given).  If the  
argument
+                 is  not  given,  then  _b_b_a_k_a produces on its 
standard output a file
+                 suitable for becoming the /usr/local/lib/mh/BBoardsAliases 
file.
+
+            _F_i_l_e_s
+                 /usr/spool/bboards/BBoards          BBoards database
+                 /usr/local/lib/mh/BBoardsAliases    BBoards aliases file for 
_M_H
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 bboards(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBEXP(8)                          -17-                          
BBEXP(8)
+
+
+            _N_A_M_E
+                 bbexp - expunge the BBoards area
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/spool/bboards/bbexp 
[-_f_i_r_s_t-_m_e_t_r_i_c] [-_s_e_c_o_n_d-_m_e_t_r_i_c]
+                      [bboards ...]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _b_b_e_x_p program reads the  BBoards  database  and 
 calls  _m_s_h  to
+                 archive the named BBoards (or all BBoards if none are 
specified).
+
+                 The first-metric (which defaults to 12) gives the age  in  
days  of
+                 the  "BB-Posted:" field for messages which should be 
expunged.  The
+                 second-metric (which defaults to 20) gives the age in days  
of  the
+                 "Date:"  field  for messages which should be expunged.  Any 
message
+                 which meets either metric  will  be  either  archived  or  
removed,
+                 depending on what the _B_B_o_a_r_d_s (5) file says.
+
+            _F_i_l_e_s
+                 /usr/spool/bboards/BBoards          BBoards database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 msh(1), bboards(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(8)                        -18-                        
BBOARDS(8)
+
+
+            _N_A_M_E
+                 bboards - BBoards channel/mailer
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/mmdf/chans/bboards fd1 fd2 [y]
+
+                 /usr/local/lib/mh/sbboards bboard ...
+
+                 /usr/local/lib/mh/sbboards file maildrop directory 
bboards.bboard
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 For _M_M_D_F, the BBoards channel delivers mail to the 
BBoards  system.
+                 For  _S_e_n_d_M_a_i_l and stand-alone _M_H, the 
SBBoards mailer performs this
+                 task.
+
+                 For each address given, these programs consult the 
_b_b_o_a_r_d_s (5) file
+                 to  ascertain  information  about  the BBoard named by the 
address.
+                 The programs then perform local delivery,  if  appropriate.   
After
+                 that,  with the exception of _s_b_b_o_a_r_d_s running 
under stand-alone _M_H,
+                 the programs perform redistribution, if appropriate.
+
+                 For redistribution, the return address is set  to  be  the  
request
+                 address at the local host, so bad addresses down the line 
return to
+                 the nearest point of  authority.   If  any  failures  occur  
during
+                 redistribution,  a  mail  message  is  sent  to  the  local 
request
+                 address.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/spool/bboards/BBoards          BBoards database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 bboards(5), bbaka(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBTAR(8)                          -19-                          
BBTAR(8)
+
+
+            _N_A_M_E
+                 bbtar - generate the names of archive files to be put to tape
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/spool/bboards/bbtar [private] [public]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _b_b_t_a_r program reads the BBoards database and  
produces  on  its
+                 standard  output  the names of BBoards archives which should 
be put
+                 to tape, for direct use in a _t_a_r (1) command.
+
+                 If the argument `private' is given, only private BBoards  are 
 con-
+                 sidered.   If  the  argument `public' is given, only public 
BBoards
+                 are considered.  This lets  the  BBoards  administrator  
write  two
+                 tapes,  one  for  general read-access (the public BBoards), 
and one
+                 for restricted access.  The default is all BBoards
+
+                 For example:
+
+                      cd archive              # change to the archive directory
+                      tar cv `bbtar private`  # save all private BBoard 
archives
+
+                 After the archives have  been  saved  to  tape,  they  are  
usually
+                 removed.  The archives are then filled again, usually 
automatically
+                 by cron jobs which run _b_b_e_x_p (8).
+
+            _F_i_l_e_s
+                 /usr/spool/bboards/BBoards          BBoards database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 bboards(5), bbexp(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  _4. _P_O_P
+
+
+
+
+
+                      For POP (Post Office Protocol) client hosts, you need to 
 edit  the
+                 /usr/local/lib/mh/mtstailor  file to know about two hosts: 
the SMTP ser-
+                 vice host and the POP service  host.   Normally,  these  are  
the  same.
+                 Change  the "localname" field of the mtstailor file of _M_H 
in the file to
+                 be the name of the POP service host.  This makes replies  to  
mail  gen-
+                 erated  on  the POP client host possible, since _M_H will 
consider use the
+                 hostname of the POP service host as  the  local  hostname  
for  outgoing
+                 mail.   Also  set  the value of "pophost" to this value.  
This tells _i_n_c
+                 and _m_s_g_c_h_k to use POP instead of looking  for  
mail  locally.   Finally,
+                 make  sure  the value of "servers" includes the name of the 
SMTP service
+                 host.  The recommended value for "servers" is:
+
+                      servers: SMTP-service-host localhost \01localnet
+
+                      If you want more information on the Post Office  
Protocol  used  by
+                 _M_H,      consult      the      files     
support/pop/rfc1081.txt     and
+                 support/pop/rfc1082.txt which describe the _M_H version of 
the POP: POP3.
+
+                      For POP service hosts, you need to run  a  daemon,  
_p_o_p_d (8).   The
+                 daemon should start at multi-user boot time, so adding the 
lines:
+
+                      if [ -f /etc/popd ]; then
+                          /etc/popd & echo -n ' pop'                  
>/dev/console
+                      fi
+
+                 to the /etc/rc.local file is sufficient.
+
+                      The port assigned to the POP3 protocol is  "110".   For  
historical
+                 reasons,  many  sites are using port "109" which is the port 
assigned to
+                 the "POP" (version 1 and 2) protocol.  The configuration 
option "POPSER-
+                 VICE"  is  the  name of the port number that _M_H POP will 
try to use, and
+                 defaults to the name "pop".
+
+                      To generate _M_H to use newer assigned port number, in 
your _M_H config
+                 file, add:
+
+                      options POPSERVICE='"pop3"'
+
+                 And on both the POP client and service hosts, you  need  to  
define  the
+                 port that the POP service uses.  Add the line:
+
+                      pop3            110/tcp
+
+                 to the /etc/services file (if it's not already there).
+
+
+
+                                                   -20-
+
+
+
+
+
+
+
+
+
+                                                   -21-
+
+
+                      There are two ways to administer POP: In "naive" mode, 
each user-id
+                 in  the  _p_a_s_s_w_d (5) file is considered a POP 
subscriber.  No changes are
+                 required for the mailsystem on the  POP  service  host.   
However,  this
+                 method  requires  that each POP subscriber have an entry in 
the password
+                 file.  The POP server will fetch the user's mail from 
wherever maildrops
+                 are kept on the POP service host.  This means that if 
maildrops are kept
+                 in the user's home directory, then each POP subscriber must 
have a  home
+                 directory.
+
+                      In "smart" mode (enabled via "DPOP" being given as a  
configuration
+                 option),  the  list  of  POP subscribers and the list of 
login users are
+                 completely separate name spaces.  A separate database (simple 
file simi-
+                 lar  to  the  _B_B_o_a_r_d_s (5) file) is used to 
record information about each
+                 POP subscriber.  Unfortunately, the local mailsystem must be 
changed  to
+                 reflect  this.   This  requires  two changes (both of which 
are simple):
+                 First, the aliasing  mechanism  is  augmented  so  that  POP  
subscriber
+                 addresses are diverted to a special delivery mechanism.  
_M_H comes with a
+                 program, _p_o_p_a_k_a (8), which generates the 
additional  information  to  be
+                 put  in the mailsystem's alias file.  Second, a special POP 
channel (for
+                 MMDF-II) or POP mailer (for SendMail) performs the actual 
delivery (_m_h._6
+                 supplies  both).   All  it really does is just place the mail 
in the POP
+                 spool area.
+
+                      These two different philosophies are not compatible on 
the same POP
+                 service  host:  one or the other, but not both may be run.  
Clever mail-
+                 system people will note that the POP mechanism is really a 
special  case
+                 of the more general BBoards mechanism.
+
+                      In addition,  there  is  one  user-visible  difference,  
which  the
+                 administrator  controls  the availability of.  The difference 
is whether
+                 the POP subscriber must supply a password to the POP server:  
The  first
+                 method  uses  the  standard  ARPA  technique of sending a 
username and a
+                 password.  The appropriate programs (_i_n_c,  
_m_s_g_c_h_k,  and  possibly  _b_b_c )
+                 will prompt the user for this information.
+
+                      The second method (which is enabled via "RPOP"  being  
given  as  a
+                 configuration  option)  uses  the Berkeley UNIX reserved port 
method for
+                 authentication.  This requires that the two  or  three  
mentioned  above
+                 programs  be  _s_e_t_u_i_d to root.  (There are no 
known holes in any of these
+                 programs.)
+
+                      To add a POP subscriber, for the first method, one  
simply  follows
+                 the  usual procedures for adding a new user, which eventually 
results in
+                 adding a line to the _p_a_s_s_w_d (5) file; for the 
second  method,  one  must
+                 edit the POP database file (kept in the home directory of the 
POP user),
+                 and then run the _p_o_p_a_k_a program.  The output of 
this program  is  placed
+                 in the aliases file for the transport system (e.g., 
/usr/lib/aliases for
+                 SendMail).
+
+                      Authentication for POP subscribers differs  depending  
on  the  two
+                 methods.   When  the user supplies a password for the POP 
session: under
+                 the first method, the contents of the  password  field  for  
the  user's
+
+
+
+
+
+
+
+
+
+
+
+                                                   -22-
+
+
+                 entry  in the _p_a_s_s_w_d (5) is consulted; under the 
second method, the con-
+                 tents of the password field for the subscriber's entry  in  
the  _p_o_p (5)
+                 file is consulted.  (To set this field, the 
_p_o_p_w_r_d (8) program is used.)
+
+                      If you are allowing  RPOP,  under  the  first  method,  
the  user's
+                 ._r_h_o_s_t_s  file is consulted; under the second 
method, the contents of the
+                 network address field for the subscriber's entry in the 
_p_o_p (5) file  is
+                 consulted.
+
+                      In addition, a third authentication scheme is available. 
 When  the
+                 APOP configuration option is given, e.g.,
+
+                      options APOP='"/etc/pop.auth"'
+
+                 In this case, the server also allows a client to  supply  
authentication
+                 credentials  to  provide for origin authentication and reply 
protection,
+                 but which do not involve sending a password in the clear over 
 the  net-
+                 work.  A POP authorization DB, having as its name the value 
of APOP con-
+                 figuration option, is used to keep track of this information. 
 This file
+                 is  created  and  manipulated  by the _p_o_p_a_u_t_h 
(8) program.  Because this
+                 file contains secret information, it must be  protected  mode 
 0600  and
+                 owned  by  the  super-user.  Hence, your first step after 
installing the
+                 software is to issue
+
+                      # popauth -init
+
+            which creates and initalizes the POP authorization DB.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            POP(5)                            -23-                            
POP(5)
+
+
+            _N_A_M_E
+                 POP - POP database of subscribers
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/spool/pop/POP
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The POP database has exactly the same  format  as  the  
_B_B_o_a_r_d_s (5)
+                 database,  although  many  fields are unused.  Currently, 
only four
+                 fields are examined:
+
+                 _f_i_e_l_d               _v_a_l_u_e
+                 name                the POP subscriber
+                 primary file        the maildrop for the POP subscriber
+                                     (relative to the POP directory)
+                 encrypted password  the POP subscriber's password
+                 network address     the remote user allowed to RPOP
+
+                 This is an ASCII file.  Each field  within  each  POP  
subscriber's
+                 entry  is  separated from the next by a colon.  Each POP 
subscriber
+                 is separated from the next by a new-line.  If the password 
field is
+                 null, then no password is valid.
+
+                 To add a new POP subscriber, edit the file adding a line such 
as
+
+                      mrose::mrose:::::::0
+
+                 Then, use _p_o_p_w_r_d to set the password for the  POP 
 subscriber.   If
+                 you wish to allow POP subscribers to access their maildrops 
without
+                 supplying a password (by using privileged ports), fill-in the 
 net-
+                 work address field, as in:
+
+                      mrose::mrose:::address@hidden::::0
+
+                 which permits "address@hidden" to access the maildrop for  
the  POP
+                 subscriber "mrose".  Multiple network addresses may be 
specified by
+                 separating them with commas, as in:
+
+                      
dave::dave:9X5/m4yWHvhCc::address@hidden,address@hidden::::
+
+                 To  disable  a  POP subscriber from 
_r_e_c_e_i_v_i_n_g mail, set the primary
+                 file name to the empty string.  To prevent a  POP  subscriber 
 from
+                 _p_i_c_k_i_n_g-_u_p mail, set the encrypted password 
to "*" and set the net-
+                 work address to the empty string.
+
+                 This file resides in home directory of the login "pop".  
Because of
+                 the  encrypted passwords, it can and does have general read 
permis-
+                 sion.
+
+            _F_i_l_e_s
+                 /usr/spool/pop/POP                  POP database
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POP(5)                            -24-                            
POP(5)
+
+
+            _S_e_e _A_l_s_o
+                 bboards(5), pop(8), popaka(8), popd(8), popwrd(8)
+
+
+            _B_u_g_s
+                 A binary indexed file format should be available for fast 
access.
+
+                 Appropriate precautions must be taken  to  lock  the  file  
against
+                 changes  if it is to be edited with a text editor.  A 
_v_i_p_o_p program
+                 is needed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POP(8)                            -25-                            
POP(8)
+
+
+            _N_A_M_E
+                 pop - POP channel/mailer
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/mmdf/chans/pop fd1 fd2 [y]
+
+                 /usr/local/lib/mh/spop POP-subscriber ...
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 For _M_M_D_F-_I_I, the POP channel delivers mail to the 
 POP  spool  area
+                 for  later  retrieval  by  POP subscribers.  For 
_S_e_n_d_M_a_i_l, the SPOP
+                 mailer performs this task.
+
+                 For each address given, these programs consult the _p_o_p 
(5) file  to
+                 obtain  information  about the POP-subscriber named by the 
address.
+                 The programs then deliver the message to the  spool  area  
for  the
+                 POP-subscriber.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/spool/pop/POP                  POP database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 bboards(5), bbaka(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POPAKA(8)                         -26-                         
POPAKA(8)
+
+
+            _N_A_M_E
+                 popaka - generate POP entries for SendMail or MMDF-II alias 
file
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/popaka
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _p_o_p_a_k_a program reads the POP database and 
produces on its stan-
+                 dard  output  a  file  suitable  for  inclusion  in the 
SendMail or
+                 _M_M_D_F-_I_I aliases file.  The contents of this file  
divert  mail  for
+                 POP subscribers to the POP channel.
+
+            _F_i_l_e_s
+                 /usr/spool/pop/POP                  POP database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 pop(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POPAUTH(8)                        -27-                        
POPAUTH(8)
+
+
+            _N_A_M_E
+                 popauth - manipulate POP authorization DB
+
+            _S_Y_N_O_P_S_I_S
+                 popauth [-init] [-list] [-user name] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _p_o_p_a_u_t_h program allows a POP-subscriber to  
change  the  secret
+                 value  used to generate their authentication credentials.  In 
addi-
+                 tion, the super-user or master POP user may  use  this  
program  to
+                 either  initialize the database or to print public 
information from
+                 it.  _p_o_p_a_u_t_h is useful only when the APOP 
configuration  option  is
+                 defined.   (This  configuration  option defines the name of 
the POP
+                 authorization DB.)
+
+                 Under normal usage, _p_o_p_a_u_t_h prompts for a new 
secret, just like the
+                 _p_a_s_s_w_d  program.   It then updates the POP 
authorization DB accord-
+                 ingly.
+
+                 With the `-init' switch, the super-user  or  master  POP  
user  can
+                 create a new (or zero the existing) POP authorization DB.
+
+                 With the `-list' switch, the super-user  or  master  POP  
user  can
+                 print  out  public  information  about the named subscriber 
(or all
+                 subscribers).
+
+            _F_i_l_e_s
+                 /etc/pop.auth.*                     POP authorization DB
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 popd(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POPD(8)                           -28-                           
POPD(8)
+
+
+            _N_A_M_E
+                 popd - the POP server
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/etc/popd [-p portno] (under /etc/rc.local)
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _p_o_p_d server implements the Post Office Protocol 
(version 3), as
+                 described in RFC1081 and RFC1082.  Basically, the server 
listens on
+                 the TCP port named "pop" for connections and enters  the  POP 
 upon
+                 establishing  a  connection.  The `-p' option overrides the 
default
+                 TCP port.  If the POP2 configuration option is  defined,  
then  the
+                 server also implements version 2 of the protocol.  If the 
APOP con-
+                 figuration option is defined,  then  the  server  supports  a 
 non-
+                 standard  mechanism for identity-establishment in which 
authentica-
+                 tion credentials are used to provide for origin 
authentication  and
+                 reply  protection,  but  which do not involve sending a 
password in
+                 the clear over the network.  See _p_o_p_a_u_t_h(8) for 
more details.
+
+            _F_i_l_e_s
+                 /usr/spool/pop/POP                  POP database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+                 _P_o_s_t _O_f_f_i_c_e  _P_r_o_t_o_c_o_l  -  
_v_e_r_s_i_o_n  _3:  _E_x_t_e_n_d_e_d  _s_e_r_v_i_c_e  
_o_f_f_e_r_i_n_g_s
+                 (RFC-1082),
+                 pop(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POPD(8)                           -29-                           
POPD(8)
+
+
+            _H_i_s_t_o_r_y
+                 For historical reasons, the _M_H POP defaults to using the 
port named
+                 "pop"  (109) instead of its newly assigned port named "pop3" 
(110).
+                 See the POPSERVICE configuration option for more details.
+
+                 Previous versions of the server (10/28/84) had the 
restriction that
+                 the  POP  client  may retrieve messages for login users only. 
 This
+                 restriction has been lifted, and  true  POB  support  is  
available
+                 (sending  mail  to a mailbox on the POP service host which 
does not
+                 map to a user-id in the password file).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POPWRD(8)                         -30-                         
POPWRD(8)
+
+
+            _N_A_M_E
+                 popwrd - set password for a POP subscriber
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/popwrd POP-subscriber
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _p_o_p_w_r_d program lets the super-user or the 
master POP user or  a
+                 "leader"  of a POP subscriber change the password field for 
the POP
+                 subscriber in the POP database.  This program is  very  
similar  to
+                 the _p_a_s_s_w_d (1) program.
+
+                 Since only the super-user and the master POP user  may  
change  any
+                 other  fields of the POP database (using an ordinary editor), 
it is
+                 possible for the system administrator to delegate 
responsibility to
+                 others to manage groups of POP subscribers.
+
+            _F_i_l_e_s
+                 /usr/spool/pop/POP                  POP database
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 pop(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 Although _p_o_p_w_r_d does locking against other 
invocations  of  _p_o_p_w_r_d,
+                 editor  locking for the POP database in general is not 
implemented.
+                 A _v_i_p_o_p program is needed.
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                            _5. _M_A_I_L 
_F_I_L_T_E_R_I_N_G
+
+
+
+
+
+                      There was a time when users on a UNIX host might have 
had two mail-
+                 drops:  one  from  _M_M_D_F  and the other from 
_U_U_C_P.  This was really a bad
+                 problem since it prevented using a single user-interface on 
all of  your
+                 mail.  Furthermore, if you wanted to send a message to 
addresses on dif-
+                 ferent mailsystems, you couldn't send just one message.   To  
solve  all
+                 these  problems, the notion of _m_a_i_l 
_f_i_l_t_e_r_i_n_g was developed that allowed
+                 sophisticated munging and relaying between the two 
pseudo-domains.
+
+                      _M_H will perform mail filtering, transparently, if 
given the MF con-
+                 figuration  option.   However,  with  the advent of 
_S_e_n_d_M_a_i_l and further
+                 maturation of _M_M_D_F, _M_H doesn't really need to  do 
 this  anymore,  since
+                 these message transport agents handle it.
+
+                      The mail-filtering stuff is too complicated.  It should 
be simpler,
+            but, protocol translation really _i_s difficult.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                              -31-
+
+
+
+
+
+
+
+
+
+            MF(1)                             -32-                             
MF(1)
+
+
+            _N_A_M_E
+                 muinc, musift, uminc, umsift - mail filters
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/muinc
+
+                 /usr/local/lib/mh/musift [files ...]
+
+                 /usr/local/lib/mh/uminc
+
+                 /usr/local/lib/mh/umsift [files ...]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The mail filters are a set of programs that filter  mail  
from  one
+                 format  to another.  In particular, _U_U_C_P- and 
_M_M_D_F-style mail files
+                 are handled.
+
+                 _m_u_i_n_c filters mail from the user's _M_M_D_F 
maildrop  into  the  user's
+                 _U_U_C_P  maildrop;  similarly, _u_m_i_n_c filters 
mail from the user's _U_U_C_P
+                 maildrop into the user's _M_M_D_F maildrop.  These two 
programs respect
+                 each system's maildrop locking protocols.
+
+                 _m_u_s_i_f_t filters each file on the command line (or 
the standard input
+                 if  no  arguments are given), and places the result on the 
standard
+                 output in _U_U_C_P format.  The files (or standard input) 
are  expected
+                 to  be  in  _M_M_D_F format.  _u_m_s_i_f_t does the 
same thing filtering _U_U_C_P
+                 formatted files (or input), and places the _M_M_D_F 
formatted result on
+                 the  standard  output.  No locking protocols are used by 
these pro-
+                 grams.
+
+                 If the files aren't in the expected format, the mail  filters 
 will
+                 try to recover.  In really bad cases, you may lose big.
+
+            _F_i_l_e_s
+                 /usr/spool/mail/                    UUCP spool area for 
maildrops
+                 /usr/spool/mail/$USER               Location of standard 
maildrop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _H_e_a_d_e_r _M_u_n_g_i_n_g (aka RFC-886),
+                 inc(1)
+
+
+            _D_e_f_a_u_l_t_s
+
+
+            _C_o_n_t_e_x_t
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MF(1)                             -33-                             
MF(1)
+
+
+            _B_u_g_s
+                 Numerous; protocol translation is very difficult.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMAIL(8)                          -34-                          
RMAIL(8)
+
+
+            _N_A_M_E
+                 rmail - UUCP interface to mail
+
+            _S_Y_N_O_P_S_I_S
+                 rmail address ...
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_m_a_i_l is intended as a replacement for those 
systems without  _S_e_n_d_-
+                 _M_a_i_l  or  _M_M_D_F.   It  is  normally  invoked 
by _u_u_x on behalf of the
+                 remote _U_U_C_P site.  For each address, it decides where 
to  send  it:
+                 either locally, via another _U_U_C_P link, or via the 
Internet.
+
+                 _R_m_a_i_l implements a crude access control facility by 
consulting  the
+                 files  Rmail.OkHosts  and  Rmail.OkDests  in the 
/usr/local/lib/mh/
+                 directory.  Hosts listed in the former file can  send  
messages  to
+                 anywhere  they please.  Hosts listed in the latter file can 
receive
+                 messages from anywhere.  Note that a host listed in the first 
 file
+                 is implicitly listed in the second file.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/local/lib/mh/Rmail.OkHosts     list of privileged hosts
+                 /usr/local/lib/mh/Rmail.OkDests     list of privileged 
destinations
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 mf(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                              _6. _M_H _H_A_C_K_I_N_G
+
+
+
+
+
+                      Finally, here's a little information on modifying the  
_M_H  sources.
+                 A word of advice however:
+
+
+                                                  _D_O_N'_T
+
+
+
+                 If you really want new _M_H capabilities, write a  shell  
script  instead.
+                 After all, that's what UNIX is all about, isn't it?
+
+                      Here's the organization of the _M_H source tree.
+
+                      conf/        configurator tree
+                      config/      compiled configuration constants
+                      dist/        distributor
+                      doc/         manual entries
+                      h/           include files
+                      miscellany/  various sundries
+                      mts/         MTS-specific areas
+                                   mh/        standalone delivery
+                                   mmdf/      MMDF-I, MMDF-II
+                                   sendmail/  SendMail, SMTP
+                      papers/      papers about _M_H
+                      sbr/         subroutines
+                      support/     support programs and files
+                                   bboards/   UCI BBoards facility
+                                   general/   templates
+                                   pop/       POP facility
+                      tma/         Trusted Mail Agent (not present in all 
distributions)
+                      uip/         programs
+                      zotnet/      MTS-independent areas
+                                   bboards/   UCI BBoards facility
+                                   mf/        Mail Filtering
+                                   mts/       MTS constants
+                                   tws/       date routines
+
+
+
+
+
+
+
+
+
+
+
+                                              -35-
+
+
+
+
+
+
+
+
+
+            MH-HACK(8)                        -36-                        
MH-HACK(8)
+
+
+            _N_A_M_E
+                 mh-hack - how to hack MH
+
+            _S_Y_N_O_P_S_I_S
+                 big hack attack
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 This is a description of how one can modify the _M_H 
system.  The  _M_H
+                 distribution has a lot of complex inter-relations, so before 
you go
+                 modifying any code, you should read this  and  understand  
what  is
+                 going on.
+
+                 ADDING A NEW PROGRAM
+                      Suppose you want to create a new _M_H command  called  
"pickle".
+                      First, create and edit "pickle.c" in the uip/ directory. 
 Next
+                      edit conf/makefiles/uip to include "pickle".   This  
file  has
+                      directions  at  the  end  of it which explain how it 
should be
+                      modified.  Next, update any documentation  (described  
below).
+                      At  this  point  you  can  re-configure _M_H.  See 
_m_h-_g_e_n(_8) for
+                      instructions on how to do this (basically, you want  
"mhconfig
+                      MH").
+
+                 ADDING A NEW SUBROUTINE
+                      Suppose you want to create a new _M_H routine  called  
"pickle".
+                      First, create and edit "pickle.c" in the sbr/ directory. 
 Next
+                      edit conf/makefiles/sbr to include "pickle".   This  
file  has
+                      directions  at  the  end  of it which explain how it 
should be
+                      modified.  You should modify  config/mh.h  to  define  
"pickle
+                      ();".   Similarly,  sbr/llib-lsbr should be modified for 
_l_i_n_t.
+                      At this point you can re-configure _M_H.
+
+                 UPDATING DOCUMENTATION
+                      Edit whatever files you want in conf/doc/.  When 
documenting a
+                      new program, such as "pickle", you should create a 
manual page
+                      with the name "pickle.rf".  The file conf/doc/template  
has  a
+                      manual page template that you can use.  If you are 
documenting
+                      a new program, then you should also update three other  
files:
+                      The  file  conf/doc/mh.rf  should  be  modified to 
include the
+                      ".NA" section from "pickle.rf".  The file 
conf/doc/mh-chart.rf
+                      should   be   modified  to  include  the  ".SY"  section 
 from
+                      "pickle.rf".  Finally, the file conf/doc/MH.rf should be 
modi-
+                      fied  to  include a ".so pickle.me".  Naturally, none of 
these
+                      changes will be reflected in the configuration until you 
actu-
+                      ally run _m_h_c_o_n_f_i_g.
+
+            _F_i_l_e_s
+                 Too numerous to mention.  Honest.
+
+
+            _S_e_e _A_l_s_o
+                 mh-gen(8)
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-HACK(8)                        -37-                        
MH-HACK(8)
+
+
+            _B_u_g_s
+                 Hacking is an art, but most programmers are butchers, not 
artists.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                            _7. _H_I_D_D_E_N 
_F_E_A_T_U_R_E_S
+
+
+
+
+
+                      The capabilities discussed here should not be used on a  
production
+                 basis,  as they are either experimental, are useful for 
debugging _M_H, or
+                 are otherwise not recommended.
+
+
+
+                 _D_e_b_u_g _F_a_c_i_l_i_t_i_e_s
+
+                      The _m_a_r_k command has a `-debug' switch which 
essentially prints out
+                 all the internal _M_H data structures for the folder you're 
looking at.
+
+                      The _p_o_s_t command has a `-debug' switch which  
does  everything  but
+                 actually  post  the  message  for you.  Instead of posting 
the draft, it
+                 sends it to the standard output.  Similarly, _s_e_n_d has 
a `-debug'  switch
+                 which gets passed to _p_o_s_t.
+
+                      Some _M_H commands look at envariables to determine 
debug-mode opera-
+                 tion of certain new facilities.  The current list of 
envariables is:
+
+                      MHFDEBUG     OVERHEAD facility
+                      MHLDEBUG     mhl
+                      MHPDEBUG     pick
+                      MHPOPDEBUG   POP transactions
+                      MHVDEBUG     window management transactions
+                      MHWDEBUG     alternate-mailboxes
+
+
+
+                 _F_o_r_w_a_r_d_i_n_g _M_a_i_l
+
+                      The _f_o_r_w and _m_h_l commands have  two  
switches,  `-dashmunging'  and
+                 `-nodashmunging'  which enable or disable the prepending of 
`- ' in for-
+                 warded messages.  To use `-nodashmunging', you must use  an  
_m_h_l  filter
+                 file.
+
+
+
+                 _S_e_n_d
+
+                      The _s_e_n_d command has two switches, `-unique' and 
`-nounique', which
+                 are  useful  to certain individuals who, for obscure reasons, 
do not use
+                 draft-folders.
+
+                      "Distribution Carbon Copy" addresses may be specified in 
 the  _D_c_c:
+                 header.  This header is removed before posting the 
message,and a copy of
+                 the message is distributed  to  each  listed  address.   This 
 could  be
+
+                                                   -38-
+
+
+
+
+
+
+
+
+
+                                                   -39-
+
+
+                 considered a form of Blind Carbon Copy which is best used for 
sending to
+                 an address which would never reply (such as an auto-archiver).
+
+
+
+                 _P_o_s_t_i_n_g _M_a_i_l
+
+                      If you're running a version of _M_H which talks 
directly to  an  _S_M_T_P
+                 server  (or  perhaps an advanced _M_M_D_F submit 
process), there are lots of
+                 interesting switches for your amusement which _s_e_n_d 
and _p_o_s_t understand:
+                      -mail         Use the _M_A_I_L command (default)
+                      -saml         Use the _S_A_M_L command
+                      -send         Use the _S_E_N_D command
+                      -soml         Use the _S_O_M_L command
+                      -snoop        Watch the _S_M_T_P transaction
+                      -client host  Claim to be "host" when posting mail
+                      -server host  Post mail with "host"
+
+                      The last switch is to be useful when _M_H resides on  
small  worksta-
+                 tions  (or  PC:s) in a network--they can post their outgoing 
mail with a
+                 local relay, and reduce the load on the local  system.   On  
POP  client
+                 hosts,  the  `-server host'  switch is defaulted 
appropriately using the
+                 SMTP search-list mechanism.  The _w_h_o_m command 
understands the last three
+                 switches.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         _8. 
_C_O_N_F_I_G_U_R_A_T_I_O_N _O_P_T_I_O_N_S
+
+
+
+
+
+                      This manual was generated with the following 
configuration  options
+                 in effect:
+
+
+                 
________________________________________________________________________
+
+                             Generation Date             November 30, 1993
+                             Primary Directory           /usr/local/
+                             Secondary Directory         /usr/local/lib/mh/
+                             Maildrop Location           /usr/spool/mail/$USER
+                             Transport System            SendMail
+                 
________________________________________________________________________
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -40-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _C_O_N_T_E_N_T_S
+
+
+
+
+                 Section
+
+                    1.  INTRODUCTION 
...............................................    1
+                      Scope of this document 
.......................................    1
+                      Summary 
......................................................    1
+
+                    2.  THE MTS INTERFACE 
..........................................    3
+                         MH-TAILOR 
.................................................    4
+                         MH-MTS 
....................................................   10
+
+                    3.  BBOARDS 
....................................................   12
+                      BBoard Delivery 
..............................................   12
+                      BBoards with the POP 
.........................................   13
+                      BBoards with the NNTP 
........................................   14
+                         BBOARDS 
...................................................   15
+                         BBAKA 
.....................................................   16
+                         BBEXP 
.....................................................   17
+                         BBOARDS 
...................................................   18
+                         BBTAR 
.....................................................   19
+
+                    4.  POP 
........................................................   20
+                         POP 
.......................................................   23
+                         POP 
.......................................................   25
+                         POPAKA 
....................................................   26
+                         POPAUTH 
...................................................   27
+                         POPD 
......................................................   28
+                         POPWRD 
....................................................   30
+
+                    5.  MAIL FILTERING 
.............................................   31
+                         MF 
........................................................   32
+                         RMAIL 
.....................................................   34
+
+                    6.  MH HACKING 
.................................................   35
+                         MH-HACK 
...................................................   36
+
+                    7.  HIDDEN FEATURES 
............................................   38
+                      Debug Facilities 
.............................................   38
+                      Forwarding Mail 
..............................................   38
+                      Send 
.........................................................   38
+                      Posting Mail 
.................................................   39
+
+                    8.  CONFIGURATION OPTIONS 
......................................   40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         THE RAND MH
+
+
+                                      MESSAGE HANDLING
+
+
+                                           SYSTEM:
+
+
+                                    ADMINISTRATOR'S GUIDE
+
+
+
+
+
+
+                                         UCI Version
+
+
+
+
+
+                                      Marshall T. Rose
+
+
+
+
+                                       _F_i_r_s_t _E_d_i_t_i_o_n:
+
+                                         _M_H _C_l_a_s_s_i_c
+
+                      (_N_o_t _t_o _b_e _c_o_n_f_u_s_e_d 
_w_i_t_h _a _w_e_l_l-_k_n_o_w_n _s_o_f_t _d_r_i_n_k)
+
+
+
+
+
+
+
+                                      November 30, 1993
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                        6.8.3 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/historical/MH-19910201.txt b/docs/historical/MH-19910201.txt
new file mode 100644
index 0000000..28701cb
--- /dev/null
+++ b/docs/historical/MH-19910201.txt
@@ -0,0 +1,11145 @@
+
+
+
+
+
+
+
+
+                                  _d_i_s_c_a_r_d _t_h_i_s 
_p_a_g_e
+
+
+
+
+                                     The RAND _M_H
+                               Message Handling System:
+                                    User's Manual
+
+                                     UCI Version
+
+
+                                   February 1, 1991
+                                    6.7.1a #6[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+99
+
+
+
+
+
+
+
+
+
+
+
+
+                                   _1. _I_N_T_R_O_D_U_C_T_I_O_N
+
+
+
+9
+            Although people can travel cross-country in  hours  and  can  reach
+       others by telephone in seconds, communications still depend heavily upon
+       paper, most of which is distributed through the mails.
+
+            There are several major reasons for this  continued  dependence  on
+       written  documents.   First,  a  written  document  may be proofread and
+       corrected prior to its distribution, giving the author complete  control
+       over  his  words.   Thus,  a written document is better than a telephone
+       conversation in this respect.  Second, a carefully written  document  is
+       far  less  likely to be misinterpreted or poorly translated than a phone
+       conversation.  Third, a  signature  offers  reasonable  verification  of
+       authorship, which cannot be provided with media such as telegrams.
+
+            However, the need for fast____,  accurate,  and  reproducible  
document
+       distribution is obvious.  One solution in widespread use is the telefax.
+       Another that is rapidly gaining popularity is  electronic  mail.   Elec-
+       tronic  mail is similar to telefax in that the data to be sent are digi-
+       tized, transmitted via phone lines, and turned back into a  document  at
+       the  receiver.   The  advantage of electronic mail is in its compression
+       factor.  Whereas a telefax must scan a page in very fine lines and  send
+       all  of the black and white information, electronic mail assigns charac-
+       ters fixed codes which can be transmitted as a few bits of  information.
+       Telefax  presently  has the advantage of being able to transmit an arbi-
+       trary page, including pictures, but electronic mail is beginning to deal
+       with  this  problem.   Electronic mail also integrates well with current
+       directions  in  office  automation,  allowing  documents  prepared  with
+       sophisticated  equipment  at  one  site  to  be  quickly transferred and
+       printed at another site.
+
+            Currently, most electronic mail is intraorganizational,  with  mail
+       transfer  remaining within one computer.  As computer networking becomes
+       more common, however, it is becoming more feasible to  communicate  with
+       anyone whose computer can be linked to your own via a network.
+
+            The pioneering efforts on general-purpose electronic mail  were  by
+       organizations using the DoD ARPAnet[1].  The capability to send messages
+       between computers existed before the ARPAnet was developed, but  it  was
+       used  only in limited ways.  With the advent of the ARPAnet, tools began
+       to be developed which made it convenient for  individuals  or  organiza-
+       tions  to distribute messages over broad geographic areas, using diverse
+       computer facilities.  The interest and activity in message  systems  has
+       now  reached  such proportions that steps have been taken within the DoD
+       to coordinate and unify the development  of  military  message  systems.
+       The  use  of electronic mail is expected to increase dramatically in the
+       next few years.  The utility of such systems in the command and  control
+       and  intelligence environments is clear, and applications in these areas
+
+9
+
+
+
+
+
+
+
+
+
+                                         -2-
+
+
+       will probably lead the way.  As the costs for sending and handling elec-
+       tronic messages continue their rapid decrease, such uses can be expected
+       to spread rapidly into other areas and, of course, will not  be  limited
+       to the DoD.
+
+            A message system provides tools that  help  users  (individuals  or
+       organizations)  deal  with  messages  in various ways.  Messages must be
+       composed, sent, received, stored, retrieved, forwarded, and replied  to.
+       Today's  best  interactive  computer  systems provide a variety of word-
+       processing and information handling capabilities.  The message  handling
+       facilities  should be well integrated with the rest of the system, so as
+       to be a graceful extension of overall system capability.
+
+            The message system described in this report, _M_H, provides  
most  of
+       the  features that can be found in other message systems and also incor-
+       porates some new ones.  It has been built on the UNIX time-sharing  sys-
+       tem[2],  a  popular  operating  system  for the DEC PDP-11[1] and VAX-11
+       classes of computers.  A "secure" operating system similar  to  UNIX  is
+       currently being developed[3], and that system will also run _M_H.
+
+            This report provides a complete description  of  _M_H  and  thus 
 may
+       serve  as  a  user's  manual,  although  parts  of the report will be of
+       interest to non-users as well.  Sections  2  and  3,  the  Overview  and
+       Tutorial,  present  the key ideas of _M_H and will give those not 
familiar
+       with message systems an idea of what such systems are like.
+
+            _M_H consists of a set of commands which use some special  files 
 and
+       conventions.   The final section is divided into three parts.  The first
+       part covers the information a user needs to know in addition to the com-
+       mands.   Then, each of the _M_H commands is described in detail.  
Finally,
+       other obscure details are revealed.  A summary of the commands is  given
+       in  Appendix A, and the syntax of message sequences is given in Appendix
+       B.
+
+            A novel approach has been taken in the design of  _M_H.   
Instead  of
+       creating  a large subsystem that appears as a single command to the user
+       (such as MS[4]), _M_H is a collection of separate commands which  are 
 run
+       as  separate  programs.   The file and directory system of UNIX are used
+       directly.  Messages are stored as individual files (datasets), and  col-
+       lections  of them are grouped into directories.  In contrast, most other
+       message systems store messages in a complicated data structure within  a
+       monolithic file.  With the _M_H approach, UNIX commands can be 
interleaved
+       with commands invoking the  functions  of  the  message  handler.   Con-
+       versely, existing UNIX commands can be used in connection with messages.
+       For example, all the usual UNIX editing, text-formatting,  and  printing
+       facilities  can  be applied directly to individual messages.  MH, there-
+       fore, consists of a relatively  small  amount  of  new  code;  it  makes
+
+
+9          [1] PDP and VAX are trademarks of Digital Equipment Corporation.
+
+
+9
+
+
+
+
+
+
+
+
+
+                                         -3-
+
+
+       extensive use of other UNIX software to provide the  capabilities  found
+       in other message systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                     _2. _O_V_E_R_V_I_E_W
+
+
+
+9
+            There are three main aspects  of  _M_H :   the   way   messages  
 are
+       stored  (the  message  database),  the user's profile (which directs how
+       certain actions of the message handler take place), and the commands for
+       dealing with messages.
+
+            Under _M_H, each message is stored as a separate file.   A  user 
 can
+       take  any  action  with a message that he could with an ordinary file in
+       UNIX.  A UNIX directory in which messages are stored is called a folder.
+       Each  folder  contains  some  standard  entries  to support the message-
+       handling functions.  The messages in  a  folder  have  numerical  names.
+       These  folders (directories) are entries in a particular directory path,
+       described in the user profile, through which _M_H can find  message  
fold-
+       ers.   Using  the UNIX "link" facility, it is possible for one copy of a
+       message to be "filed" in more than one folder, providing a message index
+       facility.   Also, using the UNIX tree-structured file system, it is pos-
+       sible to have a folder within a folder,  nested  arbitrarily  deep,  and
+       have the full power of the _M_H commands available.
+
+            Each user of _M_H has a user profile, a file in  his  $HOME  
(initial
+       login)  directory  called  ._m_h__p_r_o_f_i_l_e.   This  
profile contains several
+       pieces of information used by the _M_H commands: a path name to the 
direc-
+       tory  that  contains  the  message folders and parameters that tailor 
_M_H
+       commands to the individual user's requirements.  There is  also  another
+       file,  called  the  user  context, which contains information concerning
+       which folder the user last referenced (the "current" folder).   It  also
+       contains most of the necessary state information concerning how the user
+       is dealing with his messages, enabling _M_H to be implemented as a 
set  of
+       individual  UNIX commands, in contrast to the usual approach of a monol-
+       ithic subsystem.
+
+            In _M_H, incoming mail is appended to the end of a file in  a  
system
+       spooling  area  for  the user.  This area is called the mail drop direc-
+       tory, and the file is called the user's mail drop.   Normally  when  the
+       user  logins  in, s/he is informed of new mail (or the _M_H program 
_m_s_g_c_h_k
+       may be run).  The user adds the new messages to his/her collection of 
_M_H
+       messages  by  invoking  the  command _i_n_c.  The _i_n_c 
(incorporate) command
+       adds the new messages to a folder called "inbox", assigning  them  names
+       which  are  consecutive  integers starting with the next highest integer
+       available in inbox.  _i_n_c also produces a _s_c_a_n summary  of 
 the  messages
+       thus  incorporated.   A  folder can be compacted into a single file, for
+       easy storage, by using the  _p_a_c_k_f  command.   Also,  messages 
 within  a
+       folder can be sorted by date and time with the _s_o_r_t_m command.
+
+
+            There are four commands for examining the  messages  in  a  folder:
+       _s_h_o_w,  _p_r_e_v,  _n_e_x_t,  and _s_c_a_n.  The 
_s_h_o_w command displays a message in a
+
+9                                         -4-
+
+
+
+
+
+
+
+
+
+                                         -5-
+
+
+       folder, _p_r_e_v displays the message preceding  the  current  
message,  and
+       _n_e_x_t  displays  the  message following the current message.  
_M_H lets the
+       user choose the program that displays individual  messages.   A  special
+       program,  _m_h_l,  can  be used to display messages according to the 
user's
+       preferences.  The _s_c_a_n command summarizes the messages in a 
folder, nor-
+       mally  producing  one line per message, showing who the message is from,
+       the date, the subject, etc.
+
+            The user may move a message from one folder  to  another  with  the
+       command  _r_e_f_i_l_e.   Messages may be removed from a folder by 
means of the
+       command _r_m_m.  In addition, a user may query what the current  
folder  is
+       and may specify that a new folder become the current folder, through the
+       command _f_o_l_d_e_r.  All folders may be summarized with the 
_f_o_l_d_e_r_s command.
+       A  message  folder (or subfolder) may be removed by means of the command
+       _r_m_f.
+
+            A set of messages based on content may be selected by  use  of  the
+       command  _p_i_c_k.   This  command searches through messages in a 
folder and
+       selects those that match a given set of criteria.   These  messages  are
+       then  bound  to  a  "sequence" name for use with other _M_H commands. 
 The
+       _m_a_r_k command manipulates these sequences.
+
+            There are five commands enabling the user to  create  new  messages
+       and  send them: _c_o_m_p, _d_i_s_t, _f_o_r_w, _r_e_p_l, 
and _s_e_n_d.  The _c_o_m_p command pro-
+       vides the facility for the user to compose a new message; _d_i_s_t 
redistri-
+       butes  mail  to  additional addressees; _f_o_r_w enables the user 
to forward
+       messages; and _r_e_p_l facilitates the generation of a reply to an  
incoming
+       message.   The  last three commands may optionally annotate the original
+       message.  Messages may be arbitrarily annotated with the  _a_n_n_o  
command.
+       Once  a  draft has been constructed by one of the four above composition
+       programs, a user-specifiable program is run to query the user as to  the
+       disposition of the draft prior to sending.  _M_H provides the simple 
_w_h_a_t_-
+       _n_o_w program to start users off.  If a message is not  sent  
directly  by
+       one  of these commands, it may be sent at a later time using the command
+       _s_e_n_d.  _M_H allows the use of any UNIX editor when  composing 
 a  message.
+       For rapid entry, a special editor, _p_r_o_m_p_t_e_r, is 
provided.  For programs,
+       a special mail-sending program, _m_h_m_a_i_l, is provided.
+
+            _M_H supports a personal aliasing  facility  which  gives  users 
 the
+       capability  to  considerably  shorten  address typein and use meaningful
+       names for addresses.  The _a_l_i program can be used to query _M_H 
as to  the
+       expansion of a list of aliases.  After composing a message, but prior to
+       sending, the _w_h_o_m command can be used to determine exactly who 
a message
+       would go to.
+
+            _M_H provides a natural interface for telling the  user's  shell 
 the
+       names  of  _M_H  messages  and  folders.  The _m_h_p_a_t_h 
program achieves this
+       capability.
+
+            Finally, _M_H supports the UCI BBoards facility.  _b_b_c can 
be used  to
+       query  the  status  of a group of BBoards, while _m_s_h can be used 
to read
+       them.  The _b_u_r_s_t command can be used to "shred" digests of 
messages into
+
+
+
+
+
+
+
+
+
+
+
+                                         -6-
+
+
+       individual messages.
+
+            All of the elements summarized above are described in  more  detail
+       in  the  following sections.  Many of the normal facilities of UNIX pro-
+       vide additional capabilities for dealing with messages in various  ways.
+       For  example,  it  is  possible  to  print  messages on the line-printer
+       without requiring any additional code within _M_H .  Using  standard  
UNIX
+       facilities, any terminal output can be redirected to a file for repeated
+       or future viewing.  In general, the flexibility and capabilities of  the
+       UNIX  interface  with the user are preserved as a result of the integra-
+       tion of _M_H into the UNIX structure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                     _3. _T_U_T_O_R_I_A_L
+
+
+
+9
+            This tutorial provides a brief introduction to the _M_H 
commands.  It
+       should  be sufficient to allow the user to read his mail, do some simple
+       manipulations of it, and create and send messages.
+
+            A message has two major pieces:  the header and the body.  The body
+       consists  of the text of the message (whatever you care to type in).  It
+       follows the header and is separated from it by an empty line.  (When you
+       compose  a  message, the form that appears on your terminal shows a line
+       of dashes after the header.  This is for convenience and is replaced  by
+       an  empty  line  when  the  message is sent.)  The header is composed of
+       several components, including the subject of the message and the  person
+       to whom it is addressed.  Each component starts with a name and a colon;
+       components must not start with a blank.  The text of the  component  may
+       take  more  than  one line, but each continuation line must start with a
+       blank.  Messages typically have "To:", "cc:", and "Subject:" components.
+       When  composing  a  message, you should include the "To:" and "Subject:"
+       components; the "cc:" (for people you want to send  copies  to)  is  not
+       necessary.
+
+            The basic _M_H commands are _i_n_c, _s_c_a_n, 
_s_h_o_w, _n_e_x_t, _p_r_e_v,  _r_m_m,  _c_o_m_p,
+       and _r_e_p_l.  These are described below.
+
+       _i_n_c
+
+            When you get the message "You have mail",  type  the  command  
_i_n_c.
+       You will get a "scan listing" such as:
+
+            7+   7/13  Cas      revival of measurement work
+            8   10/ 9  Norm     NBS people and publications
+            9   11/26  To:norm  question <<Are there any functions
+
+            This shows the messages you received since the last time  you  exe-
+       cuted  this  command (_i_n_c adds these new messages to your inbox 
folder).
+       You can see this list again, plus a list of any other messages you have,
+       by using the _s_c_a_n command.
+
+       _s_c_a_n
+
+            The scan listing shows the message number, followed by the date and
+       the  sender.   (If  you  are the sender, the addressee in the "To:" com-
+       ponent is displayed.  You may send yourself a message by including  your
+       name  among  the "To:" or "cc:" addressees.) It also shows the message's
+       subject; if the subject is short, the first part of the body of the mes-
+       sage is included after the characters <<.
+
+
+
+9                                         -7-
+
+
+
+
+
+
+
+
+
+                                         -8-
+
+
+       _s_h_o_w
+
+            This command shows the current message, that is, the first  one  of
+       the  new messages after an _i_n_c.  If the message is not specified 
by name
+       (number), it is generally the last message referred to by an _M_H 
command.
+       For example,
+
+
+            _s_h_o_w 5      will show message 5.
+
+
+            You can use the show command to copy a message or print a message.
+
+
+            _s_h_o_w > _x    will copy the message to file x.
+            _s_h_o_w | _l_p_r  will print the message, using the 
_l_p_r command.
+            _n_e_x_t        will show the message that follows the current 
message.
+            _p_r_e_v        will show the message previous to the current 
message.
+            _r_m_m         will remove the current message.
+            _r_m_m _3       will remove message 3.
+
+
+       _c_o_m_p
+
+            The _c_o_m_p command puts you in the editor to write or edit a 
message.
+       Fill  in or delete the "To:", "cc:", and "Subject:" fields, as appropri-
+       ate, and type the body of the message.  Then exit normally from the edi-
+       tor.   You will be asked "What now?".  Type a carriage return to see the
+       options.  Typing send will cause the message to  be  sent;  typing  quit
+       will cause an exit from _c_o_m_p, with the message draft saved.
+
+            If you quit without sending the message, it will be saved in a file
+       called  <name>/Mail/draft  (where  <name> is your $HOME directory).  You
+       can resume editing the message later with "comp -use"; or you  can  send
+       the message later, using the _s_e_n_d command.
+
+       _c_o_m_p -_e_d_i_t_o_r _p_r_o_m_p_t_e_r
+
+            This command uses a different editor and is  useful  for  preparing
+       "quick  and  dirty"  messages.  It prompts you for each component of the
+       header.  Type the information for that component,  or  type  a  carriage
+       return to omit the component.  After that, type the body of the message.
+       Backspacing is the only form of editing allowed with this editor.   When
+       the  body is complete, type a carriage return followed by <EOT> (usually
+       <CTRL-D>).  This completes the initial preparation of the message;  from
+       then on, use the same procedures as with _c_o_m_p (above).
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+                                         -9-
+
+
+       _r_e_p_l
+       _r_e_p_l n
+
+            This command makes up an initial message form with a header that is
+       appropriate  for  replying  to  an  existing message.  The message being
+       answered is the current message if no message number is mentioned, or  n
+       if a number is specified.  After the header is completed, you can finish
+       the message as in _c_o_m_p (above).
+
+            This is enough information to get you going using  _M_H.   There 
 are
+       more commands, and the commands described here have more features.  Sub-
+       sequent sections explain _M_H in complete detail.   The  system  is  
quite
+       powerful  if you want to use its sophisticated features, but the forego-
+       ing commands suffice for sending and receiving messages.
+
+            There are numerous additional capabilities you may wish to explore.
+       For  example, the _p_i_c_k command will select a subset of messages 
based on
+       specified criteria such as sender and/or subject.   Groups  of  messages
+       may  be  designated, as described in Sec. IV, under Message Naming.  The
+       file ._m_h__p_r_o_f_i_l_e can be used to tailor your use of 
the message system to
+       your needs and preferences, as described in Sec. IV, under The User Pro-
+       file.  In general, you may  learn  additional  features  of  the  system
+       selectively,  according  to  your requirements, by studying the relevant
+       sections of this manual.  There is no need to learn all the  details  of
+       the system at once.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                               _4. _D_E_T_A_I_L_E_D 
_D_E_S_C_R_I_P_T_I_O_N
+
+
+
+9
+            This section describes the _M_H system in detail, including the  
com-
+       ponents  of  the  user  profile, the conventions for message naming, and
+       some of the other _M_H conventions.  Readers who  are  generally  
familiar
+       with  computer  systems  will  be  able  to  follow the principal ideas,
+       although some details may be meaningful  only  to  those  familiar  with
+       UNIX.
+
+
+9       _T_H_E _U_S_E_R _P_R_O_F_I_L_E
+
+            The first time an _M_H command is issued by a new  user,  the  
system
+       prompts for a "Path" and creates an _M_H "profile".
+
+            Each _M_H user has a profile which contains tailoring 
information for
+       each  individual  program.   Other  profile  entries control the _M_H 
path
+       (where folders and special files are kept), folder and  message  protec-
+       tions,  editor  selection,  and  default  arguments for each _M_H 
program.
+       Each user of _M_H also has a context file  which  contains  current  
state
+       information for the _M_H package (the location of the context file is 
kept
+       in the user's _M_H directory, or may be named in the user profile).   
When
+       a  folder  becomes the current folder, it is recorded in the user's con-
+       text.  (Other state information is kept in the  context  file,  see  the
+       manual  entry for _m_h-_p_r_o_f_i_l_e (5) for more details.) 
In general, the term
+       "profile entry" refer to entries in either the profile or context  file.
+       Users of _M_H needn't worry about the distinction, _M_H handles 
these things
+       automatically.
+
+            The _M_H profile is stored in the  file  
._m_h__p_r_o_f_i_l_e  in  the  user's
+       $HOME directory[1].  It has the format of a message  without  any  body.
+       That is, each profile entry is on one line, with a keyword followed by a
+       colon (:) followed by text particular to the keyword.
+       =>   _T_h_i_s _f_i_l_e _m_u_s_t _n_o_t _h_a_v_e 
_b_l_a_n_k _l_i_n_e_s.
+       The keywords may have any combination of upper and lower case.  (See the
+       information of _m_h-_m_a_i_l later on in this manual for a 
description of mes-
+       sage formats.)
+
+            For the average _M_H user, the only profile entry  of  
importance  is
+       "Path".   Path  specifies  a  directory  in which _M_H folders and 
certain
+       files such as "draft" are found.  The argument to this keyword must be a
+       legal  UNIX  path that names an existing directory.  If this path is not
+
+
+9          [1] By defining the envariable $MH, you can specify an alternate 
pro-
+       file to be used by _M_H commands.
+
+
+9                                         -10-
+
+
+
+
+
+
+
+
+
+                                         -11-
+
+
+       absolute (i.e., does not begin with a / ), it will be presumed to  start
+       from  the  user's  $HOME  directory.   All folder and message references
+       within _M_H will relate to this path unless full path names are used.
+
+            Message protection defaults to 644, and folder protection  to  711.
+       These  may  be  changed  by  profile  entries "Msg-Protect" and "Folder-
+       Protect", respectively.  The argument to  these  keywords  is  an  octal
+       number which is used as the UNIX file mode[2].
+
+            When an _M_H program starts running, it looks through the user's 
pro-
+       file for an entry with a keyword matching the program's name.  For exam-
+       ple, when _c_o_m_p is run, it looks for a "comp" profile entry.  If 
 one  is
+       found,  the text of the profile entry is used as the default switch set-
+       ting until all defaults are overridden by explicit  switches  passed  to
+       the     program     as    arguments.     Thus    the    profile    entry
+       "comp: -form standard.list"  would  direct  _c_o_m_p   to   use   
the   file
+       "standard.list"  as the message skeleton.  If an explicit form switch is
+       given to the _c_o_m_p command, it will override the switch obtained 
from the
+       profile.
+
+            In UNIX, a program may exist under several names, either by linking
+       or  aliasing.   The actual invocation name is used by an _M_H program 
when
+       scanning for its profile defaults[3].  Thus, each _M_H  program  may  
have
+       several  names by which it can be invoked, and each name may have a dif-
+       ferent set of default switches.  For example, if _c_o_m_p is 
invoked by  the
+       name  _i_c_o_m_p, the profile entry "icomp" will control the 
default switches
+       for this invocation of the  _c_o_m_p  program.   This  provides  a  
powerful
+       definitional facility for commonly used switch settings.
+
+            The default editor for editing within _c_o_m_p, _r_e_p_l, 
_f_o_r_w,  and  _d_i_s_t,
+       is  usually  _p_r_o_m_p_t_e_r, but might be something else at 
your site, such as
+       /_u_s_r/_u_c_b/_e_x or /_b_i_n/_e.  A different editor may 
be used by specifying the
+       profile  entry  "Editor:  ".  The argument to "Editor" is the name of an
+       executable program or shell command file which  can  be  found  via  the
+       user's  $PATH defined search path, excluding the current directory.  The
+       "Editor:"  profile  specification  may  in  turn  be  overridden  by   a
+       `-editor <editor>'  profile  switch associated with _c_o_m_p, 
_r_e_p_l, _f_o_r_w, or
+       _d_i_s_t.  Finally, an explicit editor switch specified with  any  
of  these
+       four commands will have ultimate precedence.
+
+
+
+9          [2] See _c_h_m_o_d (1) in the _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l [5].
+          [3] Unfortunately, the shell does not preserve  aliasing  information
+       when  calling  a program, hence if a program is invoked by an alias dif-
+       ferent than its name, the program will examine  the  profile  entry  for
+       it's name, not the alias that the user invoked it as.  The correct solu-
+       tion is to create a (soft) link in your $_H_O_M_E/_b_i_n 
directory  to  the  _M_H
+       program  of  your choice.  By giving this link a different name, you can
+       use an alternate set of defaults for the command.
+
+
+9
+
+
+
+
+
+
+
+
+
+                                         -12-
+
+
+            During message composition, more than one editor may be used.   For
+       example,  one  editor  (such  as _p_r_o_m_p_t_e_r ) may be used 
initially, and a
+       second editor may be invoked later to revise the message being  composed
+       (see  the discussion of _c_o_m_p in Section 5 for details).  A 
profile entry
+       "<lasteditor>-next: <editor>" specifies the name of  the  editor  to  be
+       used  after  a  particular  editor.  Thus "comp: -e prompter" causes the
+       initial text  to  be  collected  by  _p_r_o_m_p_t_e_r,  and  
the  profile  entry
+       "prompter-next: ed"  names  ed  as the editor to be invoked for the next
+       round of editing.
+
+            Some of the _M_H commands, such as _s_h_o_w, can be used on 
message fold-
+       ers owned by others, if those folders are readable.  However, you cannot
+       write in someone else's folder.  All the _M_H command actions not  
requir-
+       ing write permission may be used with a "read-only" folder.
+
+            Table 1 lists examples of some of  the  currently  defined  profile
+       entries, typical arguments, and the programs that reference the entries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+                                         -13-
+
+
+                                       Table 1
+9                                  PROFILE COMPONENTS
+                ______________________________________________________
+
+                                             _M_H Programs that
+                Keyword and Argument          use 
Component9______________________________________________________
+9                Path: Mail                   All
+                Current-Folder: inbox        Most
+                Editor: /usr/ucb/ex          _c_o_m_p, _d_i_s_t, 
_f_o_r_w, _r_e_p_l
+                Msg-Protect: 644             _i_n_c
+                Folder-Protect: 711          _i_n_c, _p_i_c_k, 
_r_e_f_i_l_e
+                <program>: default switches  All
+                prompter-next: ed            _c_o_m_p, _d_i_s_t, 
_f_o_r_w, _r_e_p_l
+                ______________________________________________________
+
+
+            Path should______ be present.  Current-Folder is maintained 
automatically
+       by many _M_H commands (see the Context sections of the individual 
commands
+       in Sec. IV).  All other entries are optional, defaulting to  the  values
+       described above.
+
+
+9       _M_E_S_S_A_G_E _N_A_M_I_N_G
+
+            Messages may be referred to explicitly or implicitly when using  
_M_H
+       commands.   A formal syntax of message names is given in Appendix B, but
+       the following description should be sufficient for most _M_H users.   
Some
+       details  of  message  naming  that  apply  only  to certain commands are
+       included in the description of those commands.
+
+            Most of the _M_H commands accept arguments  specifying  one  or  
more
+       folders,  and  one  or more messages to operate on.  The use of the word
+       "msg" as an argument to a command means that exactly  one  message  name
+       may  be  specified.   A  message name may be a number, such as 1, 33, or
+       234, or it may be one of the  "reserved"  message  names:  first,  last,
+       prev,  next,  and  cur.   (As a shorthand, a period (.) is equivalent to
+       cur.) The meanings of these names are straightforward:  "first"  is  the
+       first  message  in the folder; "last" is the last message in the folder;
+       "prev" is the message  numerically  previous  to  the  current  message;
+       "next"  is  the message numerically following the current message; "cur"
+       (or ".") is the current message in the folder.  In addition, _M_H 
supports
+       user-defined-sequences; see the description of the _m_a_r_k command 
for more
+       information.
+
+            The default in commands that take a "msg" argument is always "cur".
+
+            The word "msgs" indicates that several messages may  be  specified.
+       Such  a specification consists of several message designations separated
+       by spaces.  A message designation is either a message name or a  message
+       range.   A  message  range is a specification of the form name1-name2 or
+
+
+
+
+
+
+
+
+
+
+
+                                         -14-
+
+
+       name1:n, where name1 and name2 are message names and n  is  an  integer.
+       The  first  form  designates  all  the  messages  from  name1  to  name2
+       inclusive; this must be a non-empty range.  The second form specifies up
+       to  n messages, starting with name1 if name1 is a number, or first, cur,
+       or next, and ending with name1 if name1 is last or prev.  This interpre-
+       tation  of  n  is  overridden if n is preceded by a plus sign or a minus
+       sign; +n always means up to n  messages  starting  with  name1,  and  -n
+       always  means  up  to n messages ending with name1.  Repeated specifica-
+       tions of the same message have the same effect as a single specification
+       of the message.  Examples of specifications are:
+
+
+           1 5 7-11 22
+           first 6 8 next
+           first-10
+           last:5
+
+
+            The message name "all" is a shorthand for "first-last",  indicating
+       all of the messages in the folder.
+
+            In commands that accept "msgs" arguments, the default is either cur
+       or all, depending on which makes more sense.
+
+            In all of the _M_H commands, a plus sign preceding an argument  
indi-
+       cates  a folder name.  Thus, "+inbox" is the name of the user's standard
+       inbox.  If an explicit folder argument is given to  an  _M_H  
command,  it
+       will  become the current folder (that is, the "Current-Folder:" entry in
+       the user's profile will be changed to this folder).  In the case of  the
+       _r_e_f_i_l_e  command,  which  can  have multiple output folders, 
a new source
+       folder  (other  than  the  default  current  folder)  is  specified   by
+       `-src +folder'.
+
+
+9       _O_T_H_E_R _M_H _C_O_N_V_E_N_T_I_O_N_S
+
+            One very powerful feature of _M_H is that  the  _M_H  commands 
 may  be
+       issued  from any current directory, and the proper path to the appropri-
+       ate folder(s) will be taken from the user's profile.  If the _M_H 
path  is
+       not  appropriate for a specific folder or file, the automatic prepending
+       of the _M_H path can be avoided by beginning a folder or file name 
with /,
+       or  with  ./  or  ../ component.  Thus any specific absolute path may be
+       specified along with any path relative to the current working directory.
+
+            Arguments to the various programs may be given in any  order,  with
+       the exception of a few switches whose arguments must follow immediately,
+       such as `-src +folder' for _r_e_f_i_l_e.
+
+            Whenever an _M_H command prompts the user, the valid options 
will  be
+       listed  in  response to a <RETURN>.  (The first of the listed options is
+       the default if end-of-file is encountered, such as from a command file.)
+
+9
+
+
+
+
+
+
+
+
+
+                                         -15-
+
+
+       A  valid  response  is  any  _u_n_i_q_u_e  abbreviation  of  one 
of the listed
+       options.
+
+            Standard UNIX documentation conventions are used in this report  to
+       describe  _M_H  command  syntax.  Arguments enclosed in brackets ([ 
]) are
+       optional; exactly one of the arguments enclosed within braces ({ }) must
+       be specified, and all other arguments are required.  The use of ellipsis
+       dots (...) indicates zero or more repetitions of the previous item.  For
+       example,  "+folder  ..." would indicate that one or more "+folder" argu-
+       ments is required and "[+folder ...]" indicates that 0 or more "+folder"
+       arguments may be given.
+
+            _M_H departs from UNIX standards by using switches  that  
consist  of
+       more  than  one  character,  e.g. `-header'.  To minimize typing, only a
+       unique abbreviation of a switch need  be  typed;  thus,  for  `-header',
+       `-hea'  is probably sufficient, depending on the other switches the com-
+       mand accepts.  Each _M_H program accepts the switch `-help' (which 
must be
+       spelled  out  fully)  and  produces  a  syntax description and a list of
+       switches.  In the list of switches, parentheses indicate required  char-
+       acters.   For  example,  all  `-help' switches will appear as "-(help)",
+       indicating that no abbreviation is accepted.  Furthermore,  the  `-help'
+       switch tells the version of the _M_H program you invoked.
+
+            Many _M_H switches have both on and off forms, such as `-format' 
 and
+       `-noformat'.  In many of the descriptions which follow, only one form is
+       defined; the other form, often used to nullify profile switch  settings,
+       is assumed to be the opposite.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+                                         -16-
+
+
+       _M_H _C_O_M_M_A_N_D_S
+
+            The _M_H package comprises several programs:
+
+            ali (1)        - list mail aliases
+            anno (1)       - annotate messages
+            bbc (1)        - check on BBoards
+            bboards (1)    - the UCI BBoards facility
+            burst (1)      - explode digests into messages
+            comp (1)       - compose a message
+            dist (1)       - redistribute a message to additional addresses
+            folder (1)     - set/list current folder/message
+            folders (1)    - list all folders
+            forw (1)       - forward messages
+            inc (1)        - incorporate new mail
+            mark (1)       - mark messages
+            mhl (1)        - produce formatted listings of MH messages
+            mhmail (1)     - send or read mail
+            mhook (1)      - MH receive-mail hooks
+            mhpath (1)     - print full pathnames of MH messages and folders
+            msgchk (1)     - check for messages
+            msh (1)        - MH shell (and BBoard reader)
+            next (1)       - show the next message
+            packf (1)      - compress a folder into a single file
+            pick (1)       - select messages by content
+            prev (1)       - show the previous message
+            prompter (1)   - prompting editor front end
+            rcvstore (1)   - incorporate new mail asynchronously
+            refile (1)     - file messages in other folders
+            repl (1)       - reply to a message
+            rmf (1)        - remove folder
+            rmm (1)        - remove messages
+            scan (1)       - produce a one line per message scan listing
+            send (1)       - send a message
+            show (1)       - show (list) messages
+            sortm (1)      - sort messages
+            vmh (1)        - visual front-end to MH
+            whatnow (1)    - prompting front-end for send
+            whom (1)       - report to whom a message would go
+
+
+            These programs are described below.  The form of  the  descriptions
+  conforms to the standard form for the description of UNIX commands.
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+  ALI(1)                            -17-                            ALI(1)
+
+
+  _N_A_M_E
+       ali - list mail aliases
+
+  _S_Y_N_O_P_S_I_S
+       ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+            [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _A_l_i searches the named mail alias  files  for  each  of  the  
given
+       _a_l_i_a_s_e_s.   It  creates  a  list of addresses for those 
_a_l_i_a_s_e_s, and
+       writes that list on standard output.   If  the  `-list'  option  is
+       specified,  each address appears on a separate line; otherwise, the
+       addresses are separated by commas and printed on as  few  lines  as
+       possible.
+
+       The `-user' option directs _a_l_i to  perform  its  processing  in  
an
+       inverted  fashion: instead of listing the addresses that each given
+       alias expands to, _a_l_i will list the aliases  that  expand  to  
each
+       given  address.   If the `-normalize' switch is given, _a_l_i will 
try
+       to track down the official hostname of the address.
+
+       The file specified by the profile entry "Aliasfile:" and any  addi-
+       tional  alias  files given by the `-alias aliasfile' switch will be
+       read.  Each _a_l_i_a_s is processed as described in 
_m_h-_a_l_i_a_s (5).
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /etc/passwd                         List of users
+       /etc/group                          List of groups
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Aliasfile:           For a default alias file
+
+
+  _S_e_e _A_l_s_o
+       mh-alias(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `-alias /usr/local/lib/mh/MailAliases'
+       `-nolist'
+       `-nonormalize'
+       `-nouser'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  ALI(1)                            -18-                            ALI(1)
+
+
+  _B_u_g_s
+       The `-user' option with `-nonormalize' is not entirely accurate, as
+       it  does  not replace local nicknames for hosts with their official
+       site names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  ANNO(1)                           -19-                           ANNO(1)
+
+
+  _N_A_M_E
+       anno - annotate messages
+
+  _S_Y_N_O_P_S_I_S
+       anno [+folder] [msgs] [-component field] [-inplace] [-noinplace]
+            [-date] [-nodate] [-text body] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _A_n_n_o annotates the specified messages in the named folder using 
the
+       field  and body.  Annotation is optionally performed by _d_i_s_t, 
_f_o_r_w,
+       and _r_e_p_l, to keep track of your distribution of, forwarding of, 
and
+       replies  to  a  message.   By using _a_n_n_o, you can perform 
arbitrary
+       annotations of your own.  Each message selected will  be  annotated
+       with the lines
+
+           field: date
+           field: body
+
+       The `-nodate' switch inhibits the date annotation, leaving only the
+       body  annotation.   The  `-inplace'  switch causes annotation to be
+       done in place in order to preserve links to the annotated message.
+
+       The field specified should be a valid 822-style message field name,
+       which  means  that  it  should consist of alphanumerics (or dashes)
+       only.  The body specified is arbitrary text.
+
+       If a `-component field' is not specified when _a_n_n_o is invoked, 
_a_n_n_o
+       will prompt the user for the name of field for the annotation.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       dist (1), forw (1), repl (1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to cur
+       `-noinplace'
+       `-date'
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  ANNO(1)                           -20-                           ANNO(1)
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The first
+       message annotated will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBC(1)                            -21-                            BBC(1)
+
+
+  _N_A_M_E
+       bbc - check on BBoards
+
+  _S_Y_N_O_P_S_I_S
+       bbc [bboards ...] [-topics] [-check] [-read] [-quiet] [-verbose]
+            [-archive] [-noarchive] [-protocol] [-noprotocol]
+            [-mshproc program] [switches for _m_s_h_p_r_o_c] [-rcfile 
rcfile]
+            [-norcfile] [-file BBoardsfile] [-user BBoardsuser]
+            [-host host] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _b_b_c is a BBoard reading/checking program  that  interfaces  to  
the
+       BBoard channel.
+
+       The _b_b_c program has three action switches which direct  its  
opera-
+       tion:
+
+       The `-read' switch invokes the _m_s_h program on  the  named  
_B_B_o_a_r_d_s.
+       If  you  also  specify the `-archive' switch, then  _b_b_c will 
invoke
+       the _m_s_h program on the  archives  of  the  named  
_B_B_o_a_r_d_s.   If  no
+       _B_B_o_a_r_d_s   are   given  on  the  command  line,  and  you  
specified
+       `-archive', _b_b_c will not read your  `bboards'  profile  entry,  
but
+       will read the archives of the "system" _B_B_o_a_r_d instead.
+
+       The `-check' switch types out  status  information  for  the  named
+       _B_B_o_a_r_d_s.   _b_b_c  can  print one of several messages 
depending on the
+       status of both the BBoard and the user's reading  habits.  As  with
+       each  of these messages, the number given is the item number of the
+       last item placed in the BBoard.  This number (which  is  marked  in
+       the  messages  as the "BBoard-Id") is ever increasing.  Hence, when
+       _b_b_c says "n items", it really means that the highest  BBoard-Id  
is
+       "n".   There  may,  or may not actually be "n" items in the BBoard.
+       Some common messages are:
+
+            BBoard -- n items unseen
+                 This message tells how many items the user  has  not  yet
+                 seen.  When invoked with the `-quiet' switch, this is the
+                 only informative line that _b_b_c will possibly print out.
+
+            BBoard -- empty
+                 The BBoard is empty.
+
+            BBoard -- n items (none seen)
+                 The BBoard has items in it, but the user hasn't seen any.
+
+            BBoard -- n items (all seen)
+                 The BBoard is non-empty, and the user has seen everything
+                 in it.
+
+            BBoard -- n items seen out of m
+                 The BBoard has at most m-n items that the  user  has  not
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBC(1)                            -22-                            BBC(1)
+
+
+                 seen.
+
+       The `-topics' switch directs _b_b_c to print  three  items  about  
the
+       named _B_B_o_a_r_d_s: it's official name, the number of items 
present, and
+       the date and time of the last update.  If  no  _B_B_o_a_r_d_s  
are  named,
+       then  all  BBoards  are listed.  If the `-verbose' switch is given,
+       more information is output.
+
+       The `-quiet' switch specifies that  _b_b_c  should  be  silent  if  
no
+       _B_B_o_a_r_d_s  are  found  with  new  information.  The 
`-verbose' switch
+       specifies that _b_b_c is to consider you to be interested  in  
_B_B_o_a_r_d_s
+       that you've already seen everything in.
+
+       To override the default _m_s_h_p_r_o_c and  the  profile  entry, 
 use  the
+       `-mshproc program' switch.  Any arguments not understood by _b_b_c 
are
+       passed to this program.  The `-protocol' switch tells _b_b_c that 
your
+       _m_s_h_p_r_o_c  knows  about  the  special _b_b_c protocol 
for reporting back
+       information.  _m_s_h (1), the default _m_s_h_p_r_o_c, knows 
all about this.
+
+       The `-file BBoardsfile' switch tells  _b_b_c  to  use  a  
non-standard
+       _B_B_o_a_r_d_s  file  when  performing  its  calculations.  
Similarly, the
+       `-user BBoardsuser' switch tells _b_b_c to use  a  non-standard  
user-
+       name.   Both  of  these  switches  are  useful  for debugging a new
+       _B_B_o_a_r_d_s or _P_O_P file.
+
+       If the local host is configured as an NNTP BBoards  client,  or  if
+       the `-host host' switch is given, then _b_b_c will query the NNTP 
ser-
+       vice host as to the  status  of  the  BBoards.   For  NNTP  BBoards
+       clients, the `-user user' and the `-rpop' switches are ignored.
+
+       The  `-rcfile rcfile'  switch  overrides  the  use  of  ._b_b_r_c   
for
+       user-specific  BBoards  information.   If  the  value  given to the
+       switch is not absolute, (i.e., does not begin with a / ),  it  will
+       be  presumed  to start from the current working directory.  If this
+       switch is not given (or the `-norcfile' switch is given), then  
_b_b_c
+       consults  the envariable $MHBBRC, and honors it similarly.  If this
+       envariable is not set, then the file  ._b_b_r_c  in  the  user's  
$HOME
+       directory is used.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       $HOME/.bbrc                         BBoard information
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       bboards:             To specify interesting BBoards
+       mshproc:             Program to read a given BBoard
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBC(1)                            -23-                            BBC(1)
+
+
+  _S_e_e _A_l_s_o
+       bbl(1), bboards(1), msh(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-read'
+       `-noarchive'
+       `-protocol'
+       `bboards' defaults to "system"
+       `-file /usr/bboards/BBoards'
+       `-user bboards'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The `-user' switch takes effect only if  followed  by  the  `-file'
+       switch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBOARDS(1)                        -24-                        BBOARDS(1)
+
+
+  _N_A_M_E
+       bboards - the UCI BBoards facility
+
+  _S_Y_N_O_P_S_I_S
+       bbc [-check] [-read] bboards ...  [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The home directory of _b_b_o_a_r_d_s is where the BBoard system  
is  kept.
+       This documentation describes some of the nuances of the BBoard sys-
+       tem.
+
+       BBoards, BBoard-IDs
+            A BBoard is just a file containing a group of messages  relat-
+            ing  to the same topic.  These files live in the ~bboards home
+            directory.  Each message in a BBoard file has  in  its  header
+            the  line  "BBoard-Id:  n",  where "n" is an ascending decimal
+            number.  This id-number  is  unique  for  each  message  in  a
+            BBoards  file.   It  should  NOT  be confused with the message
+            number of a message, which can change as messages are  removed
+            from the BBoard.
+
+       BBoard Handling
+            To read BBoards, use the _b_b_c and _m_s_h programs.  The  
_m_s_h  com-
+            mand  is  a  monolithic  program  which contains all the func-
+            tionality of _M_H in a single program.  The `-check'  switch  to
+            _b_b_c  lets  you check on the status of BBoards, and the 
`-read'
+            switch tells _b_b_c to invoke _m_s_h to read those BBoards.
+
+       Creating a BBoard
+            Both public, and private BBoards are supported.   Contact  the
+            mail  address  _P_o_s_t_M_a_s_t_e_r  if  you'd  like  to 
 have  a BBoard
+            created.
+
+       BBoard addresses
+            Each BBoard has associated with it 4 addresses, these are (for
+            the ficticious BBoard called ``hacks''):
+              hacks : The Internet wide distribution list.
+              dist-hacks : The local BBoard.
+              hacks-request : The people responsible for the BBoard at the
+                   Internet level.
+              local-hacks-request : The people responsible for the  BBoard
+                   locally.
+
+  _F_i_l_e_s
+      $HOME/.mh_profile                   The user profile
+      $HOME/.bbrc                         BBoard information
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BBOARDS(1)                        -25-                        BBOARDS(1)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       bboards:             To specify interesting BBoards
+       mshproc:             Program to read a given BBoard
+
+
+  _S_e_e _A_l_s_o
+      bbc(1), bbl(1), bbleader(1), msh(1)
+
+
+  _D_e_f_a_u_l_t_s
+       The default bboard is "system"
+
+
+  _C_o_n_t_e_x_t
+      None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BURST(1)                          -26-                          BURST(1)
+
+
+  _N_A_M_E
+       burst - explode digests into messages
+
+  _S_Y_N_O_P_S_I_S
+       burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] [-noquiet]
+            [-verbose] [-noverbose] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _B_u_r_s_t considers the specified messages in the named  folder  
to  be
+       Internet digests, and explodes them in that folder.
+
+       If `-inplace' is given, each digest is replaced by  the  "table  of
+       contents"  for  the digest (the original digest is removed).  
_B_u_r_s_t
+       then renumbers all of the messages  following  the  digest  in  the
+       folder  to  make room for each of the messages contained within the
+       digest.  These messages are placed immediately after the digest.
+
+       If `-noinplace' is given, each digest is  preserved,  no  table  of
+       contents  is produced, and the messages contained within the digest
+       are placed at the end of the folder.  Other messages are  not  tam-
+       pered with in any way.
+
+       The `-quiet' switch directs _b_u_r_s_t to be silent about 
reporting mes-
+       sages that are not in digest format.
+
+       The `-verbose' switch directs _b_u_r_s_t to tell the  user  the  
general
+       actions that it is taking to explode the digest.
+
+       It turns out that _b_u_r_s_t works equally well  on  forwarded  
messages
+       and  blind-carbon-copies  as on Internet digests, provided that the
+       former two were generated by _f_o_r_w or _s_e_n_d.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Msg-Protect:         To set mode when creating a new message
+
+
+  _S_e_e _A_l_s_o
+       _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+       inc(1), msh(1), pack(1)
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  BURST(1)                          -27-                          BURST(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to cur
+       `-noinplace'
+       `-noquiet'
+       `-noverbose'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  If  `-in-
+       place'  is  given, then the first message burst becomes the current
+       message.  This leaves the context ready for a _s_h_o_w of the table 
 of
+       contents  of the digest, and a _n_e_x_t to see the first message of 
the
+       digest.  If `-noinplace' is given, then the first message extracted
+       from  the  first  digest  burst  becomes the current message.  This
+       leaves the context in a similar, but not identical,  state  to  the
+       context achieved when using `-inplace'.
+
+
+  _B_u_g_s
+       The _b_u_r_s_t program enforces a limit on the number of messages  
which
+       may be _b_u_r_s_t from a single message.  This number is on the 
order of
+       1000 messages.  There is usually no limit on the number of messages
+       which may reside in the folder after the _b_u_r_s_ting.
+
+       Although _b_u_r_s_t uses a sophisticated algorithm  to  determine  
where
+       one  encapsulated message ends and another begins, not all digesti-
+       fying programs  use  an  encapsulation  algorithm.   In  degenerate
+       cases, this usually results in _b_u_r_s_t finding an encapsulation 
boun-
+       dary prematurely and splitting a single encapsulated  message  into
+       two or more messages.  These erroneous digestifying programs should
+       be fixed.
+
+       Furthermore, any text which appears  after  the  last  encapsulated
+       message  is not placed in a seperate message by _b_u_r_s_t.  In 
the case
+       of digestified messages, this text is usally  an  "End  of  digest"
+       string.   As  a result of this possibly un-friendly behavior on the
+       part of _b_u_r_s_t, note that when the `-inplace' option is  used, 
 this
+       trailing  information  is lost.  In practice, this is not a problem
+       since correspondents usually place remarks in  text  prior  to  the
+       first encapsulated message, and this information is not lost.
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  COMP(1)                           -28-                           COMP(1)
+
+
+  _N_A_M_E
+       comp - compose a message
+
+  _S_Y_N_O_P_S_I_S
+       comp [+folder] [msg] [-draftfolder +folder] [-draftmessage msg]
+            [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+            [-form formfile] [-use] [-nouse] [-whatnowproc program]
+            [-nowhatnowproc] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _C_o_m_p is used to create a new message to be  mailed.   It  
copies  a
+       message form to the draft being composed and then invokes an editor
+       on the draft (unless `-noedit' is given, in which case the  initial
+       edit is suppressed).
+
+       The default message form contains the following elements:
+
+            To:
+            cc:
+            Subject:
+            --------
+
+       If the file named "components" exists in the user's  MH  directory,
+       it  will  be  used  instead  of  this  form.  The file specified by
+       `-form formfile' will be used if given.  You may  also  start  
_c_o_m_p
+       using the contents of an existing message as the form.  If you sup-
+       ply either a `+folder' or `msg' argument, that message will be used
+       as  the  form.   You  may  not supply both a `-form formfile' and a
+       `+folder' or `msg' argument.  The line of dashes or  a  blank  line
+       must be left between the header and the body of the message for the
+       message to be identified properly when it is sent  (see  _s_e_n_d 
(1)).
+       The  switch  `-use'  directs  _c_o_m_p  to  continue editing an 
already
+       started message.  That is, if a _c_o_m_p (or _d_i_s_t, 
_r_e_p_l, or  _f_o_r_w )  is
+       terminated without sending the draft, the draft can be edited again
+       via "comp -use".
+
+       If the draft already exists, _c_o_m_p will ask you as to  the  
disposi-
+       tion  of  the  draft.  A reply of quit will abort _c_o_m_p, leaving 
the
+       draft intact; replace will replace  the  existing  draft  with  the
+       appropriate  form;  list  will  display the draft; use will use the
+       draft for further composition; and  refile +folder  will  file  the
+       draft  in  the  given  folder,  and  give  you a new draft with the
+       appropriate form.  (The `+folder' argument to refile is required.)
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       The `-file file' switch says to use the named file as  the  message
+       draft.
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  COMP(1)                           -29-                           COMP(1)
+
+
+       The `-editor editor' switch indicates the editor  to  use  for  the
+       initial  edit.   Upon exiting from the editor, _c_o_m_p will invoke 
the
+       _w_h_a_t_n_o_w program.  See _w_h_a_t_n_o_w (1) for  a  
discussion  of  available
+       options.   The invocation of this program can be inhibited by using
+       the `-nowhatnowproc' switch.  (In truth of fact, it is the  
_w_h_a_t_n_o_w
+       program  which  starts  the  initial edit.  Hence, `-nowhatnowproc'
+       will prevent any edit from occurring.)
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/components        The message skeleton
+       or <mh-dir>/components              Rather than the standard skeleton
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/draft                      The draft file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Draft-Folder:        To find the default draft-folder
+       Editor:              To override the default editor
+       Msg-Protect:         To  set  mode  when  creating  a  new  message
+       (draft)
+       fileproc:            Program to refile the message
+       whatnowproc:         Program to ask the "What now?" questions
+
+
+  _S_e_e _A_l_s_o
+       dist(1), forw(1), repl(1), send(1), whatnow(1), mh-profile(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msg' defaults to the current message
+       `-nodraftfolder'
+       `-nouse'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       If _w_h_a_t_n_o_w_p_r_o_c is _w_h_a_t_n_o_w, then 
_c_o_m_p uses a  built-in  _w_h_a_t_n_o_w,  it
+       does  not  actually  run the _w_h_a_t_n_o_w program.  Hence, if 
you define
+       your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _c_o_m_p  won't  run
+       it.
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  DIST(1)                           -30-                           DIST(1)
+
+
+  _N_A_M_E
+       dist - redistribute a message to additional addresses
+
+  _S_Y_N_O_P_S_I_S
+       dist [+folder] [msg] [-annotate] [-noannotate]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-form formfile] [-inplace]
+            [-noinplace] [-whatnowproc program] [-nowhatnowproc] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _D_i_s_t is similar to _f_o_r_w.  It prepares  the  specified  
message  for
+       redistribution to addresses that (presumably) are not on the origi-
+       nal address list.
+
+       The default message form contains the following elements:
+
+            Resent-To:
+            Resent-cc:
+
+       If the file named "distcomps" exists in the user's MH directory, it
+       will be used instead of this form.  In either case, the file speci-
+       fied by `-form formfile' will be used if given.  The form used will
+       be prepended to the message being resent.
+
+       If the draft already exists, _d_i_s_t will ask you as to  the  
disposi-
+       tion  of  the  draft.  A reply of quit will abort _d_i_s_t, leaving 
the
+       draft intact; replace will replace the existing draft with a  blank
+       skeleton; and list will display the draft.
+
+       Only   those   addresses   in   "Resent-To:",   "Resent-cc:",   and
+       "Resent-Bcc:"  will  be sent.  Also, a "Resent-Fcc: folder" will be
+       honored (see _s_e_n_d (1)).  Note that with _d_i_s_t, the draft 
should con-
+       tain  only  "Resent-xxx:"  fields and no body.  The headers and the
+       body of the original message are copied to the draft when the  mes-
+       sage  is sent.  Use care in constructing the headers for the redis-
+       tribution.
+
+       If the `-annotate' switch is given, the  message being  distributed
+       will be annotated with the lines:
+
+            Resent: date
+            Resent: addrs
+
+       where each address list contains as many lines as  required.   This
+       annotation  will  be done only if the message is sent directly from
+       _d_i_s_t.  If the message is not  sent  immediately  from  
_d_i_s_t,  "comp
+       -use"  may be used to re-edit and send the constructed message, but
+       the annotations won't take place.   The  '-inplace'  switch  causes
+       annotation  to  be  done in place in order to preserve links to the
+       annotated message.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  DIST(1)                           -31-                           DIST(1)
+
+
+       See _c_o_m_p (1) for a  description  of  the  `-editor'  and  
`-noedit'
+       switches.   Note that while in the editor, the message being resent
+       is available through a link named "@" (assuming the  default  
_w_h_a_t_-
+       _n_o_w_p_r_o_c ).   In  addition,  the  actual  pathname of the 
message is
+       stored in the envariable $editalt, and the pathname of  the  folder
+       containing the message is stored in the envariable $mhfolder.
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       Upon exiting from the editor, _d_i_s_t will invoke the 
_w_h_a_t_n_o_w program.
+       See _w_h_a_t_n_o_w (1) for a discussion of available options.  
The invoca-
+       tion of this program can be inhibited by using the `-nowhatnowproc'
+       switch.   (In truth of fact, it is the _w_h_a_t_n_o_w program 
which starts
+       the initial edit.  Hence, `-nowhatnowproc' will  prevent  any  edit
+       from occurring.)
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/distcomps         The message skeleton
+       or <mh-dir>/distcomps               Rather than the standard skeleton
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/draft                      The draft file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Draft-Folder:        To find the default draft-folder
+       Editor:              To override the default editor
+       fileproc:            Program to refile the message
+       whatnowproc:         Program to ask the "What now?" questions
+
+
+  _S_e_e _A_l_s_o
+       comp(1), forw(1), repl(1), send(1), whatnow(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msg' defaults to cur
+       `-noannotate'
+       `-nodraftfolder'
+       `-noinplace'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The  mes-
+       sage distributed will become the current message.
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  DIST(1)                           -32-                           DIST(1)
+
+
+  _H_i_s_t_o_r_y
+       _D_i_s_t originally used headers of the form "Distribute-xxx:"  
instead
+       of "Resent-xxx:".  In order to conform with the ARPA Internet stan-
+       dard, RFC-822, the "Resent-xxx:"  form  is  now  used.   _D_i_s_t  
will
+       recognize  "Distribute-xxx:" type headers and automatically convert
+       them to "Resent-xxx:".
+
+
+  _B_u_g_s
+       _D_i_s_t does not _r_i_g_o_r_o_u_s_l_y check the message  
being  distributed  for
+       adherence  to the transport standard, but _p_o_s_t called by 
_s_e_n_d does.
+       The _p_o_s_t program will balk (and rightly  so)  at  poorly  
formatted
+       messages, and _d_i_s_t won't correct things for you.
+
+       If _w_h_a_t_n_o_w_p_r_o_c is _w_h_a_t_n_o_w, then 
_d_i_s_t uses a  built-in  _w_h_a_t_n_o_w,  it
+       does  not  actually  run the _w_h_a_t_n_o_w program.  Hence, if 
you define
+       your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _d_i_s_t  won't  run
+       it.
+
+       If your current working directory is not writable, the  link  named
+       "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FOLDER(1)                         -33-                         FOLDER(1)
+
+
+  _N_A_M_E
+       folder, folders - set/list current folder/message
+
+  _S_Y_N_O_P_S_I_S
+       folder [+folder] [msg] [-all] [-fast] [-nofast] [-header]
+            [-noheader] [-pack] [-nopack] [-recurse] [-norecurse] [-total]
+            [-nototal] [-print] [-noprint] [-list] [-nolist] [-push]
+            [-pop] [-help]
+
+       folders
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       Since the _M_H environment is the shell, it is easy to lose track  of
+       the current folder from day to day.
+
+       When _f_o_l_d_e_r is given the `-print' switch (the default), the 
current
+       folder  and/or  message  may  be set, or all folders may be listed.
+       When a `+folder' argument is given,  this  corresponds  to  a  "cd"
+       operation  in the _C_S_h_e_l_l; when no `+folder' argument is 
given, this
+       corresponds roughly to a "pwd" operation in the _C_S_h_e_l_l.
+
+       _F_o_l_d_e_r will list the current folder, the number of messages 
in  it,
+       the  range  of  the  messages  (low-high),  and the current message
+       within the folder, and will flag extra files  if  they  exist.   An
+       example of the output is:
+
+       inbox+            has  16 messages (  3- 22); cur=  5.
+
+       If a `+folder' and/or `msg' are specified,  they  will  become  the
+       current  folder  and/or  message.  Specifying `-all' will produce a
+       line for each folder in the user's MH directory, sorted  alphabeti-
+       cally.   These folders are preceded by the read-only folders, which
+       occur as "atr-cur-" entries in the user's _M_H context.  For example,
+
+       Folder               # of messages ( range )  cur msg (other files)
+       /fsd/rs/m/tacc    has  35 messages (  1- 35); cur= 23.
+       /rnd/phyl/Mail/EP has  82 messages (  1-108); cur= 82.
+       ff                has  no messages.
+       inbox+            has  16 messages (  3- 22); cur=  5.
+       mh                has  76 messages (  1- 76); cur= 70.
+       notes             has   2 messages (  1-  2); cur=  1.
+       ucom              has 124 messages (  1-124); cur=  6; (others).
+                 TOTAL=      339 messages in 7 folders
+
+       The "+" after inbox indicates that it is the current  folder.   The
+       "(others)"  indicates that the folder `ucom' has files which aren't
+       messages.  These files may either be  sub-folders,  or  files  that
+       don't belong under the MH file naming scheme.
+
+       The header is output if either an `-all' or a `-header'  switch  is
+       specified;  it  is  suppressed  by `-noheader'.  Also, if 
_f_o_l_d_e_r is
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FOLDER(1)                         -34-                         FOLDER(1)
+
+
+       invoked by a name ending  with  "s"  (e.g.,  _f_o_l_d_e_r_s ),  
`-all'  is
+       assumed.  A `-total' switch will produce only the summary line.
+
+       If a `+folder' and/or `msg' is given along with the `-all'  switch,
+       _f_o_l_d_e_r  will, in addition to setting the current folder 
and/or mes-
+       sage, list the top-level  folders  for  the  current  folder  (with
+       `-norecurse')  or  list all folders under the current folder recur-
+       sively (with `-recurse').
+
+       If `-fast' is given, only the folder name (or names in the case  of
+       `-all')  will  be listed.  (This is faster because the folders need
+       not be read.)
+
+       The `-pack' switch will compress the message  names  in  a  folder,
+       removing holes in message numbering.
+
+       The `-recurse' switch will list each folder  recursively.   Use  of
+       this  option  effectively  defeats  the  speed  enhancement  of the
+       `-fast' option, since each folder must be searched for  subfolders.
+       Nevertheless, the combination of these options is useful.
+
+       If the specified (or default) folder doesn't exist, the  user  will
+       be  queried as to whether the folder should be created.  When stan-
+       dard input is not a tty, the folder is created without  any  query.
+       (This is the easy way to create an empty folder for use later.)
+
+       The `-push' switch directs _f_o_l_d_e_r to push the current  
folder  onto
+       the  _f_o_l_d_e_r-_s_t_a_c_k,  and  make  the  `+folder'  
argument the current
+       folder.  If `+folder' is not given, the current folder and the  top
+       of the _f_o_l_d_e_r-_s_t_a_c_k are exchanged.  This 
corresponds to the "pushd"
+       operation in the _C_S_h_e_l_l.
+
+       The `-pop'  switch  directs  _f_o_l_d_e_r  to  discard  the  top  
of  the
+       _f_o_l_d_e_r-_s_t_a_c_k,  after  setting the current folder 
to that value.  No
+       `+folder' argument is allowed.   This  corresponds  to  the  "popd"
+       operation  in the _C_S_h_e_l_l.  The `-push' switch and the 
`-pop' switch
+       are mutually exclusive: the last occurrence of either one overrides
+       any previous occurrence of the other.
+
+       The `-list' switch directs _f_o_l_d_e_r  to  list  the  contents  
of  the
+       _f_o_l_d_e_r-_s_t_a_c_k.   No `+folder' argument is allowed. 
 After a success-
+       ful  `-push'  or  `-pop',  the  `-list'  action  is  taken.    This
+       corresponds to the "dirs" operation in the _C_S_h_e_l_l.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FOLDER(1)                         -35-                         FOLDER(1)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Folder-Protect:      To set mode when creating a new folder
+       Folder-Stack:        To determine the folder stack
+       lsproc:              Program to list the contents of a folder
+
+
+  _S_e_e _A_l_s_o
+       refile(1), mhpath(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msg' defaults to none
+       `-nofast'
+       `-noheader'
+       `-nototal'
+       `-nopack'
+       `-norecurse'
+       `-print' is the default if no `-list', `-push', or `-pop' is specified
+
+
+  _C_o_n_t_e_x_t
+       If `+folder' and/or `msg' are given, they will become  the  current
+       folder and/or message.
+
+
+  _H_i_s_t_o_r_y
+       In previous versions of _M_H, the `-fast'  switch  prevented  context
+       changes  from  occurring for the current folder.  This is no longer
+       the case: if `+folder' is given, then _f_o_l_d_e_r will always 
change the
+       current folder to that.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FORW(1)                           -36-                           FORW(1)
+
+
+  _N_A_M_E
+       forw - forward messages
+
+  _S_Y_N_O_P_S_I_S
+       forw [+folder] [msgs] [-annotate] [-noannotate]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-filter filterfile]
+            [-form formfile] [-format] [-noformat] [-inplace] [-noinplace]
+            [-whatnowproc program] [-nowhatnowproc] [-help]
+
+       forw [+folder] [msgs] [-digest list] [-issue number]
+            [-volume number] [other switches for _f_o_r_w] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _F_o_r_w may be used to prepare a message  containing  other  
messages.
+       It   constructs  the  new  message  from  the  components  file  or
+       `-form formfile'  (see  _c_o_m_p ),  with  a  body  composed   of   
the
+       message(s)  to  be forwarded.  An editor is invoked as in _c_o_m_p, 
and
+       after editing is complete, the user is prompted before the  message
+       is sent.
+
+       The default message form contains the following elements:
+
+            To:
+            cc:
+            Subject:
+            --------
+
+       If the file named "forwcomps" exists in the user's MH directory, it
+       will be used instead of this form.  In either case, the file speci-
+       fied by `-form formfile' will be used if given.
+
+       If the draft already exists, _f_o_r_w will ask you as to  the  
disposi-
+       tion  of  the  draft.  A reply of quit will abort _f_o_r_w, leaving 
the
+       draft intact; replace will replace the existing draft with a  blank
+       skeleton; and list will display the draft.
+
+       If the `-annotate' switch is given, each  message  being  forwarded
+       will be annotated with the lines
+
+            Forwarded: date
+            Forwarded: addrs
+
+       where each address list contains as many lines as  required.   This
+       annotation  will  be done only if the message is sent directly from
+       _f_o_r_w.   If  the  message  is  not  sent  immediately   from   
_f_o_r_w,
+       "comp -use"  may  be  used to re-edit and send the constructed mes-
+       sage, but the annotations won't take place.  The '-inplace'  switch
+       causes annotation to be done in place in order to preserve links to
+       the annotated message.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FORW(1)                           -37-                           FORW(1)
+
+
+       See _c_o_m_p (1) for a  description  of  the  `-editor'  and  
`-noedit'
+       switches.
+
+       Although _f_o_r_w uses the `-form formfile' switch to direct it how 
 to
+       construct  the  beginning  of  the draft, the `-filter filterfile',
+       `-format', and `-noformat' switches direct _f_o_r_w as to how each 
for-
+       warded  message  should  be formatted in the body of the draft.  If
+       `-noformat' is specified, then each  forwarded  message  is  output
+       exactly  as  it  appears.   If `-format' or `-filter filterfile' is
+       specified, then each forwarded message is  filtered  (re-formatted)
+       prior  to  being  output to the body of the draft.  The filter file
+       for _f_o_r_w should be a standard form  file  for  _m_h_l,  as  
_f_o_r_w  will
+       invoke  _m_h_l  to format the forwarded messages.  The default 
message
+       filter (what you get with `-format') is:
+
+            width=80,overflowtext=,overflowoffset=10
+            leftadjust,compress,compwidth=9
+            Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+            From:
+            To:
+            cc:
+            Subject:
+            :
+            body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+       If the file named "mhl.forward" exists in the user's MH  directory,
+       it  will  be  used  instead of this form.  In either case, the file
+       specified by `-filter filterfile' will be used if given.   To  sum-
+       marize:  `-noformat' will reproduce each forwarded message exactly,
+       `-format' will use _m_h_l and a default filterfile, "mhl.forward",  
to
+       format  each  forwarded  message, and `-filter filterfile' will use
+       the named filterfile to format each forwarded message with _m_h_l.
+
+       Each forwarded message is separated with an encapsulation delimiter
+       and  dashes  in  the first column of the forwarded messages will be
+       prepended with `- ' so that when received, the message is  suitable
+       for  bursting  by  _b_u_r_s_t (1).   This  follows  the Internet 
RFC-934
+       guidelines.
+
+       For users of  _p_r_o_m_p_t_e_r (1),  by  specifying  prompter's 
 `-prepend'
+       switch  in  the  .mh_profile  file,  any commentary text is entered
+       before the forwarded messages.  (A major win!)
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       Upon exiting from the editor, _f_o_r_w will invoke the 
_w_h_a_t_n_o_w program.
+       See _w_h_a_t_n_o_w (1) for a discussion of available options.  
The invoca-
+       tion of this program can be inhibited by using the `-nowhatnowproc'
+       switch.   (In truth of fact, it is the _w_h_a_t_n_o_w program 
which starts
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FORW(1)                           -38-                           FORW(1)
+
+
+       the initial edit.  Hence, `-nowhatnowproc' will  prevent  any  edit
+       from occurring.)
+
+       The `-digest list', `-issue number', and `-volume number'  switches
+       implement  a  digest  facility  for  _M_H.  Specifying these switches
+       enables and/or overloads the following escapes:
+
+       _T_y_p_e       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+       _c_o_m_p_o_n_e_n_t  _d_i_g_e_s_t  string   Argument to 
`-digest'
+       _f_u_n_c_t_i_o_n   _c_u_r     integer  Argument to `-volume'
+       _f_u_n_c_t_i_o_n   _m_s_g     integer  Argument to `-issue'
+
+       Consult the Advanced Features section of the _M_H User's  Manual  for
+       more information on making digests.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/forwcomps         The message skeleton
+       or <mh-dir>/forwcomps               Rather than the standard skeleton
+       /usr/local/lib/mh/digestcomps       The message skeleton if `-digest' 
is given
+       or <mh-dir>/digestcomps             Rather than the standard skeleton
+       /usr/local/lib/mh/mhl.forward       The message filter
+       or <mh-dir>/mhl.forward             Rather than the standard filter
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/draft                      The draft file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Draft-Folder:        To find the default draft-folder
+       Editor:              To override the default editor
+       Msg-Protect:         To  set  mode  when  creating  a  new  message
+       (draft)
+       fileproc:            Program to refile the message
+       mhlproc:             Program to filter messages being forwarded
+       whatnowproc:         Program to ask the "What now?" questions
+
+
+  _S_e_e _A_l_s_o
+       _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+       comp(1), dist(1), repl(1), send(1), whatnow(1), mh-format(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to cur
+       `-noannotate'
+       `-nodraftfolder'
+       `-noformat'
+       `-noinplace'
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  FORW(1)                           -39-                           FORW(1)
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The first
+       message forwarded will become the current message.
+
+
+  _B_u_g_s
+       If _w_h_a_t_n_o_w_p_r_o_c is _w_h_a_t_n_o_w, then 
_f_o_r_w uses a  built-in  _w_h_a_t_n_o_w,  it
+       does  not  actually  run the _w_h_a_t_n_o_w program.  Hence, if 
you define
+       your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _f_o_r_w  won't  run
+       it.
+
+       When _f_o_r_w is told to annotate the messages it forwards, it  
doesn't
+       actually  annotate  them  until the draft is successfully sent.  If
+       from the _w_h_a_t_n_o_w_p_r_o_c, you _p_u_s_h instead of 
_s_e_n_d,  it's  possible  to
+       confuse   _f_o_r_w   by   re-ordering   the   file   (e.g.,   by  
using
+       `folder -pack') before the message is successfully sent.  _D_i_s_t  
and
+       _r_e_p_l don't have this problem.
+
+       To avoid prepending the leading dash characters in  forwarded  mes-
+       sages,  there  is  a  `-nodashmunging'  option.   See  the  "Hidden
+       Features" section of the _M_H 
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  INC(1)                            -40-                            INC(1)
+
+
+  _N_A_M_E
+       inc - incorporate new mail
+
+  _S_Y_N_O_P_S_I_S
+       inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+            [-nochangecur] [-form formatfile] [-format string]
+            [-file name] [-silent] [-nosilent] [-truncate] [-notruncate]
+            [-width columns] [-host host] [-user user] [-pack file]
+            [-nopack] [-rpop] [-norpop] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _I_n_c incorporates mail from the user's incoming mail drop into an 
_M_H
+       folder.   If `+folder' isn't specified, the folder named "inbox" in
+       the user's _M_H directory will  be  used.   The  new  messages  being
+       incorporated  are  assigned  numbers starting with the next highest
+       number in the folder.  If the specified (or default) folder doesn't
+       exist, the user will be queried prior to its creation.  As the mes-
+       sages are processed, a _s_c_a_n listing of the new mail is produced.
+
+       If the user's profile contains a "Msg-Protect: nnn" entry, it  will
+       be  used as the protection on the newly created messages, otherwise
+       the _M_H default of 0644 will be used.  During all operations on mes-
+       sages,  this  initially  assigned  protection will be preserved for
+       each message, so _c_h_m_o_d(1) may be used to set  a  protection  
on  an
+       individual   message,   and   its   protection  will  be  preserved
+       thereafter.
+
+       If the  switch  `-audit audit-file'  is  specified  (usually  as  a
+       default  switch in the profile), then _i_n_c will append a header 
line
+       and a line per message to the end of the specified audit-file  with
+       the format:
+
+            <<inc>> date
+                 <scan line for first message>
+                 <scan line for second message>
+                           <etc.>
+
+       This is useful for keeping track of volume and source  of  incoming
+       mail.   Eventually,  _r_e_p_l,  _f_o_r_w,  _c_o_m_p,  and 
_d_i_s_t may also produce
+       audits to this (or another) file, perhaps with "Message-Id:" infor-
+       mation  to keep an exact correspondence history.  "Audit-file" will
+       be in the user's MH directory unless a full path is specified.
+
+       _I_n_c will incorporate even improperly formatted  messages  into  
the
+       user's  MH  folder,  inserting  a blank line prior to the offending
+       component and printing a comment identifying the bad message.
+
+       In all cases, the user's mail  drop  will  be  zeroed,  unless  the
+       `-notruncate' switch is given.
+
+       If the profile entry "Unseen-Sequence" is  present  and  non-empty,
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  INC(1)                            -41-                            INC(1)
+
+
+       then  _i_n_c  will add each of the newly incorporated messages to 
each
+       sequence named by the  profile  entry.   This  is  similar  to  the
+       "Previous-Sequence"  profile  entry  supported  by  all _M_H commands
+       which take `msgs' or `msg' arguments.  Note that _i_n_c will not  
zero
+       each sequence prior to adding messages.
+
+       The interpretation of the `-form formatfile', `-format string', and
+       `-width columns' switches is the same as in _s_c_a_n (1).
+
+       By using the `-file name' switch, one can direct _i_n_c to 
incorporate
+       messages from a file other than the user's maildrop.  Note that the
+       name file will NOT be zeroed,  unless  the  `-truncate'  switch  is
+       given.
+
+       If the envariable $MAILDROP is set, then _i_n_c uses it as  the  
loca-
+       tion  of  the  user's  maildrop  instead  of  the  default  (the `-
+       file name' switch still overrides this, however).  If this  envari-
+       able is not set, then _i_n_c will consult the profile entry 
"MailDrop"
+       for this information.  If the value found is not absolute, then  it
+       is  interpreted  relative to the user's _M_H directory.  If the value
+       is not found, then _i_n_c will look in the  standard  system  
location
+       for the user's maildrop.
+
+       The `-silent' switch directs _i_n_c to be quiet and not ask any  
ques-
+       tions at all.  This is useful for putting _i_n_c in the background 
and
+       going on to other things.
+
+       If the local host  is  configured  as  a  POP  client,  or  if  the
+       `-host host'  switch  is given, then _i_n_c will query the POP 
service
+       host as to the status of mail waiting.  The `-user user' switch may
+       be  given  to  specify  the  name of the POP subscriber you wish to
+       check mail for on the POP service host.  The  `-rpop'  switch  uses
+       the  UNIX  _r_P_O_P  (authentication done via trusted connections). 
 In
+       contrast, the `-norpop' switch uses the ARPA _P_O_P (in which case 
_i_n_c
+       will prompt for a password).
+
+       If _i_n_c uses POP, then the `-pack file' switch  is  considered.   
If
+       given,  then  _i_n_c simply uses the POP to _p_a_c_k_f (1) the 
user's mail-
+       drop from the POP service host to the named file.  This  switch  is
+       provided  for those users who prefer to use _m_s_h to read their 
mail-
+       drops.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/spool/mail/$USER               Location of mail drop
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  INC(1)                            -42-                            INC(1)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Alternate-Mailboxes: To determine the user's mailboxes
+       Folder-Protect:      To set mode when creating a new folder
+       Msg-Protect:         To set mode when creating a  new  message  and
+       audit-file
+       Unseen-Sequence:     To name sequences denoting unseen messages
+
+
+  _S_e_e _A_l_s_o
+       _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+       mhmail(1), scan(1), mh-mail(5), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to "inbox"
+       `-noaudit'
+       `-changecur'
+       `-format' defaulted as described above
+       `-nosilent'
+       `-truncate' if `-file name' not given, `-notruncate' otherwise
+       `-width' defaulted to the width of the terminal
+       `-nopack'
+       `-rpop'
+
+
+  _C_o_n_t_e_x_t
+       The folder into which messages are being incorporated  will  become
+       the current folder.  The first message incorporated will become the
+       current message, unless the  `-nochangecur'  option  is  specified.
+       This leaves the context ready for a _s_h_o_w of the first new 
message.
+
+
+  _B_u_g_s
+       The argument to the `-format' switch must be interpreted as a  sin-
+       gle  token by the shell that invokes _i_n_c.  Therefore, one must 
usu-
+       ally place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MARK(1)                           -43-                           MARK(1)
+
+
+  _N_A_M_E
+       mark - mark messages
+
+  _S_Y_N_O_P_S_I_S
+       mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] [-list]
+            [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _m_a_r_k command manipulates message sequences by adding or  
delet-
+       ing  message  numbers from folder-specific message sequences, or by
+       listing those sequences and messages.  A message sequence is a key-
+       word,  just  like  one  of  the  "reserved"  message names, such as
+       "first" or "next".  Unlike the "reserved" message names, which have
+       a fixed semantics on a per-folder basis, the semantics of a message
+       sequence may be defined, modified, and removed by the  user.   Mes-
+       sage  sequences are folder-specific, e.g., the sequence name "seen"
+       in the context of folder "+inbox" need not have any relation  what-
+       soever  to the sequence of the same name in a folder of a different
+       name.
+
+       Three action switches direct the operation of _m_a_r_k.  These 
switches
+       are  mutually  exclusive:  the last occurrence of any of them over-
+       rides any previous occurrence of the other two.
+
+       The `-add' switch tells _m_a_r_k to add messages  to  sequences  or 
 to
+       create   a   new   sequence.   For  each  sequence  named  via  the
+       `-sequence name' argument (which must occur at least once) the mes-
+       sages  named  via  `msgs' (which defaults to "cur" if no `msgs' are
+       given), are added to the sequence.  The messages to be  added  need
+       not  be  absent from the sequence.  If the `-zero' switch is speci-
+       fied, the sequence will be emptied prior to  adding  the  messages.
+       Hence,  `-add -zero' means that each sequence should be initialized
+       to the indicated messages, while  `-add -nozero'  means  that  each
+       sequence should be appended to by the indicated messages.
+
+       The `-delete' switch tells _m_a_r_k to delete messages from  
sequences,
+       and  is  the  dual of `-add'.  For each of the named sequences, the
+       named messages are removed from the sequence.  These messages  need
+       not  be  already present in the sequence.  If the `-zero' switch is
+       specified, then all messages in the  folder  are  appended  to  the
+       sequence  prior  to  removing the messages.  Hence, `-delete -zero'
+       means that each sequence should contain all messages  except  those
+       indicated,  while  `-delete -nozero'  means that only the indicated
+       messages should be removed from each sequence.   As  expected,  the
+       command   `mark -sequence seen -delete all'  deletes  the  sequence
+       "seen" from the current folder.
+
+       When creating (or modifying) a sequence, the `-public' switch indi-
+       cates that the sequence should be made readable for other _M_H users.
+       In contrast, the `-nopublic' switch  indicates  that  the  sequence
+       should be private to the user's _M_H environment.
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MARK(1)                           -44-                           MARK(1)
+
+
+       The `-list' switch tells _m_a_r_k to list both  the  sequences  
defined
+       for  the  folder  and the messages associated with those sequences.
+       _M_a_r_k will list each sequence named via `-sequence name' (or all 
 of
+       them  if  `-sequence' isn't used), and the messages associated with
+       that sequence.  The `-zero' switch does not affect the operation of
+       `-list'.
+
+       The current restrictions on sequences are:
+
+         The name used to denote a message sequence  must  consist  of  an
+         alphabetic  character followed by zero or more alphanumeric char-
+         acters, and can not be one of the "reserved" message names (e.g.,
+         "first", "cur", and so forth).
+
+         Only a certain number of sequences may be  defined  for  a  given
+         folder.  This number is usually limited to 10.
+
+         Message ranges with user-defined sequence names are restricted to
+         the  form  "name:n"  or "name:-n", and refer to the first or last
+         `n' messages of the sequence `name', respectively.  Constructs of
+         the form "name1-name2" are forbidden.
+
+  _F_i_l_e_s
+      $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+      pick (1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `-add' if `-sequence' is specified, `-list' otherwise
+       `msgs' defaults to cur (or all if `-list' is specified)
+       `-nopublic' if the folder is read-only, `-public' otherwise
+       `-nozero'
+
+
+  _C_o_n_t_e_x_t
+      If a folder is given, it will become the current folder.
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHL(1)                            -45-                            MHL(1)
+
+
+  _N_A_M_E
+       mhl - produce formatted listings of MH messages
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
+            [-folder +folder] [-form formfile] [-length lines]
+            [-width columns] [-moreproc program] [-nomoreproc] [files ...]
+            [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _M_h_l is a formatted message listing program.  It can be  used  as  
a
+       replacement  for  _m_o_r_e (1)  (the default 
_s_h_o_w_p_r_o_c ).  As with _m_o_r_e,
+       each of the messages specified as arguments (or the standard input)
+       will  be  output.   If more than one message file is specified, the
+       user will be prompted prior to each one, and a  <RETURN>  or  <EOT>
+       will  begin  the  output,  with  <RETURN>  clearing  the screen (if
+       appropriate), and <EOT> (usually  CTRL-D)  suppressing  the  screen
+       clear.  An <INTERRUPT> (usually CTRL-C) will abort the current mes-
+       sage output, prompting for the next message (if there is one),  and
+       a  <QUIT> (usually CTRL-\) will terminate the program (without core
+       dump).
+
+       The `-bell' option tells _m_h_l to ring the terminal's bell at the 
end
+       of  each  page,  while  the  `-clear' option tells _m_h_l to clear 
the
+       scree at the end of each page (or output a formfeed after each mes-
+       sage).   Both  of  these  switches (and their inverse counterparts)
+       take effect only if the  profile  entry  _m_o_r_e_p_r_o_c  is  
defined  but
+       empty,  and _m_h_l is outputting to a terminal.  If the 
_m_o_r_e_p_r_o_c entry
+       is defined and non-empty, and _m_h_l is outputting to a terminal, 
then
+       _m_h_l  will  cause the _m_o_r_e_p_r_o_c to be placed 
between the terminal and
+       _m_h_l and the switches are ignored.   Furthermore,  if  the  
`-clear'
+       switch is used and _m_h_l'_s output is directed to a terminal, then 
_m_h_l
+       will consult the $TERM and $TERMCAP envariables  to  determine  the
+       user's  terminal type in order to find out how to clear the screen.
+       If the `-clear' switch is used and _m_h_l'_s output is not directed 
 to
+       a  terminal (e.g., a pipe or a file), then _m_h_l will send a 
formfeed
+       after each message.
+
+       To override the default _m_o_r_e_p_r_o_c and the  profile  
entry,  use  the
+       `-moreproc program'  switch.   Note  that  _m_h_l  will  never start 
a
+       _m_o_r_e_p_r_o_c if invoked on a hardcopy terminal.
+
+       The `-length length' and `-width width'  switches  set  the  screen
+       length  and width, respectively.  These default to the values indi-
+       cated by $TERMCAP, if appropriate, otherwise they default to 40 and
+       80, respectively.
+
+       The default format file used by _m_h_l is called 
_m_h_l._f_o_r_m_a_t (which  is
+       first  searched  for in the user's _M_H directory, and then sought in
+       the /_u_s_r/_l_o_c_a_l/_l_i_b/_m_h directory), this can be 
changed by using  the
+       `-form formatfile' switch.
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHL(1)                            -46-                            MHL(1)
+
+
+       Finally, the `-folder +folder' switch  sets  the  _M_H  folder  name,
+       which  is  used  for the "messagename:" field described below.  The
+       envariable $mhfolder is consulted  for  the  default  value,  which
+       _s_h_o_w, _n_e_x_t, and _p_r_e_v initialize appropriately.
+
+       _M_h_l operates in two phases: 1) read and parse the format file,  
and
+       2)  process  each  message  (file).   During  phase  1, an internal
+       description of the format is produced as  a  structured  list.   In
+       phase  2,  this list is walked for each message, outputting message
+       information under the format constraints from the format file.
+
+       The "mhl.format" form file contains information controlling  screen
+       clearing,  screen size, wrap-around control, transparent text, com-
+       ponent ordering, and component formatting.  Also, a  list  of  com-
+       ponents  to ignore may be specified, and a couple of "special" com-
+       ponents are defined to provide added functionality.  Message output
+       will be in the order specified by the order in the format file.
+
+       Each line of mhl.format has one of the formats:
+
+            ;comment
+            :cleartext
+            variable[,variable...]
+            component:[variable,...]
+
+       A line beginning with a `;' is a comment, and is ignored.   A  line
+       beginning with a `:' is clear text, and is output exactly as is.  A
+       line containing only a `:' produces a blank line in the output.   A
+       line  beginning with "component:" defines the format for the speci-
+       fied component, and finally,  remaining  lines  define  the  global
+       environment.
+
+       For example, the line:
+
+            width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
+
+       defines the screen size to be 80 columns by 40 rows, specifies that
+       the screen should be cleared prior to each page, that the  overflow
+       indentation  is  5,  and  that overflow text should be flagged with
+       "***".
+
+       Following are all of the current variables and their arguments.  If
+       they  follow a component, they apply only to that component, other-
+       wise, their affect is global.  Since the  whole  format  is  parsed
+       before  any output processing, the last global switch setting for a
+       variable applies to the whole message if that variable is used in a
+       global context (i.e., bell, clearscreen, width, length).
+
+            _v_a_r_i_a_b_l_e       _t_y_p_e       
_s_e_m_a_n_t_i_c_s
+            width          integer    screen width or component width
+            length         integer    screen length or component length
+            offset         integer    positions to indent "component: "
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHL(1)                            -47-                            MHL(1)
+
+
+            overflowtext   string     text to use at the beginning of an
+                                      overflow line
+            overflowoffset integer    positions to indent overflow lines
+            compwidth      integer    positions to indent component text
+                                      after the first line is output
+            uppercase      flag       output text of this component in all
+                                      upper case
+            nouppercase    flag       don't uppercase
+            clearscreen    flag/G     clear the screen prior to each page
+            noclearscreen  flag/G     don't clearscreen
+            bell           flag/G     ring the bell at the end of each page
+            nobell         flag/G     don't bell
+            component      string/L   name to use instead of "component" for
+                                      this component
+            nocomponent    flag       don't output "component: " for this
+                                      component
+            center         flag       center component on line (works for
+                                      one-line components only)
+            nocenter       flag       don't center
+            leftadjust     flag       strip off leading whitespace on each
+                                      line of text
+            noleftadjust   flag       don't leftadjust
+            compress       flag       change newlines in text to spaces
+            nocompress     flag       don't compress
+            split          flag       don't combine multiple fields into a 
single field
+            nosplit        flag       combine multiple fields into a single 
field
+            formatfield    string     format string for this component (see 
below)
+            addrfield      flag       field contains addresses
+            datefield      flag       field contains dates
+
+       To specify the value of integer-valued and string-valued variables,
+       follow   their   name   with   an   equals-sign   and   the  value.
+       Integer-valued  variables   are   given   decimal   values,   while
+       string-valued  variables  are  given  arbirtray  text  bracketed by
+       double-quotes.  If a value is suffixed by "/G" or  "/L",  then  its
+       value  is  useful  in  a global-only or local-only context (respec-
+       tively).
+
+       A line of the form:
+
+           ignores=component,...
+
+       specifies a list of components which are never output.
+
+       The component  "MessageName"  (case-insensitive)  will  output  the
+       actual  message name (file name) preceded by the folder name if one
+       is specified or found in the environment.  The format is  identical
+       to that produced by the `-header' option to _s_h_o_w.
+
+       The component "Extras" will output all of  the  components  of  the
+       message  which were not matched by explicit components, or included
+       in the ignore list.  If this component is not specified, an  ignore
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHL(1)                            -48-                            MHL(1)
+
+
+       list  is  not  needed  since  all  non-specified components will be
+       ignored.
+
+       If "nocomponent" is NOT specified, then the component name will  be
+       output as it appears in the format file.
+
+       The default format is:
+
+            : -- using template mhl.format --
+            overflowtext="***",overflowoffset=5
+            leftadjust,compwidth=9
+            ignores=msgid,message-id,received
+            Date:formatfield="%<(nodate{text})%{text}%|%(pretty{text})%>"
+            To:
+            cc:
+            :
+            From:
+            Subject:
+            :
+            extras:nocomponent
+            :
+            body:nocomponent,overflowtext=,overflowoffset=0,noleftadjust
+
+       The  variable  "formatfield"  specifies  a   format   string   (see
+       _m_h-_f_o_r_m_a_t (5)).   The  flag  variables  "addrfield" and 
"datefield"
+       (which are mutually exclusive), tell _m_h_l to interpret  the  
escapes
+       in the format string as either addresses or dates, respectively.
+
+       By default, _m_h_l does not apply any formatting string to fields 
con-
+       taining  address  or  dates  (see  _m_h-_m_a_i_l (5)  for a list 
of these
+       fields).  Note that this results in faster operation since _m_h_l 
must
+       parse both addresses and dates in order to apply a format string to
+       them.  If desired, _m_h_l can be given a  default  format  string  
for
+       either  address  or  date  fields (but not both).  To do this, on a
+       global line specify: either the flag addrfield or datefield,  along
+       with the apropriate formatfield variable string.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mhl.format        The message template
+       or <mh-dir>/mhl.format              Rather than the standard template
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       moreproc:            Program to use as interactive front-end
+
+
+  _S_e_e _A_l_s_o
+       show(1), ap(8), dp(8)
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHL(1)                            -49-                            MHL(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-bell'
+       `-noclear'
+       `-length 40'
+       `-width 80'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       There should be some way to pass `bell' and `clear' information  to
+       the front-end.
+
+       On hosts where _M_H was configured  with  the  BERK  option,  address
+       parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHMAIL(1)                         -50-                         MHMAIL(1)
+
+
+  _N_A_M_E
+       mhmail - send or read mail
+
+  _S_Y_N_O_P_S_I_S
+       mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+            [-subject subject]] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _M_H_m_a_i_l is intended as a replacement for the standard Bell 
mail pro-
+       gram  (_b_e_l_l_m_a_i_l (1)),  compatible  with  _M_H.   When 
invoked without
+       arguments, it simply invokes _i_n_c (1) to  incorporate  new  
messages
+       from  the  user's maildrop.  When one or more users is specified, a
+       message is read from the standard input and spooled to a  temporary
+       file.   _M_H_m_a_i_l then invokes _p_o_s_t (8) with the name 
of the temporary
+       file as its argument to deliver the message to the specified user.
+
+       The `-subject subject' switch can be used to specify the "Subject:"
+       field  of  the  message.   The  `-body text'  switch can be used to
+       specify the text of the message; if it is specified, then the stan-
+       dard input is not read.  Normally, addresses appearing as arguments
+       are put in the "To:" field.  If  the  `-cc'  switch  is  used,  all
+       addresses following it are placed in the "cc:" field.
+
+       By using `-from addr', you can specify the "From:"  header  of  the
+       draft.    Naturally,   _p_o_s_t   will  fill-in  the  "Sender:"  
header
+       correctly.
+
+       This program is intended for the use of programs  such  as  _a_t (1),
+       which  expect  to  send  mail automatically to various users.  Nor-
+       mally, real people (as opposed to the "unreal" ones) will prefer to
+       use _c_o_m_p (1) and _s_e_n_d (1) to send messages.
+
+  _F_i_l_e_s
+       /usr/local/inc                      Program to incorporate a maildrop 
into a folder
+       /usr/local/lib/mh/post              Program to deliver a message
+       /tmp/mhmail*                        Temporary copy of message
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       inc(1), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHMAIL(1)                         -51-                         MHMAIL(1)
+
+
+  _C_o_n_t_e_x_t
+       If _i_n_c is invoked, then _i_n_c's context changes occur.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHOOK(1)                          -52-                          MHOOK(1)
+
+
+  _N_A_M_E
+       mhook - MH receive-mail hooks
+
+  _S_Y_N_O_P_S_I_S
+       $HOME/.maildelivery
+
+       /usr/local/lib/mh/rcvdist [-form formfile] [switches for 
_p_o_s_t_p_r_o_c]
+            address ...  [-help]
+
+       /usr/local/lib/mh/rcvpack file [-help]
+
+       /usr/local/lib/mh/rcvtty [command] [-form formatfile]
+            [-format string] [-bell] [-nobell] [-newline] [-nonewline]
+            [-biff] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       A receive-mail hook is a program that is run whenever you receive a
+       mail message.  You do NOT invoke the hook yourself, rather the hook
+       is invoked on your behalf by _M_M_D_F.
+
+       The ._m_a_i_l_d_e_l_i_v_e_r_y file, which is an ordinary 
ASCII  file,  controls
+       how  local  delivery  is performed.  This file is read by the local
+       channel.  See _m_a_i_l_d_e_l_i_v_e_r_y (5) for the details.
+
+       Four programs are currently standardly available,  
_r_c_v_d_i_s_t  (redis-
+       tribute  incoming messages to additional recipients), 
_r_c_v_p_a_c_k (save
+       incoming messages in a _p_a_c_k_f'd file), and _r_c_v_t_t_y  
(notify  user  of
+       incoming  messages).  The fourth program, _r_c_v_s_t_o_r_e (1) 
is described
+       separately.  They all reside in the 
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/ directory.
+
+       The _r_c_v_d_i_s_t program will resend a copy of the message to 
all of the
+       addresses  listed  on  its command line.  It uses the format string
+       facility described in _m_h-_f_o_r_m_a_t (5).
+
+       The _r_c_v_p_a_c_k program will append a copy of the message to  
the  file
+       listed  on  its  command  line.  Its use is obsoleted by the 
._m_a_i_l_-
+       _d_e_l_i_v_e_r_y.
+
+       The _r_c_v_t_t_y program executes the named file with the message 
as  its
+       standard input, and writes the resulting output on your terminal.
+
+       If no file is specified,  or  is  bogus,  etc.,  then  
_r_c_v_t_t_y  will
+       instead    write    a    one-line   scan   listing.    Either   the
+       `-form formatfile' or `-format string' option may be used to  over-
+       ride  the  default output format (see _m_h-_f_o_r_m_a_t (5)).  
A newline is
+       output before the message output, and the  terminal  bell  is  rung
+       after  the  output.   The  `-nonewline'  and `-nobell' options will
+       inhibit these functions.
+
+       Normally, _r_c_v_t_t_y obeys write permission  as  granted  by  
_m_e_s_g (1).
+       With  the  `-biff' option, _r_c_v_t_t_y will obey the 
notification status
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHOOK(1)                          -53-                          MHOOK(1)
+
+
+       set by _b_i_f_f (1).  If the terminal access daemon (TTYD) is 
available
+       on  your system, then _r_c_v_t_t_y will give its output to the 
daemon for
+       output instead of writing on the user's terminal.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       $HOME/.maildelivery                 The file controlling local delivery
+       /usr/local/lib/mh/maildelivery      Rather than the standard file
+
+
+  _S_e_e _A_l_s_o
+       rcvstore (1), maildelivery(5), mh-format(5)
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       Only two return codes are meaningful, others should be.
+
+       Versions of _M_M_D_F with the _m_a_i_l_d_e_l_i_v_e_r_y  
mechanism  aren't  entirely
+       backwards-compatible   with  earlier  versions.   If  you  have  an
+       old-style hook, the best you can do is to have  a  one-line  
._m_a_i_l-
+       _d_e_l_i_v_e_r_y file:
+
+        default - pipe A "bin/rcvmail $(address) $(info) $(sender)"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHPATH(1)                         -54-                         MHPATH(1)
+
+
+  _N_A_M_E
+       mhpath - print full pathnames of MH messages and folders
+
+  _S_Y_N_O_P_S_I_S
+       mhpath [+folder] [msgs] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _M_h_p_a_t_h expands and sorts the message list  `msgs'  and  
writes  the
+       full  pathnames of the messages to the standard output separated by
+       newlines.  If no `msgs' are specified, _m_h_p_a_t_h  outputs  the 
 folder
+       pathname  instead.   If  the  only argument is `+', your MH 
_P_a_t_h is
+       output; this can be useful is shell scripts.
+
+       Contrasted with other MH commands, a message argument to 
_m_h_p_a_t_h may
+       often  be intended for _w_r_i_t_i_n_g.  Because of this: 1) the 
name "new"
+       has been added to _m_h_p_a_t_h's list of reserved message names 
(the oth-
+       ers  are  "first",  "last", "prev", "next", "cur", and "all").  The
+       new message is equivalent to the message after the last message  in
+       a  folder  (and equivalent to 1 in a folder without messages).  The
+       "new" message may not be used as  part  of  a  message  range.   2)
+       Within a message list, the following designations may refer to mes-
+       sages that do not exist: a single numeric message name, the  single
+       message  name "cur", and (obviously) the single message name "new".
+       All other message designations must refer to at least one  existing
+       message.  3) An empty folder is not in itself an error.
+
+       Message numbers greater than the  highest  existing  message  in  a
+       folder  as  part  of a range designation are replaced with the next
+       free message number.
+
+       Examples: The current folder foo contains messages 3 5 6.   Cur  is
+       4.
+
+            % mhpath
+            /r/phyl/Mail/foo
+
+            % mhpath all
+            /r/phyl/Mail/foo/3
+            /r/phyl/Mail/foo/5
+            /r/phyl/Mail/foo/6
+
+            % mhpath 2001
+            /r/phyl/Mail/foo/7
+
+            % mhpath 1-2001
+            /r/phyl/Mail/foo/3
+            /r/phyl/Mail/foo/5
+            /r/phyl/Mail/foo/6
+
+            % mhpath new
+            /r/phyl/Mail/foo/7
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHPATH(1)                         -55-                         MHPATH(1)
+
+
+            % mhpath last new
+            /r/phyl/Mail/foo/6
+            /r/phyl/Mail/foo/7
+
+            % mhpath last-new
+            bad message list "last-new".
+
+            % mhpath cur
+            /r/phyl/Mail/foo/4
+
+            % mhpath 1-2
+            no messages in range "1-2".
+
+            % mhpath first:2
+            /r/phyl/Mail/foo/3
+            /r/phyl/Mail/foo/5
+
+            % mhpath 1 2
+            /r/phyl/Mail/foo/1
+            /r/phyl/Mail/foo/2
+
+       _M_H_p_a_t_h is also useful in back-quoted operations:
+
+            % cd `mhpath +inbox`
+
+            % echo `mhpath +`
+            /r/phyl/Mail
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       folder(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to none
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MHPATH(1)                         -56-                         MHPATH(1)
+
+
+  _B_u_g_s
+       Like all MH commands, _m_h_p_a_t_h expands and sorts  [msgs].   
So  don't
+       expect
+
+            mv `mhpath 501 500`
+
+       to move 501 to 500.  Quite the reverse.  But
+
+            mv `mhpath 501` `mhpath 500`
+
+       will do the trick.
+
+       Out of range message 0 is treated far more severely than large  out
+       of range message numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSGCHK(1)                         -57-                         MSGCHK(1)
+
+
+  _N_A_M_E
+       msgchk - check for messages
+
+  _S_Y_N_O_P_S_I_S
+       msgchk [-date] [-nodate] [-notify all/mail/nomail]
+            [-nonotify all/mail/nomail] [-host host] [-user user] [-rpop]
+            [-norpop] [users ...] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       The _m_s_g_c_h_k program checks all known mail drops for mail 
waiting for
+       you.  For those drops which have mail for you, _m_s_g_c_h_k will 
indicate
+       if it believes that you have seen the mail in question before.
+
+       The `-notify type' switch indicates under what circumstances 
_m_s_g_c_h_k
+       should  produce a message.  The default is `-notify all' which says
+       that _m_s_g_c_h_k should always report the status of the users  
maildrop.
+       Other  values  for  `type'  include  `mail'  which says that 
_m_s_g_c_h_k
+       should report the status of waiting mail; and, `nomail' which  says
+       that  _m_s_g_c_h_k  should  report  the  status  of empty 
maildrops.  The
+       `-nonotify type' switch has the inverted sense, so  `-nonotify all'
+       directs  _m_s_g_c_h_k  to  never report the status of maildrops.  
This is
+       useful if the  user  wishes  to  check  _m_s_g_c_h_k's  exit  
status.   A
+       non-zero  exit  status  indicates  that mail was not waiting for at
+       least one of the indicated users.
+
+       If _m_s_g_c_h_k produces output, then the `-date' switch  directs 
 _m_s_g_c_h_k
+       to  print  out  the  last date mail was read, if this can be deter-
+       mined.
+
+       If the local host  is  configured  as  a  POP  client,  or  if  the
+       `-host host'  switch  is  given,  _m_s_g_c_h_k will query the POP 
service
+       host as to the status of mail waiting.  The `-user user' switch may
+       be  given  to  specify  the  name of the POP subscriber you wish to
+       check mail for on the POP service host.  The  `-rpop'  switch  uses
+       the  UNIX  _r_P_O_P  (authentication done via trusted connections). 
 In
+       contrast, the `-norpop' switch uses the ARPA  _P_O_P  (in  which  
case
+       _m_s_g_c_h_k will prompt for a password).
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/spool/mail/$USER               Location of mail drop
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSGCHK(1)                         -58-                         MSGCHK(1)
+
+
+  _S_e_e _A_l_s_o
+       _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+       inc(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `user' defaults to the current user
+       `-date'
+       `-notify all'
+       `-rpop'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSH(1)                            -59-                            MSH(1)
+
+
+  _N_A_M_E
+       msh - MH shell (and BBoard reader)
+
+  _S_Y_N_O_P_S_I_S
+       msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] [file]
+            [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _m_s_h is an interactive program that implements a subset of the  
nor-
+       mal _M_H commands operating on a single file in _p_a_c_k_f'd 
format.  That
+       is, _m_s_h is used to read a file that contains a number of  
messages,
+       as  opposed  to the standard _M_H style of reading a number of files,
+       each file being a separate message in a folder.  _m_s_h's chief 
advan-
+       tage is that the normal _M_H style does not allow a file to have more
+       than one message in it.  Hence, _m_s_h is ideal for  reading  
_B_B_o_a_r_d_s,
+       as  these  files are delivered by the transport system in this for-
+       mat.  In addition, _m_s_h can be used on other files, such as  
message
+       archives  which  have been _p_a_c_ked (see _p_a_c_k_f (1)).  
Finally, _m_s_h is
+       an excellent _M_H tutor.  As the only commands available to the  user
+       are  _M_H  commands,  this  allows _M_H beginners to concentrate on 
how
+       commands to _M_H are formed and (more or less) what they mean.
+
+       When invoked, _m_s_h reads the named file, and enters a command  
loop.
+       The  user  may type most of the normal _M_H commands.  The syntax and
+       semantics of these commands typed to _m_s_h are identical to their  
_M_H
+       counterparts.   In  cases  where  the nature of _m_s_h would be 
incon-
+       sistent (e.g., specifying a `+folder' with some commands), _m_s_h 
will
+       duly inform the user.  The commands that _m_s_h currently supports 
(in
+       some slightly modified or restricted forms) are:
+
+            ali
+            burst
+            comp
+            dist
+            folder
+            forw
+            inc
+            mark
+            mhmail
+            msgchk
+            next
+            packf
+            pick
+            prev
+            refile
+            repl
+            rmm
+            scan
+            send
+            show
+            sortm
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSH(1)                            -60-                            MSH(1)
+
+
+            whatnow
+            whom
+
+       In addition, _m_s_h has a "help" command which gives a brief 
overview.
+       To  terminate  _m_s_h, type CTRL-D, or use the "quit" command.  If 
_m_s_h
+       is being invoked from _b_b_c, then typing CTRL-D will also tell 
_b_b_c to
+       exit as well, while using the "quit" command will return control to
+       _b_b_c, and _b_b_c will continue examining the list of BBoards 
that it is
+       scanning.
+
+       If the file is writable and has been modified,  then  using  "quit"
+       will query the user if the file should be updated.
+
+       The `-prompt string' switch sets the prompting string for _m_s_h.
+
+       You may wish to use an alternate _M_H profile for the  commands  that
+       _m_s_h  executes; see _m_h-_p_r_o_f_i_l_e (5) for details 
about the $MH envari-
+       able.
+
+       When invoked from _b_b_c, two special features are enabled: First, 
the
+       `-scan' switch directs _m_s_h to do a `scan unseen' on start-up if 
new
+       items are present in the BBoard.  This feature is  best  used  from
+       _b_b_c,  which  correctly sets the stage.  Second, the _m_a_r_k 
command in
+       _m_s_h acts specially when you are reading a BBoard,  since  
_m_s_h  will
+       consult the sequence "unseen" in determining what messages you have
+       actually read.  When _m_s_h exits, it reports this information to 
_b_b_c.
+       In  addition,  if  you give the _m_a_r_k command with no arguments, 
_m_s_h
+       will interpret  it  as  `mark -sequence unseen -delete -nozero all'
+       Hence,  to discard all of the messages in the current BBoard you're
+       reading, just use the _m_a_r_k command with no arguments.
+
+       Normally, the "exit" command is identical to the "quit" command  in
+       _m_s_h.   When  run  under _b_b_c however, "exit" directs 
_m_s_h to mark all
+       messages as seen and then "quit".  For speedy type-in, this command
+       is often abbreviated as just "e".
+
+       When invoked from _v_m_h, another  special  feature  is  enabled:  
The
+       `topcur' switch directs _m_s_h to have the current message "track" 
the
+       top line of the _v_m_h scan window.  Normally,  _m_s_h  has  the  
current
+       message  "track" the center of the window (under `-notopcur', which
+       is the default).
+
+       _m_s_h supports an output redirection facility.  Commands may be  
fol-
+       lowed by one of
+
+            > _f_i_l_e     write output to _f_i_l_e
+            >> _f_i_l_e    append output to _f_i_l_e
+            | _c_o_m_m_a_n_d  pipe output to UNIX _c_o_m_m_a_n_d
+
+       If _f_i_l_e starts with a `~' (tilde), then a _c_s_h-like 
expansion  takes
+       place.  Note that _c_o_m_m_a_n_d is interpreted by _s_h (1).  
Also note that
+       _m_s_h does NOT support history substitutions, variable 
substitutions,
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSH(1)                            -61-                            MSH(1)
+
+
+       or alias substitutions.
+
+       When parsing commands to the left of any  redirection  symbol,  
_m_s_h
+       will honor `\' (back-slash) as the quote next-character symbol, and
+       `"' (double-quote)  as  quote-word  delimiters.   All  other  input
+       tokens are separated by whitespace (spaces and tabs).
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /usr/local/lib/mh/mtstailor         tailor file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Msg-Protect:         To set mode when creating a new `file'
+       fileproc:            Program to file messages
+       showproc:            Program to show messages
+
+
+  _S_e_e _A_l_s_o
+       bbc(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `file' defaults to "./msgbox"
+       `-prompt (msh) '
+       `-noscan'
+       `-notopcur'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MSH(1)                            -62-                            MSH(1)
+
+
+  _B_u_g_s
+       The argument to the `-prompt' switch must be interpreted as a  sin-
+       gle  token by the shell that invokes _m_s_h.  Therefore, one must 
usu-
+       ally place the argument to this switch inside double-quotes.
+
+       There is a strict limit of messages  per  file  in  _p_a_c_k_f'd  
format
+       which _m_s_h can handle.  Usually, this limit is 1000 messages.
+
+       Please remember that _m_s_h is not the _C_S_h_e_l_l, and that 
a lot  of  the
+       nice facilities provided by the latter are not present in the form-
+       er.
+
+       In particular, _m_s_h does not understand back-quoting,  so  the  
only
+       effective  way  to  use  _p_i_c_k  inside  _m_s_h  is  to  
always  use the
+       `-seq select' switch.  Clever users of _M_H will put the line
+
+            pick: -seq select -list
+
+       in their .mh_profile file so that _p_i_c_k works equally well from 
both
+       the shell and _m_s_h.
+
+       _s_o_r_t_m always uses "-noverbose" and if "-textfield field"  is  
used,
+       "-limit 0".
+
+       The _m_s_h program inherits most (if not all) of the bugs from the  
_M_H
+       commands it implements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  NEXT(1)                           -63-                           NEXT(1)
+
+
+  _N_A_M_E
+       next - show the next message
+
+  _S_Y_N_O_P_S_I_S
+       next [+folder] [-header] [-noheader] [-showproc program]
+            [-noshowproc] [switches for _s_h_o_w_p_r_o_c] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _N_e_x_t performs a _s_h_o_w on the  next  message  in  the  
specified  (or
+       current)  folder.  Like _s_h_o_w, it passes any switches on to the 
pro-
+       gram _s_h_o_w_p_r_o_c, which is called to list the message.   
This  command
+       is  almost  exactly  equivalent to "show next".  Consult the manual
+       entry for _s_h_o_w (1) for all the details.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       showproc:            Program to show the message
+
+
+  _S_e_e _A_l_s_o
+       show(1), prev(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `-header'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is specified, it will become the current  folder.   The
+       message that is shown (i.e., the next message in sequence) will be-
+       come the current message.
+
+
+  _B_u_g_s
+       _n_e_x_t is really a link to the _s_h_o_w program.  As  a  
result,  if  you
+       make  a  link  to  _n_e_x_t and that link is not called 
_n_e_x_t, your link
+       will  act  like  _s_h_o_w  instead.   To   circumvent   this,   add 
  a
+       profile-entry  for the link to your _M_H profile and add the argument
+       _n_e_x_t to the entry.
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PACKF(1)                          -64-                          PACKF(1)
+
+
+  _N_A_M_E
+       packf - compress a folder into a single file
+
+  _S_Y_N_O_P_S_I_S
+       packf [+folder] [msgs] [-file name] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _P_a_c_k_f takes messages from a folder and  copies  them  to  a  
single
+       file.  Each message in the file is separated by four CTRL-A's and a
+       newline (identical to the way messages are stored in your receiving
+       mail drop).  Messages packed can be unpacked using _i_n_c.
+
+       If the _n_a_m_e given to the `-file name' switch exists, then the  
mes-
+       sages  specified will be appended to the end of the file, otherwise
+       the file will be created and the messages appended.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Msg-Protect:         To set mode when creating a new `file'
+
+
+  _S_e_e _A_l_s_o
+       inc(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to all
+       `-file ./msgbox'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The first
+       message packed will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PICK(1)                           -65-                           PICK(1)
+
+
+  _N_A_M_E
+       pick - select messages by content
+
+  _S_Y_N_O_P_S_I_S
+       pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+            [-lbrace ... -rbrace] [--component pattern] [-after date]
+            [-before date] [-datefield field] [-sequence name ...]
+            [-public] [-nopublic] [-zero] [-nozero] [-list] [-nolist]
+            [-help]
+
+       typically:
+            scan `pick -from jones`
+            pick -to holloway -sequence select
+            show `pick -before friday`
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _P_i_c_k searches messages within a folder for the specified  
contents,
+       and then identifies those messages.  Two types of search primitives
+       are available: pattern matching and date constraint operations.
+
+       A modified _g_r_e_p(1) is used to perform the  matching,  so  the  
full
+       regular  expression  (see _e_d(1)) facility is available within `pat-
+       tern'.  With `-search', `pattern' is used directly,  and  with  the
+       others, the grep pattern constructed is:
+
+            "component[ \t]*:.*pattern"
+
+       This means that the pattern specified for a `-search' will be found
+       everywhere in the message, including the header and the body, while
+       the other pattern matching  requests  are  limited  to  the  single
+       specified component.  The expression
+
+            `--component pattern'
+
+       is a shorthand for specifying
+
+            `-search "component[ \t]*:.*pattern" '
+
+       It is used to pick a component which is not one  of  "To:",  "cc:",
+       "Date:",     "From:",     or    "Subject:".     An    example    is
+       `pick --reply-to pooh'.
+
+       Pattern matching is performed on  a  per-line  basis.   Within  the
+       header  of the message, each component is treated as one long line,
+       but in the body, each line is separate.  Lower-case letters in  the
+       search  pattern  will  match either lower or upper case in the mes-
+       sage, while upper case will match only upper case.
+
+       Note that since the `-date' switch is a pattern matching  operation
+       (as  described  above), to find messages sent on a certain date the
+       pattern string must match the text of  the  "Date:"  field  of  the
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PICK(1)                           -66-                           PICK(1)
+
+
+       message.
+
+       Independent of  any  pattern  matching  operations  requested,  the
+       switches `-after date' or `-before date' may also be used to intro-
+       duce date/time contraints on all of the messages.  By default,  the
+       "Date:"  field  is  consulted,  but  if another date yielding field
+       (such as "BB-Posted:" or  "Delivery-Date:")  should  be  used,  the
+       `-datefield field' switch may be used.
+
+       With `-before' and `-after', _p_i_c_k  will  actually  parse  the  
date
+       fields in each of the messages specified in `msgs' and compare them
+       to the date/time specified.  If `-after' is given, then only  those
+       messages  whose  "Date:"  field  value is chronologically after the
+       date specified will be considered.  The `-before' switch  specifies
+       the complimentary action.
+
+       Both the `-after' and `-before' switches take legal 822-style  date
+       specifications  as  arguments.   _P_i_c_k  will default certain 
missing
+       fields so that the entire date need not be specified.  These fields
+       are  (in  order  of defaulting): timezone, time and timezone, date,
+       date and timezone.  All defaults are taken from the  current  date,
+       time, and timezone.
+
+       In addition to 822-style dates, _p_i_c_k will also recognize any of 
the
+       days  of  the week ("sunday", "monday", and so on), and the special
+       dates "today", "yesterday" (24 hours ago), and "tomorrow" (24 hours
+       from  now).   All  days of the week are judged to refer to a day in
+       the past (e.g.,  telling  _p_i_c_k  "saturday"  on  a  "tuesday"  
means
+       "last saturday" not "this saturday").
+
+       Finally, in addition to these  special  specifications,  _p_i_c_k  
will
+       also  honor a specification of the form "-dd", which means "dd days
+       ago".
+
+       _P_i_c_k supports complex boolean operations on  the  searching  
primi-
+       tives  with  the  `-and',  `-or', `-not', and `-lbrace ... -rbrace'
+       switches.  For example,
+
+            pick -after yesterday -and -lbrace -from freida -or -from fear 
-rbrace
+
+       identifies messages recently sent by "frieda" or "fear".
+
+       The matching primitives take precedence  over  the  `-not'  switch,
+       which in turn takes precedence over `-and' which in turn takes pre-
+       cedence over  `-or'.   To  override  the  default  precedence,  the
+       `-lbrace'  and `-rbrace' switches are provided, which act just like
+       opening and closing parentheses in logical expressions.
+
+       Once the search has been performed, if the `-list' switch is given,
+       the  message  numbers  of  the selected messages are written to the
+       standard output separated by newlines.  This  is  
_e_x_t_r_e_m_e_l_y  useful
+       for quickly generating arguments for other _M_H programs by using the
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PICK(1)                           -67-                           PICK(1)
+
+
+       "backquoting" syntax of the shell.  For example, the command
+
+            scan `pick +todo -after "31 Mar 83 0123 PST"`
+
+       says to _s_c_a_n those messages in the indicated folder which meet  
the
+       appropriate criterion.  Note that since _p_i_c_k 's context changes 
are
+       written out prior to _s_c_a_n 's invocation,  you  need  not  give  
the
+       folder argument to _s_c_a_n as well.
+
+       Regardless of the operation of the `-list' switch,  the  `-sequence
+       name' switch may be given once for each sequence the user wishes to
+       define.  For each sequence named, that sequence will be defined  to
+       mean exactly those messages selected by _p_i_c_k.  For example,
+
+            pick -from frated -seq fred
+
+       defines a new message sequence for the current folder called "fred"
+       which contains exactly those messages that were selected.
+
+       Note that whenever _p_i_c_k processes  a  `-sequence name'  switch, 
 it
+       sets `-nolist'.
+
+       By default, _p_i_c_k will zero the sequence  before  adding  it.   
This
+       action  can be disabled with the `-nozero' switch, which means that
+       the messages selected by _p_i_c_k will be added to the sequence, if 
 it
+       already  exists,  and  any messages already a part of that sequence
+       will remain so.
+
+       The `-public' and `-nopublic' switches are used by _p_i_c_k in the 
same
+       way _m_a_r_k uses them.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       mark(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to all
+       `-datefield date'
+       `-nopublic' if the folder is read-only, `-public' otherwise
+       `-zero'
+       `-list' is the default if no `-sequence', `-nolist' otherwise
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PICK(1)                           -68-                           PICK(1)
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.
+
+
+  _H_i_s_t_o_r_y
+       In previous versions of _M_H, the _p_i_c_k command would 
_s_h_o_w,  _s_c_a_n,  or
+       _r_e_f_i_l_e  the  selected  messages.   This was rather 
"inverted logic"
+       from the UNIX point of view, so _p_i_c_k  was  changed  to  define  
se-
+       quences  and  output  those  sequences.  Hence, _p_i_c_k can be 
used to
+       generate the arguments for all other _M_H commands, instead of giving
+       _p_i_c_k endless switches for invoking those commands itself.
+
+       Also, previous versions of _p_i_c_k balked  if  you  didn't  
specify  a
+       search  string or a date/time constraint.  The current version does
+       not, and merely matches the messages you specify.   This  lets  you
+       type something like:
+
+            show `pick last:20 -seq fear`
+
+       instead of typing
+
+            mark -add -nozero -seq fear last:20
+            show fear
+
+       Finally, timezones used to be ignored when  comparing  dates:  they
+       aren't any more.
+
+
+  _B_u_g_s
+       The argument to the `-after' and `-before' switches must be  inter-
+       preted  as  a  single token by the shell that invokes _p_i_c_k.  
There-
+       fore, one must usually place the argument  to  this  switch  inside
+       double-quotes.  Furthermore, any occurance of `-datefield' must oc-
+       cur prior to the `-after' or `-before' switch it applies to.
+
+       If _p_i_c_k is used in a back-quoted operation, such as
+
+            scan `pick -from jones`
+
+       and _p_i_c_k fails (e.g., no messages are from "jones"), then the 
shell
+       will still run the outer command (e.g., "scan").  Since no messages
+       were matched, _p_i_c_k produced no output, and the  argument  given 
 to
+       the outer command as a result of backquoting _p_i_c_k is empty.  In 
the
+       case of _M_H programs, the outer command now acts as if  the  default
+       `msg'  or `msgs' should be used (e.g., "all" in the case of 
_s_c_a_n ).
+       To prevent this unexpected behavior, if `-list' was given,  and  if
+       its  standard  output  is  not a tty, then _p_i_c_k outputs the 
illegal
+       message number "0" when it fails.  This lets the outer command fail
+       gracefully as well.
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PREV(1)                           -69-                           PREV(1)
+
+
+  _N_A_M_E
+       prev - show the previous message
+
+  _S_Y_N_O_P_S_I_S
+       prev [+folder] [-header] [-noheader] [-showproc program]
+            [-noshowproc] [-switches for _s_h_o_w_p_r_o_c] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _P_r_e_v performs a _s_h_o_w on the previous message in the  
specified  (or
+       current)  folder.  Like _s_h_o_w, it passes any switches on to the 
pro-
+       gram named by _s_h_o_w_p_r_o_c, which is called to list the 
message.   This
+       command  is  almost exactly equivalent to "show prev".  Consult the
+       manual entry for _s_h_o_w (1) for all the details.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       showproc:            Program to show the message
+
+
+  _S_e_e _A_l_s_o
+       show(1), next(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `-header'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is specified, it will become the current  folder.   The
+       message that is shown (i.e., the previous message in sequence) will
+       become the current message.
+
+
+  _B_u_g_s
+       _p_r_e_v is really a link to the _s_h_o_w program.  As  a  
result,  if  you
+       make  a  link  to  _p_r_e_v and that link is not called 
_p_r_e_v, your link
+       will  act  like  _s_h_o_w  instead.   To   circumvent   this,   add 
  a
+       profile-entry  for the link to your _M_H profile and add the argument
+       _p_r_e_v to the entry.
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PROMPTER(1)                       -70-                       PROMPTER(1)
+
+
+  _N_A_M_E
+       prompter - prompting editor front-end
+
+  _S_Y_N_O_P_S_I_S
+       prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] [-rapid]
+            [-norapid] [-doteof] [-nodoteof] file [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       This program is normally not invoked directly by  users  but  takes
+       the  place  of  an  editor  and  acts  as  an editor front-end.  It
+       operates on an 822-style message draft skeleton specified by  file,
+       normally provided by _c_o_m_p, _d_i_s_t, _f_o_r_w, or 
_r_e_p_l.
+
+       _P_r_o_m_p_t_e_r is an editor which allows rapid composition  
of  messages.
+       It  is particularly useful to network and low-speed (less than 2400
+       baud) users of _M_H.  It is an _M_H program in that it can have its 
own
+       profile  entry with switches, but it is not invoked directly by the
+       user.  The commands _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l invoke  _p_r_o_m_p_t_e_r  as
+       an  editor,  either when invoked with `-editor prompter', or by the
+       profile  entry  "Editor: prompter",  or  when  given  the   command
+       `edit prompter' at "What now?" level.
+
+       For each empty component _p_r_o_m_p_t_e_r finds in the draft, 
the  user  is
+       prompted  for a response; A <RETURN> will cause the whole component
+       to be left out.  Otherwise, a `\' preceding a  <RETURN>  will  con-
+       tinue  the  response  on the next line, allowing for multiline com-
+       ponents.  Continuation lines must begin with a space or tab.
+
+       Each non-empty component is copied to the draft  and  displayed  on
+       the terminal.
+
+       The start of the message body is denoted by a blank line or a  line
+       of dashes.  If the body is non-empty, the prompt, which isn't writ-
+       ten to the file, is
+
+           "--------Enter additional text",
+
+       or (if `-prepend' was given)
+
+           "--------Enter initial text".
+
+       Message-body typing is  terminated  with  an  end-of-file  (usually
+       CTRL-D).   With  the  `-doteof'  switch,  a period on a line all by
+       itself also  signifies  end-of-file.   At  this  point  control  is
+       returned  to  the  calling  program,  where the user is asked "What
+       now?".  See _w_h_a_t_n_o_w for the valid options to this query.
+
+       By using the `-prepend' switch, the user can  add  type-in  to  the
+       beginning of the message body and have the rest of the body follow.
+       This is useful for the _f_o_r_w command.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PROMPTER(1)                       -71-                       PROMPTER(1)
+
+
+       By using the `-rapid' switch, if the draft already contains text in
+       the message-body, it is not displayed on the user's terminal.  This
+       is useful for low-speed terminals.
+
+       The line editing characters for kill and erase may be specified  by
+       the  user via the arguments `-kill chr' and `-erase chr', where chr
+       may be a character; or `\nnn', where "nnn" is the octal  value  for
+       the character.
+
+       An interrupt (usually CTRL-C) during component  typing  will  abort
+       _p_r_o_m_p_t_e_r  and  the _M_H command that invoked it.  An 
interrupt during
+       message-body typing is equivalent to CTRL-D,  for  historical  rea-
+       sons.  This means that _p_r_o_m_p_t_e_r should finish up and 
exit.
+
+       The first non-flag argument to _p_r_o_m_p_t_e_r is taken as the 
name of the
+       draft file, and subsequent non-flag arguments are ignored.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /tmp/prompter*                      Temporary copy of message
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       prompter-next:       To name the editor to be  used  on  exit  from
+       _p_r_o_m_p_t_e_r
+       Msg-Protect:         To set mode when creating a new draft
+
+
+  _S_e_e _A_l_s_o
+       comp(1), dist(1), forw(1), repl(1), whatnow(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-prepend'
+       `-norapid'
+       `-nodoteof'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+  _H_e_l_p_f_u_l _H_i_n_t_s
+
+       The  `-rapid'  option  is  particularly  useful  with   _f_o_r_w,   
and
+       `-noprepend' is useful with _c_o_m_p -_u_s_e.
+
+       The user may wish to link _p_r_o_m_p_t_e_r under several names 
(e.g.,  "ra-
+       pid")  and  give  appropriate switches in the profile entries under
+       these names (e.g., "rapid:  -rapid").   This  facilitates  invoking
+       prompter  differently for different _M_H commands (e.g., "forw: -edi-
+       tor rapid").
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  PROMPTER(1)                       -72-                       PROMPTER(1)
+
+
+  _B_u_g_s
+       _P_r_o_m_p_t_e_r uses _s_t_d_i_o (3), so it will lose if  
you  edit  files  with
+       nulls in them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RCVSTORE(1)                       -73-                       RCVSTORE(1)
+
+
+  _N_A_M_E
+       rcvstore - incorporate new mail asynchronously
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
+            [-sequence name ...] [-public] [-nopublic] [-zero] [-nozero]
+            [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_c_v_s_t_o_r_e incorporates a message from the standard input 
into an  _M_H
+       folder.   If `+folder' isn't specified, the folder named "inbox" in
+       the user's _M_H directory will be  used  instead.   The  new  message
+       being  incorporated  is  assigned  the  next  highest number in the
+       folder.  If the specified (or default) folder doesn't  exist,  then
+       it  will be created if the `-create' option is specified, otherwise
+       _r_c_v_s_t_o_r_e will exit.
+
+       If the user's profile contains a "Msg-Protect: nnn" entry, it  will
+       be  used as the protection on the newly created messages, otherwise
+       the _M_H default of 0644 will be used.  During all operations on mes-
+       sages,  this  initially  assigned  protection will be preserved for
+       each message, so _c_h_m_o_d(1) may be used to set  a  protection  
on  an
+       individual   message,   and   its   protection  will  be  preserved
+       thereafter.
+
+       _R_c_v_s_t_o_r_e will incorporate anything except zero length 
messages into
+       the user's MH folder.
+
+       If the profile entry "Unseen-Sequence" is  present  and  non-empty,
+       then  _r_c_v_s_t_o_r_e  will  add  the  newly  incorporated 
message to each
+       sequence named by the  profile  entry.   This  is  similar  to  the
+       "Previous-Sequence"  profile  entry  supported  by  all _M_H commands
+       which take `msgs' or `msg' arguments.  Note that 
_r_c_v_s_t_o_r_e will  not
+       zero each sequence prior to adding messages.
+
+       Furthermore, the incoming messages may  be  added  to  user-defined
+       sequences  as  they  arrive  by  appropriate use of the `-sequence'
+       option.  As with _p_i_c_k, use of the `-zero'  and  `-nozero'  
switches
+       can  also  be used to zero old sequences or not.  Similarly, use of
+       the `-public' and `-nopublic switches may be used  to  force  addi-
+       tions to public and private sequences.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RCVSTORE(1)                       -74-                       RCVSTORE(1)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Folder-Protect:      To set mode when creating a new folder
+       Msg-Protect:         To set mode when creating a new message
+       Unseen-Sequence:     To name sequences denoting unseen messages
+
+
+  _S_e_e _A_l_s_o
+       inc(1), pick(1), mh-mail(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to "inbox"
+       `-create'
+       `-nopublic' if the folder is read-only, `-public' otherwise
+       `-nozero'
+
+
+  _C_o_n_t_e_x_t
+       No context changes will be attempted, with  the  exception  of  se-
+       quence manipulation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REFILE(1)                         -75-                         REFILE(1)
+
+
+  _N_A_M_E
+       refile - file message in other folders
+
+  _S_Y_N_O_P_S_I_S
+       refile [msgs] [-draft] [-link] [-nolink] [-preserve] [-nopreserve]
+            [-src +folder] [-file file] [-rmmproc program] [-normmproc]
+            +folder ...  [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_e_f_i_l_e moves (_m_v (1)) or links  (_l_n (1))  messages  
from  a  source
+       folder  into  one  or  more destination folders.  If you think of a
+       message as a sheet of paper, this operation is  not  unlike  filing
+       the  sheet  of  paper  (or copies) in file cabinet folders.  When a
+       message is filed, it is linked into the  destination  folder(s)  if
+       possible,  and  is  copied  otherwise.   As long as the destination
+       folders are all on the same file  system,  multiple  filing  causes
+       little  storage  overhead.   This  facility  provides a good way to
+       cross-file or multiply-index messages.  For example, if  a  message
+       is received from Jones about the ARPA Map Project, the command
+
+            refile cur +jones +Map
+
+       would allow the message to be found in either of  the  two  folders
+       `jones' or `Map'.
+
+       The option `-file file' directs _r_e_f_i_l_e to use the specified 
file as
+       the  source  message  to  be  filed,  rather  than a message from a
+       folder.  Note that the file should be a validly formatted  message,
+       just like any other _M_H message.  It should NOT be in mail drop for-
+       mat (to convert a file in mail drop format to a folder of  _M_H  mes-
+       sages, see _i_n_c (1)).
+
+       If a destination folder doesn't exist, _r_e_f_i_l_e will ask if 
you  want
+       to create it.  A negative response will abort the file operation.
+
+       The option `-link' preserves the source folder copy of the  message
+       (i.e.,  it  does  a  _l_n(1) rather than a _m_v(1)), whereas, 
`-nolink'
+       deletes the filed messages from the source folder.  Normally,  when
+       a  message  is filed, it is assigned the next highest number avail-
+       able in each of the destination folders.  Use  of  the  `-preserve'
+       switch  will override this message renaming, but name conflicts may
+       occur, so use this switch cautiously.
+
+       If `-link' is not specified (or `-nolink' is specified), the  filed
+       messages  will  be removed from the source folder, by renaming them
+       with a site-dependent prefix (usually a comma).
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REFILE(1)                         -76-                         REFILE(1)
+
+
+       If the user has a profile component such as
+
+               rmmproc:        /bin/rm
+
+       then _r_e_f_i_l_e will instead call the named program to delete 
the  mes-
+       sage files.  The user may specify `-rmmproc program' on the command
+       line to override  this  profile  specification.   The  `-normmproc'
+       option  forces  the message files to be deleted by renaming them as
+       described above.
+
+       The `-draft' switch tells _r_e_f_i_l_e to file the <mh-dir>/draft.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Folder-Protect:      To set mode when creating a new folder
+       rmmproc:             Program to delete the message
+
+
+  _S_e_e _A_l_s_o
+       folder(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-src +folder' defaults to the current folder
+       `msgs' defaults to cur
+       `-nolink'
+       `-nopreserve'
+
+
+  _C_o_n_t_e_x_t
+       If `-src +folder' is given, it will become the current folder.   If
+       neither  `-link' nor `all' is specified, the current message in the
+       source folder will be set to the last message specified; otherwise,
+       the current message won't be changed.
+
+       If the Previous-Sequence profile entry is set, in addition  to  de-
+       fining the named sequences from the source folder, _r_e_f_i_l_e 
will also
+       define  those  sequences  for   the   destination   folders.    See
+       _m_h-_p_r_o_f_i_l_e (1) for information concerning the 
previous sequence.
+
+
+  _B_u_g_s
+       Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to delete the 
message,  the  _r_m_m_p_r_o_c
+       must  NOT  call _r_e_f_i_l_e without specifying `-normmproc', or 
you will
+       create an infinte loop.
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REPL(1)                           -77-                           REPL(1)
+
+
+  _N_A_M_E
+       repl - reply to a message
+
+  _S_Y_N_O_P_S_I_S
+       repl [+folder] [msg] [-annotate] [-noannotate] [-cc all/to/cc/me]
+            [-nocc all/to/cc/me] [-draftfolder +folder]
+            [-draftmessage msg] [-nodraftfolder] [-editor editor]
+            [-noedit] [-fcc +folder] [-filter filterfile] [-form formfile]
+            [-inplace] [-noinplace] [-query] [-noquery] [-width columns]
+            [-whatnowproc program] [-nowhatnowproc] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_e_p_l aids a user in producing a reply to an existing message.  
_R_e_p_l
+       uses  a  reply  template to guide its actions when constructing the
+       message draft of the reply.  In its simplest form  (with  no  argu-
+       ments),  it  will  set  up  a message-form skeleton in reply to the
+       current message in the  current  folder,  and  invoke  the  whatnow
+       shell.   The  default  reply template will direct _r_e_p_l to 
construct
+       the composed message as follows:
+
+            To: <Reply-To> or <From>
+            cc: <cc>, <To>, and yourself
+            Subject: Re: <Subject>
+            In-reply-to: Your message of <Date>.
+                         <Message-Id>
+
+       where field names enclosed in angle  brackets  (< >)  indicate  the
+       contents  of the named field from the message to which the reply is
+       being made.  A  reply  template  is  simply  a  format  file.   See
+       _m_h-_f_o_r_m_a_t (5) for the details.
+
+       The `-cc type' switch takes an argument which  specifies  who  gets
+       placed  on  the "cc:" list of the reply.  The `-query' switch modi-
+       fies the action of `-cc type' switch by interactively asking you if
+       each  address  that normally would be placed in the "To:" and "cc:"
+       list  should  actually  be  sent  a  copy.   (This  is  useful  for
+       special-purpose  replies.)  Note that the position of the `-cc' and
+       `-nocc' switches, like all other switches which take a positive and
+       negative form, is important.
+
+       Lines beginning with the fields "To:", "cc:", and  "Bcc:"  will  be
+       standardized  and  have  duplicate addresses removed.  In addition,
+       the `-width columns' switch will guide _r_e_p_l's formatting  of  
these
+       fields.
+
+       If the file named "replcomps" exists in the user's MH directory, it
+       will be used instead of the default form.  In either case, the file
+       specified by `-form formfile' will be used if given.
+
+       If the draft already exists, _r_e_p_l will ask you as to  the  
disposi-
+       tion  of  the  draft.  A reply of quit will abort _r_e_p_l, leaving 
the
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REPL(1)                           -78-                           REPL(1)
+
+
+       draft intact; replace will replace the existing draft with a  blank
+       skeleton; and list will display the draft.
+
+       See _c_o_m_p (1) for a  description  of  the  `-editor'  and  
`-noedit'
+       switches.  Note that while in the editor, the message being replied
+       to is available through a link  named  "@"  (assuming  the  default
+       _w_h_a_t_n_o_w_p_r_o_c ).   In addition, the actual pathname 
of the message is
+       stored in the envariable $editalt, and the pathname of  the  folder
+       containing the message is stored in the envariable $mhfolder.
+
+       Although _r_e_p_l uses the `-form formfile' switch to direct it how 
 to
+       construct  the  beginning  of  the  draft, the `-filter filterfile'
+       switch directs _r_e_p_l as to how the message being  replied-to  
should
+       be  formatted in the body of the draft.  If `-filter' is not speci-
+       fied, then the message being replied-to is not included in the body
+       of  the draft.  If `-filter filterfile' is specified, then the mes-
+       sage being replied-to is filtered  (re-formatted)  prior  to  being
+       output  to  the body of the draft.  The filter file for _r_e_p_l 
should
+       be a standard form file for _m_h_l, as _r_e_p_l will invoke 
_m_h_l to  format
+       the  message  being replied-to.  There is no default message filter
+       (`-filter' must be followed by a file name).  A filter file that is
+       commonly used is:
+
+            :
+            body:nocomponent,compwidth=9,offset=9
+
+       which says to output a blank line and then the body of the  message
+       being replied-to, indented by one tab-stop.  Another format popular
+       on USENET is:
+
+            message-id:nocomponent,formatfield=\
+            "In message %{text}you write:"
+            body:component=">",overflowtext=">",overflowoffset=0
+
+       Which cites the Message-ID of the  message  being  replied-to,  and
+       then outputs each line of the body prefaced with the ">" character.
+
+       If the `-annotate' switch is given, the  message  being  replied-to
+       will be annotated with the lines
+
+            Replied: date
+            Replied: addrs
+
+       where the address list contains one line for each  addressee.   The
+       annotation  will  be done only if the message is sent directly from
+       _r_e_p_l.   If  the  message  is  not  sent  immediately   from   
_r_e_p_l,
+       "comp -use"  may  be  used to re-edit and send the constructed mes-
+       sage, but the annotations won't take place.  The `-inplace'  switch
+       causes annotation to be done in place in order to preserve links to
+       the annotated message.
+
+       The `-fcc +folder' switch can be used to  automatically  specify  a
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REPL(1)                           -79-                           REPL(1)
+
+
+       folder  to  receive Fcc:s.  More than one folder, each preceeded by
+       `-fcc' can be named.
+
+       In addition to the standard _m_h-_f_o_r_m_a_t (5) escapes, 
_r_e_p_l also recog-
+       nizes the following additional _c_o_m_p_o_n_e_n_t escape:
+
+       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+       _f_c_c     string   Any folders specified with `-fcc folder'
+
+       To avoid reiteration, _r_e_p_l strips any leading `Re: '  strings  
from
+       the _s_u_b_j_e_c_t component.
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       Upon exiting from the editor, _r_e_p_l will invoke the 
_w_h_a_t_n_o_w program.
+       See _w_h_a_t_n_o_w (1) for a discussion of available options.  
The invoca-
+       tion of this program can be inhibited by using the `-nowhatnowproc'
+       switch.   (In truth of fact, it is the _w_h_a_t_n_o_w program 
which starts
+       the initial edit.  Hence, `-nowhatnowproc' will  prevent  any  edit
+       from occurring.)
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/replcomps         The reply template
+       or <mh-dir>/replcomps               Rather than the standard template
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/draft                      The draft file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Alternate-Mailboxes: To determine the user's mailboxes
+       Current-Folder:      To find the default current folder
+       Draft-Folder:        To find the default draft-folder
+       Editor:              To override the default editor
+       Msg-Protect:         To  set  mode  when  creating  a  new  message
+       (draft)
+       fileproc:            Program to refile the message
+       mhlproc:             Program to filter message being replied-to
+       whatnowproc:         Program to ask the "What now?" questions
+
+
+  _S_e_e _A_l_s_o
+       comp(1), dist(1), forw(1), send(1), whatnow(1), mh-format(5)
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  REPL(1)                           -80-                           REPL(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msg' defaults to cur
+       `-nocc all' at ATHENA sites, `-cc all' otherwise
+       `-noannotate'
+       `-nodraftfolder'
+       `-noinplace'
+       `-noquery'
+       `-width 72'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The  mes-
+       sage replied-to will become the current message.
+
+
+  _H_i_s_t_o_r_y
+       Prior to using the format string  mechanism,  `-noformat'  used  to
+       cause  address  headers to be output as-is.  Now all address fields
+       are formatted using Internet standard guidelines.
+
+
+  _B_u_g_s
+       If any addresses occur in the reply template, addresses in the tem-
+       plate that do not contain hosts are defaulted incorrectly.  Instead
+       of using the localhost for the  default,  _r_e_p_l  uses  the  
sender's
+       host.   Moral of the story: if you're going to include addresses in
+       a reply template, include the host portion of the address.
+
+       The `-width columns' switch is only  used  to  do  address-folding;
+       other headers are not line-wrapped.
+
+       If _w_h_a_t_n_o_w_p_r_o_c is _w_h_a_t_n_o_w, then 
_r_e_p_l uses a  built-in  _w_h_a_t_n_o_w,  it
+       does  not  actually  run the _w_h_a_t_n_o_w program.  Hence, if 
you define
+       your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _r_e_p_l  won't  run
+       it.
+
+       If your current working directory is not writable, the  link  named
+       "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RMF(1)                            -81-                            RMF(1)
+
+
+  _N_A_M_E
+       rmf - remove folder
+
+  _S_Y_N_O_P_S_I_S
+       rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_m_f removes all of the messages (files) within  the  specified  
(or
+       default)  folder,  and  then removes the folder (directory) itself.
+       If there are any files within the folder which are not  a  part  of
+       _M_H,  they  will  _n_o_t be removed, and an error will be 
produced.  If
+       the folder is given explicitly or the  `-nointeractive'  option  is
+       given,  then the folder will be removed without confirmation.  Oth-
+       erwise, the user will be asked for confirmation.  If _r_m_f can't 
find
+       the  current  folder,  for  some  reason,  the folder to be removed
+       defaults to `+inbox' with confirmation.
+
+       _R_m_f irreversibly deletes messages that don't have other  links,  
so
+       use it with caution.
+
+       If the folder being removed is a subfolder, the parent folder  will
+       become  the new current folder, and _r_m_f will produce a message 
tel-
+       ling the user this has happened.  This provides an  easy  mechanism
+       for selecting a set of messages, operating on the list, then remov-
+       ing the list and returning to the current  folder  from  which  the
+       list was extracted.
+
+       _R_m_f of a read-only folder will delete the private sequence and  
cur
+       information  (i.e.,  "atr-_s_e_q-_f_o_l_d_e_r"  entries)  from 
 the  profile
+       without affecting the folder itself.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       rmm(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder, usually with confirmation
+       `-interactive' if +folder' not given, `-nointeractive' otherwise
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RMF(1)                            -82-                            RMF(1)
+
+
+  _C_o_n_t_e_x_t
+       _R_m_f will set the current folder to the parent folder if a 
subfolder
+       is  removed; or if the current folder is removed, it will make "in-
+       box" current.  Otherwise, it doesn't change the current  folder  or
+       message.
+
+
+  _B_u_g_s
+       Although intuitively one would suspect that _r_m_f works  
recursively,
+       it  does  not.   Hence if you have a sub-folder within a folder, in
+       order to _r_m_f the parent, you must first _r_m_f each of the 
children.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RMM(1)                            -83-                            RMM(1)
+
+
+  _N_A_M_E
+       rmm - remove messages
+
+  _S_Y_N_O_P_S_I_S
+       rmm [+folder] [msgs] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _R_m_m removes the specified messages by renaming  the  message  
files
+       with preceding commas.  Many sites consider files that start with a
+       comma to be a temporary backup, and arrange for _c_r_o_n (8) to  
remove
+       such files once a day.
+
+       If the user has a profile component such as
+
+               rmmproc:        /bin/rm
+
+       then instead of simply renaming the message file, _r_m_m will call 
the
+       named program to delete the file.  Note that at most installations,
+       _c_r_o_n (8) is told to remove files that begin with  a  comma  
once  a
+       night.
+
+       Some users of csh prefer the following:
+
+               alias rmm 'refile +d'
+
+       where folder +d is a folder for deleted messages, and
+
+               alias mexp 'rm `mhpath +d all`'
+
+       is used to "expunge" deleted messages.
+
+       The current message is not changed by _r_m_m, so a _n_e_x_t  
will  advance
+       to the next message in the folder as expected.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       rmmproc:             Program to delete the message
+
+
+  _S_e_e _A_l_s_o
+       rmf(1)
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  RMM(1)                            -84-                            RMM(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to cur
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.
+
+  _H_e_l_p_f_u_l _H_i_n_t_s
+
+       If you're not a csh user, and you  have  an  _r_m_m_p_r_o_c  
script  which
+       _r_e_f_i_l_es messages, be sure you use something like:
+
+            mv `mhpath msgs` `mhpath new +folder`
+
+       Other work-arounds are possible, such as:
+
+            cd `mhpath +`
+            MH=/dev/null MHCONTEXT=/dev/null refile $* +folder
+
+
+  _B_u_g_s
+       Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to delete the 
message,  the  _r_m_m_p_r_o_c
+       must  NOT  call _r_e_f_i_l_e without specifying `-normmproc', or 
you will
+       create an infinte loop.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SCAN(1)                           -85-                           SCAN(1)
+
+
+  _N_A_M_E
+       scan - produce a one line per message scan listing
+
+  _S_Y_N_O_P_S_I_S
+       scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+            [-format string] [-header] [-noheader] [-width columns]
+            [-reverse] [-noreverse] [-file filename] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _S_c_a_n produces a one-line-per-message listing of the specified  
mes-
+       sages.   Each  _s_c_a_n  line  contains  the message number (name), 
the
+       date, the "From:" field, the "Subject" field, and, if room  allows,
+       some of the body of the message.  For example:
+
+            15+  7/ 5  Dcrocker  nned  <<Last week I asked some of
+            16 - 7/ 5  dcrocker  message id format  <<I recommend
+            18   7/ 6  Obrien    Re: Exit status from mkdir
+            19   7/ 7  Obrien    "scan" listing format in MH
+
+       The `+' on message 15 indicates that it  is  the  current  message.
+       The  `-'  on  message  16 indicates that it has been replied to, as
+       indicated by a "Replied:"  component  produced  by  an  `-annotate'
+       switch to the _r_e_p_l command.
+
+       If there is sufficient room left on the _s_c_a_n line  after  the  
sub-
+       ject,  the line will be filled with text from the body, preceded by
+       <<, and terminated by >> if the body is sufficiently  short.   
_S_c_a_n
+       actually  reads  each  of the specified messages and parses them to
+       extract the desired fields.  During parsing, appropriate error mes-
+       sages  will  be  produced  if there are format errors in any of the
+       messages.
+
+       The `-header' switch produces a header line prior to the _s_c_a_n 
list-
+       ing.   Currently,  the  name of the folder and the current date and
+       time are output (see the HISTORY section for more information).
+
+       If the `-clear' switch is used and _s_c_a_n'_s output is directed  
to  a
+       terminal, then _s_c_a_n will consult the $TERM and $TERMCAP 
envariables
+       to determine your terminal type in order to find out how  to  clear
+       the  screen  prior  to exiting.  If the `-clear' switch is used and
+       _s_c_a_n'_s output is not directed to a terminal  (e.g.,  a  pipe  
or  a
+       file), then _s_c_a_n will send a formfeed prior to exiting.
+
+       For example, the command:
+
+            (scan -clear -header; show all -show pr -f) | lpr
+
+       produces a scan listing  of  the  current  folder,  followed  by  a
+       formfeed,  followed  by  a formatted listing of all messages in the
+       folder, one per page.  Omitting `-show pr -f' will cause  the  mes-
+       sages  to  be  concatenated, separated by a one-line header and two
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SCAN(1)                           -86-                           SCAN(1)
+
+
+       blank lines.
+
+       If _s_c_a_n encounters a message without a "Date:" field,  rather  
than
+       leaving  that  portion  of  the  scan  listing  blank,  the date is
+       filled-in with the last write date of the message,  and  post-fixed
+       with  a  `*'.   This  is  particularly  handy  for scanning a 
_d_r_a_f_t
+       _f_o_l_d_e_r, as message drafts usually aren't allowed to have  
dates  in
+       them.
+
+       To override the output format used by _s_c_a_n, the `-format 
string' or
+       `-format file'  switches  are used.  This permits individual fields
+       of the scan listing to be extracted with ease.  The string is  sim-
+       ply  a  format  string  and  the file is simply a format file.  See
+       _m_h-_f_o_r_m_a_t (5) for the details.
+
+       In addition to the standard _m_h-_f_o_r_m_a_t (5) escapes, 
_s_c_a_n also recog-
+       nizes the following additional _c_o_m_p_o_n_e_n_t escape:
+
+       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+       body    string   the (compressed) first part of the body
+
+       Also, if no date header was present in the  message,  the  
_f_u_n_c_t_i_o_n
+       escapes  which operate on {_d_a_t_e} will return values for the 
date of
+       last modification of the message file itself.
+
+
+       _s_c_a_n will update the _M_H context prior to starting the  
listing,  so
+       interrupting  a  long  _s_c_a_n  listing preserves the new context. 
 _M_H
+       purists hate this idea.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Alternate-Mailboxes: To determine the user's mailboxes
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       inc(1), pick(1), show(1), mh-format(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the folder current
+       `msgs' defaults to all
+       `-format' defaulted as described above
+       `-noheader'
+       `-width' defaulted to the width of the terminal
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SCAN(1)                           -87-                           SCAN(1)
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.
+
+
+  _H_i_s_t_o_r_y
+       Prior to using the format string mechanism, `-header' used to  gen-
+       erate a heading saying what each column in the listing was.  Format
+       strings prevent this from happening.
+
+
+  _B_u_g_s
+       The argument to the `-format' switch must be interpreted as a  sin-
+       gle token by the shell that invokes _s_c_a_n.  Therefore, one must 
usu-
+       ally place the argument to this switch inside double-quotes.
+       The value of each _c_o_m_p_o_n_e_n_t escape is set by 
_s_c_a_n to  the  contents
+       of  the first message header _s_c_a_n encounters with the 
corresponding
+       component name; any following headers with the same component  name
+       are ignored.
+
+       The switch `-reverse', makes _s_c_a_n list the messages in reverse 
ord-
+       er; this should be considered a bug.
+
+       The `-file filename' switch allows the user to obtain a _s_c_a_n  
list-
+       ing of a maildrop file as produced by _p_a_c_k_f.  This listing 
includes
+       every message in the file.  The user should use _m_s_h for more 
selec-
+       tive  processing  of the file.  `-reverse' is ignored with this op-
+       tion.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SEND(1)                           -88-                           SEND(1)
+
+
+  _N_A_M_E
+       send - send a message
+
+  _S_Y_N_O_P_S_I_S
+       send [-alias aliasfile] [-draft] [-draftfolder +folder]
+            [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+            [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+            [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] [-noverbose]
+            [-watch] [-nowatch] [-width columns] [file ...] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _S_e_n_d will cause each of the specified files to  be  delivered  
(via
+       _p_o_s_t (8))  to each of the destinations in the "To:", "cc:", 
"Bcc:",
+       and "Fcc:" fields of the message.  If  _s_e_n_d  is  
re-distributing  a
+       message,  as invoked from _d_i_s_t, then the corresponding 
"Resent-xxx"
+       fields are examined instead.
+
+       If `-push' is specified, _s_e_n_d will detach itself  from  the  
user's
+       terminal and perform its actions in the background.  If _p_u_s_h 'd 
and
+       the draft can't be sent, then the `-forward' switch says that draft
+       should be forwarded with the failure notice sent to the user.  This
+       differs from putting _s_e_n_d in the background because the  output 
 is
+       trapped and analyzed by _M_H.
+
+       If `-verbose' is specified, _s_e_n_d  will  indicate  the  
interactions
+       occurring  with the transport system, prior to actual delivery.  If
+       `-watch' is specified _s_e_n_d will monitor the delivery of  local  
and
+       network  mail.   Hence, by specifying both switches, a large detail
+       of information can be gathered about each  step  of  the  message's
+       entry into the transport system.
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       _S_e_n_d with no _f_i_l_e argument will query  whether  the  
draft  is  the
+       intended  file, whereas `-draft' will suppress this question.  Once
+       the transport system has successfully accepted custody of the  mes-
+       sage,  the  file will be renamed with a leading comma, which allows
+       it to be retrieved until the next draft message is sent.  If  there
+       are errors in the formatting of the message, _s_e_n_d will abort 
with a
+       (hopefully) helpful error message.
+
+       If a "Bcc:" field is encountered, its addresses will  be  used  for
+       delivery,  and  the  "Bcc:"  field will be removed from the message
+       sent to sighted recipients.  The blind recipients will  receive  an
+       entirely  new  message  with a minimal set of headers.  Included in
+       the body of the message will be a copy of the message sent  to  the
+       sighted  recipients.   If  `-filter filterfile'  is specified, then
+       this copy is filtered (re-formatted) prior to  being  sent  to  the
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SEND(1)                           -89-                           SEND(1)
+
+
+       blind recipients.
+
+       Prior to sending the message, the  fields  "From: address@hidden",  and
+       "Date: now" will be appended to the headers in the message.  If the
+       envariable $SIGNATURE is set, then its value is used as  your  per-
+       sonal  name  when constructing the "From:" line of the message.  If
+       this envariable is not set, then  _s_e_n_d  will  consult  the  
profile
+       entry "Signature" for this information.  On hosts where _M_H was con-
+       figured with the UCI option, if $SIGNATURE is not set and the "Sig-
+       nature"   profile   entry   is   not   present,   then   the   file
+       $HOME/.signature is consulted.  If `-msgid' is  specified,  then  a
+       "Message-ID:" field will also be added to the message.
+
+       If _s_e_n_d is re-distributing a message (when invoked by 
_d_i_s_t ),  then
+       "Resent-"  will  be  prepended  to  each  of these fields: "From:",
+       "Date:", and "Message-ID:".  If  the  message  already  contains  a
+       "From:"  field,  then a "Sender: address@hidden" field will be added as
+       well.  (An already existing "Sender:" field is an error!)
+
+       By using the `-format' switch, each of the entries in the "To:" and
+       "cc:" fields will be replaced with "standard" format entries.  This
+       standard format is designed to be usable  by  all  of  the  message
+       handlers  on  the various systems around the Internet.  If `-nofor-
+       mat' is given, then headers are output exactly as  they  appear  in
+       the message draft.
+
+       If an "Fcc: folder" is encountered, the message will be  copied  to
+       the  specified folder for the sender in the format in which it will
+       appear to any non-Bcc receivers of the message.  That is,  it  will
+       have the appended fields and field reformatting.  The "Fcc:" fields
+       will be removed from all outgoing copies of the message.
+
+       By using the `-width columns' switch, the user can direct  _s_e_n_d 
 as
+       to how long it should make header lines containing addresses.
+
+       The file specified by the profile entry "Aliasfile:" and any  addi-
+       tional  alias  files given by the `-alias aliasfile' switch will be
+       read (more than one file,  each   preceeded  by  `-alias',  can  be
+       named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Draft-Folder:        To find the default draft-folder
+       Aliasfile:           For a default alias file
+       Signature:           To determine the user's mail signature
+       mailproc:            Program to post failure notices
+       postproc:            Program to post the message
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SEND(1)                           -90-                           SEND(1)
+
+
+  _S_e_e _A_l_s_o
+       comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       `file' defaults to <mh-dir>/draft
+       `-alias /usr/local/lib/mh/MailAliases'
+       `-nodraftfolder'
+       `-nofilter'
+       `-format'
+       `-forward'
+       `-nomsgid'
+       `-nopush'
+       `-noverbose'
+       `-nowatch'
+       `-width 72'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SHOW(1)                           -91-                           SHOW(1)
+
+
+  _N_A_M_E
+       show - show (list) messages
+
+  _S_Y_N_O_P_S_I_S
+       show [+folder] [msgs] [-draft] [-header] [-noheader]
+            [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+            [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _S_h_o_w lists each of the specified messages to  the  standard  
output
+       (typically,  the  terminal).   Typically,  the  messages are listed
+       exactly as they are, with no reformatting.  A program named by  the
+       _s_h_o_w_p_r_o_c  profile  component  is invoked to do the 
listing, and any
+       switches not recognized by _s_h_o_w are passed along to  that  
program.
+       The  default program is known as _m_o_r_e (1).  To override the 
default
+       and the _s_h_o_w_p_r_o_c profile  component,  use  the  
`-showproc program'
+       switch.   For  example, `-show pr' will cause the _p_r (1) program to
+       list the messages.  The _M_H command _m_h_l can be used as a 
_s_h_o_w_p_r_o_c to
+       show  messages in a more uniform format.  Normally, this program is
+       specified as the _s_h_o_w_p_r_o_c is the user's .mh_profile.   
See  _m_h_l (1)
+       for  the  details.   If  the  `-noshowproc'  option  is  specified,
+       `/bin/cat' is used instead of _s_h_o_w_p_r_o_c.
+
+       The `-header' switch tells _s_h_o_w to display a  one-line  
description
+       of  the  message being shown.  This description includes the folder
+       and the message number.
+
+       If no `msgs' are specified, the current message is used.   If  more
+       than  one  message  is  specified,  _m_o_r_e will prompt for a 
<RETURN>
+       prior to listing each message.  _m_o_r_e will list each message, a 
page
+       at  a  time.   When  the end of page is reached, _m_o_r_e will ring 
the
+       bell and wait for a <SPACE> or <RETURN>.  If a <RETURN> is entered,
+       _m_o_r_e  will print the next line, whereas <SPACE> will print the 
next
+       screenful.  To exit _m_o_r_e, type "q".
+
+       If the standard output is not a terminal, no queries are made,  and
+       each file is listed with a one-line header and two lines of separa-
+       tion.
+
+       "show -draft" will list the file <mh-dir>/draft if it exists.
+
+       If the profile entry "Unseen-Sequence" is  present  and  non-empty,
+       then _s_h_o_w will remove each of the messages shown from each 
sequence
+       named  by  the   profile   entry.    This   is   similar   to   the
+       "Previous-Sequence"  profile  entry  supported  by  all _M_H commands
+       which take `msgs' or `msg' arguments.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SHOW(1)                           -92-                           SHOW(1)
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+       Unseen-Sequence:     To name sequences denoting unseen messages
+       showproc:            Program to show messages
+
+
+  _S_e_e _A_l_s_o
+       mhl(1), more(1), next(1), pick(1), prev(1), scan(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to cur
+       `-header'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current folder.  The  last
+       message shown will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SHOW(1)                           -93-                           SHOW(1)
+
+
+  _B_u_g_s
+       The `-header' switch doesn't work when `msgs' expands to more  than
+       one  message.   If the _s_h_o_w_p_r_o_c is _m_h_l, then is 
problem can be cir-
+       cumvented by referencing the "messagename" field in the _m_h_l  
format
+       file.
+
+       _S_h_o_w updates the user's context before showing the message.   
Hence
+       _s_h_o_w  will  mark messages as seen prior to the user actually 
seeing
+       them.  This is generally not a problem, unless the user  relies  on
+       the  "unseen"  messages  mechanism, and interrupts _s_h_o_w while 
it is
+       showing "unseen" messages.
+
+       If _s_h_o_w_p_r_o_c is _m_h_l, then _s_h_o_w uses a 
built-in _m_h_l: it does not  ac-
+       tually  run  the  _m_h_l  program.   Hence,  if  you  define  your 
own
+       _s_h_o_w_p_r_o_c, don't call it _m_h_l since _s_h_o_w 
won't run it.
+
+       If _m_o_r_e (1) is your showproc (the default), then avoid running 
_s_h_o_w
+       in  the  background  with only its standard output piped to another
+       process, as in
+
+            show | imprint &
+
+       Due to a bug in _m_o_r_e, show will go into a "tty  input"  state.  
 To
+       avoid  this  problem,  re-direct  _s_h_o_w's diagnostic output as 
well.
+       For users of _c_s_h:
+
+            show |& imprint &
+
+       For users of _s_h:
+
+            show 2>&1 | imprint &
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SORTM(1)                          -94-                          SORTM(1)
+
+
+  _N_A_M_E
+       sortm - sort messages
+
+  _S_Y_N_O_P_S_I_S
+       sortm [+folder] [msgs] [-datefield field] [-textfield field]
+            [-notextfield] [-limit days] [-nolimit] [-verbose]
+            [-noverbose] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _S_o_r_t_m sorts the specified messages in the named folder 
according to
+       the chronological order of the "Date:" field of each message.
+
+       The `-verbose' switch directs _s_o_r_t_m to tell the  user  the  
general
+       actions that it is taking to place the folder in sorted order.
+
+       The `-datefield field' switch tells _s_o_r_t_m the name of the 
field  to
+       use  when  making  the  date comparison.  If the user has a special
+       field in each message, such as  "BB-Posted:"  or  "Delivery-Date:",
+       then  the  `-datefield'  switch  can  be used to direct _s_o_r_t_m 
which
+       field to examine.
+
+       The `-textfield field' switch causes _s_o_r_t_m to sort messages 
by  the
+       specified  text  field.   If  this  field is "subject", any leading
+       "re:" is stripped off.  In any case, all characters except  letters
+       and  numbers  are  stripped  and  the  resulting strings are sorted
+       datefield-major, textfield-minor, using  a  case  insensitive  com-
+       parison.
+
+       With `-textfield field', if `-limit days'  is  specified,  messages
+       with  similar textfields that are dated within `days' of each other
+       appear together.  Specifying `-nolimit' makes the  limit  infinity.
+       With   `-limit  0',  the  sort  is  instead  made  textfield-major,
+       date-minor.
+
+       For example, to order a folder by date-major, subject-minor, use:
+
+            sortm -textfield subject +folder
+
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Current-Folder:      To find the default current folder
+
+
+  _S_e_e _A_l_s_o
+       folder (1)
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  SORTM(1)                          -95-                          SORTM(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `+folder' defaults to the current folder
+       `msgs' defaults to all
+       `-datefield date'
+       `-notextfield'
+       `-noverbose'
+       `-nolimit'
+
+
+  _C_o_n_t_e_x_t
+       If a folder is given, it will become the current  folder.   If  the
+       current  message  is  moved,  _s_o_r_t_m  will  preserve  its  
status as
+       current.
+
+
+  _H_i_s_t_o_r_y
+       Timezones used to be ignored when comparing dates: they aren't  any
+       more.
+
+       Messages which were in the folder, but  not  specified  by  `msgs',
+       used  to  be  moved to the end of the folder; now such messages are
+       left untouched.
+
+       Previously, _s_o_r_t_m would try to fill any gaps in a folder 
within the
+       range  of  messages  it  sorted.  To improve performance, 
_s_o_r_t_m now
+       minimizes the number of message  moves.   To  pack  a  folder,  use
+       "_f_o_l_d_e_r -_p_a_c_k" instead.
+
+
+  _B_u_g_s
+       If _s_o_r_t_m encounters a message without a date-field, or if the 
 mes-
+       sage  has a date-field that _s_o_r_t_m cannot parse, then 
_s_o_r_t_m attempts
+       to keep the message in the same relative position.  This  does  not
+       always  work.  For instance, if the first message encountered lacks
+       a date which can be parsed, then it will usually be placed  at  the
+       end of the messages being sorted.
+
+       When _s_o_r_t_m complains about a message which it can't 
temporally ord-
+       er,  it  complains  about  the message number _p_r_i_o_r to 
sorting.  It
+       should indicate what the message number will be _a_f_t_e_r sorting.
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  VMH(1)                            -96-                            VMH(1)
+
+
+  _N_A_M_E
+       vmh - visual front-end to MH
+
+  _S_Y_N_O_P_S_I_S
+       vmh [-prompt string] [-vmhproc program] [-novmhproc]
+            [switches for _v_m_h_p_r_o_c] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _v_m_h is a program which implements the server side of the _M_H  
window
+       management  protocol  and  uses  _c_u_r_s_e_s (3)  routines to 
maintain a
+       split-screen interface to any program which implements  the  client
+       side  of the protocol.  This latter program, called the 
_v_m_h_p_r_o_c, is
+       specified using the `-vmhproc program' switch.
+
+       The upshot of all this is that one can run _m_s_h on a display  
termi-
+       nal and get a nice visual interface.  To do this, for example, just
+       add the line
+
+            mshproc: vmh
+
+       to your .mh_profile.  (This takes advantage of the fact that _m_s_h 
is
+       the default _v_m_h_p_r_o_c for _v_m_h.)
+
+       In order to facilitate things, if the `-novmhproc' switch is given,
+       and  _v_m_h  can't  run  on  the  user's  terminal, the 
_v_m_h_p_r_o_c is run
+       directly without the window management protocol.
+
+       After initializing the protocol, _v_m_h prompts the user for a 
command
+       to  be  given to the client.  Usually, this results in output being
+       sent to one or more windows.  If a output to a window  would  cause
+       it  to  scroll, _v_m_h prompts the user for instructions, roughly 
per-
+       mitting the capabilities of _l_e_s_s or  _m_o_r_e  (e.g.,  the  
ability  to
+       scroll backwards and forwards):
+
+            SPACE      advance to the next windowful
+            RETURN  *  advance to the next line
+            y       *  retreat to the previous line
+            d       *  advance to the next ten lines
+            u       *  retreat to the previous ten lines
+            g       *  go to an arbitrary line
+                       (preceed g with the line number)
+            G       *  go to the end of the window
+                       (if a line number is given, this acts like `g')
+            CTRL-L     refresh the entire screen
+            h          print a help message
+            q          abort the window
+
+       (A `*' indicates that a numeric prefix is meaningful for this  com-
+       mand.)
+
+       Note that if a command resulted in more than one window's worth  of
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  VMH(1)                            -97-                            VMH(1)
+
+
+       information  being  displayed,  and  you allow the command which is
+       generating information for the window to gracefully  finish  (i.e.,
+       you  don't  use  the `q' command to abort information being sent to
+       the window), then _v_m_h will give you one last change to  peruse  
the
+       window.   This  is  useful for scrolling back and forth.  Just type
+       `q' when you're done.
+
+       To abnormally terminate _v_m_h (without core dump), use  <QUIT>  
(usu-
+       ally  CTRL-\).   For instance, this does the "right" thing with 
_b_b_c
+       and _m_s_h.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+
+
+  _S_e_e _A_l_s_o
+       msh(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-prompt (vmh) '
+       `-vmhproc msh'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The argument to the `-prompt' switch must be interpreted as a  sin-
+       gle  token by the shell that invokes _v_m_h.  Therefore, one must 
usu-
+       ally place the argument to this switch inside double-quotes.
+
+       At present, there is no way to pass signals (e.g., interrupt, quit)
+       to the client.  However, generating QUIT when _v_m_h is reading a 
com-
+       mand from the terminal is sufficient to tell the client to go  away
+       quickly.
+
+       Acts strangely (loses peer or botches  window  management  protocol
+       with peer) on random occasions.
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  WHATNOW(1)                        -98-                        WHATNOW(1)
+
+
+  _N_A_M_E
+       whatnow - prompting front-end for send
+
+  _S_Y_N_O_P_S_I_S
+       whatnow [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-prompt string] [file] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _W_h_a_t_n_o_w is the default program that  queries  the  user  
about  the
+       disposition  of a composed draft.  It is normally invoked by one of
+       _c_o_m_p, _d_i_s_t, _f_o_r_w, or _r_e_p_l after the 
initial edit.
+
+       When started, the editor is started on the draft (unless  `-noedit'
+       is  given,  in  which  case the initial edit is suppressed).  Then,
+       _w_h_a_t_n_o_w repetitively prompts the user with "What now?" 
and awaits a
+       response.  The valid responses are:
+
+       display         to list the message being distributed/replied-to on
+                       the terminal
+       edit            to re-edit using the same editor that was used on the
+                       preceding round unless a profile entry
+                       "<lasteditor>-next: <editor>" names an alternate editor
+       edit <editor>   to invoke <editor> for further editing
+       list            to list the draft on the terminal
+       push            to send the message in the background
+       quit            to terminate the session and preserve the draft
+       quit -delete    to terminate, then delete the draft
+       refile +folder  to refile the draft into the given folder
+       send            to send the message
+       send -watch     to cause the delivery process to be monitored
+       whom            to list the addresses that the message will go to
+       whom -check     to list the addresses and verify that they are
+                       acceptable to the transport service
+
+       For the edit response, any valid switch to  the  editor  is  valid.
+       Similarly,  for  the  send  and whom responses, any valid switch to
+       _s_e_n_d (1) and _w_h_o_m (1) commands, respectively, are 
valid.   For  the
+       push  response,  any  valid  switch  to  _s_e_n_d (1) is valid (as 
this
+       merely invokes _s_e_n_d with  the  `-push'  option).   For  the  
_r_e_f_i_l_e
+       response,  any  valid  switch  to  the  _f_i_l_e_p_r_o_c is 
valid.  For the
+       display and list responses, any valid  argument  to  the  
_l_p_r_o_c  is
+       valid.   If any non-switch arguments are present, then the pathname
+       of the draft will be excluded from the argument list given  to  the
+       _l_p_r_o_c (this is useful for listing another _M_H message).
+
+       See _m_h-_p_r_o_f_i_l_e (5) for further information about  how 
 editors  are
+       used  by MH.  It also discusses how complex envariables can be used
+       to direct _w_h_a_t_n_o_w's actions.
+
+       The `-prompt string' switch sets the prompting string for 
_w_h_a_t_n_o_w.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  WHATNOW(1)                        -99-                        WHATNOW(1)
+
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/draft                      The draft file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Draft-Folder:        To find the default draft-folder
+       Editor:              To override the default editor
+       <lasteditor>-next:   To name an editor to be used after  exit  from
+       <lasteditor>
+       fileproc:            Program to refile the message
+       lproc:               Program to list the contents of a message
+       sendproc:            Program to use to send the message
+       whomproc:            Program to determine who a message would go to
+
+
+  _S_e_e _A_l_s_o
+       send(1), whom(1)
+
+
+  _D_e_f_a_u_l_t_s
+       `-prompt "What Now? "'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The argument to the `-prompt' switch must be interpreted as a  sin-
+       gle  token  by the shell that invokes _w_h_a_t_n_o_w.  
Therefore, one must
+       usually place the argument to this switch inside double-quotes.
+
+       If the initial edit fails, _w_h_a_t_n_o_w deletes your draft (by 
 renaming
+       it  with  a  leading  comma); failure of a later edit preverves the
+       draft.
+
+       If _w_h_a_t_n_o_w_p_r_o_c is _w_h_a_t_n_o_w, then 
_c_o_m_p, _d_i_s_t, _f_o_r_w, and  _r_e_p_l  use  a
+       built-in  _w_h_a_t_n_o_w,  and  do  not  actually run the 
_w_h_a_t_n_o_w program.
+       Hence, if you define your own _w_h_a_t_n_o_w_p_r_o_c, don't  
call  it  _w_h_a_t_n_o_w
+       since it won't be run.
+
+       If _s_e_n_d_p_r_o_c is _s_e_n_d, then _w_h_a_t_n_o_w 
uses a built-in _s_e_n_d, it does not
+       actually  run  the  _s_e_n_d  program.   Hence,  if you define your 
own
+       _s_e_n_d_p_r_o_c, don't call it _s_e_n_d since 
_w_h_a_t_n_o_w won't run it.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  WHATNOW(1)                       -100-                        WHATNOW(1)
+
+
+  _N_A_M_E
+       whom - report to whom a message would go
+
+  _S_Y_N_O_P_S_I_S
+       whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [file] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _W_h_o_m is used to expand the headers of  a  message  into  a  set 
 of
+       addresses  and  optionally verify that those addresses are deliver-
+       able at that time (if `-check' is given).
+
+       The `-draftfolder +folder' and `-draftmessage msg' switches  invoke
+       the _M_H draft folder facility.  This is an advanced (and highly use-
+       ful) feature.  Consult the Advanced  Features  section  of  the  _M_H
+       manual for more information.
+
+       The file specified by the profile entry "Aliasfile:" and any  addi-
+       tional  alias  files given by the `-alias aliasfile' switch will be
+       read (more than one file,  each   preceeded  by  `-alias',  can  be
+       named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To determine the user's MH directory
+       Draft-Folder:        To find the default draft-folder
+       Aliasfile:           For a default alias file
+       postproc:            Program to post the message
+
+
+  _S_e_e _A_l_s_o
+       mh-alias(5), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       `file' defaults to <mh-dir>/draft
+       `-nocheck'
+       `-alias /usr/local/lib/mh/MailAliases'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  WHOM(1)                          -101-                           WHOM(1)
+
+
+  _B_u_g_s
+       With the `-check' option, _w_h_o_m makes no  guarantees  that  the  
ad-
+       dresses  listed  as being ok are really deliverable, rather, an ad-
+       dress being listed as ok means that at the time that _w_h_o_m  was  
run
+       the address was thought to be deliverable by the transport service.
+       For local addresses, this is absolute; for  network  addresses,  it
+       means  that the host is known; for uucp addresses, it (often) means
+       that the _U_U_C_P network is available for use.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+                                        -102-
+
+
+       _M_O_R_E _D_E_T_A_I_L_S
+
+            This section describes some of the more intense points  of  the  
_M_H
+       system,  by  expanding  on  topics  previously  discussed.   The  format
+       presented conforms to the standard form  for  the  description  of  UNIX
+  documentation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+  MH-ALIAS(5)                      -103-                       MH-ALIAS(5)
+
+
+  _N_A_M_E
+       mh-alias - alias file for MH message system
+
+  _S_Y_N_O_P_S_I_S
+       any _M_H command
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       This describes both _M_H personal alias files and the (primary) alias
+       file for mail delivery, the file
+
+               /usr/local/lib/mh/MailAliases
+
+       It does not describe aliases files used by  the  message  transport
+       system.  Each line of the alias file has the format:
+
+               alias : address-group
+       or
+               alias ; address-group
+       or
+               < alias-file
+       or
+               ; comment
+
+       where:
+
+               address-group  :=  address-list
+                              |   "<" file
+                              |   "=" UNIX-group
+                              |   "+" UNIX-group
+                              |   "*"
+
+               address-list   :=  address
+                              |   address-list, address
+
+       Continuation lines in alias files end with `\' followed by the new-
+       line character.
+
+       Alias-file and file are UNIX file names.   UNIX-group  is  a  group
+       name  (or  number)  from  /_e_t_c/_g_r_o_u_p.   An  address  is 
 a "simple"
+       Internet-style address.  Througout  this  file,  case  is  ignored,
+       except for alias-file names.
+
+       If the line starts with a `<', then the file named after the `<' is
+       read  for more alias definitions.  The reading is done recursively,
+       so a `<' may occur in the beginning  of  an  alias  file  with  the
+       expected results.
+
+       If the address-group starts with a `<', then the file  named  after
+       the  `<' is read and its contents are added to the address-list for
+       the alias.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-ALIAS(5)                      -104-                       MH-ALIAS(5)
+
+
+       If the address-group starts with an `=', then the  file  
/_e_t_c/_g_r_o_u_p
+       is  consulted  for  the UNIX-group named after the `='.  Each login
+       name  occurring  as  a  member  of  the  group  is  added  to   the
+       address-list for the alias.
+
+       In contrast, if the address-group starts with a `+', then the  file
+       /_e_t_c/_g_r_o_u_p is consulted to determine the group-id of 
the UNIX-group
+       named after the `+'.  Each login name occurring in the  
/_e_t_c/_p_a_s_s_w_d
+       file  whose  group-id  is  indicated  by this group is added to the
+       address-list for the alias.
+
+       If the address-group is simply `*', then the  file  
/_e_t_c/_p_a_s_s_w_d  is
+       consulted and all login names with a userid greater than some magic
+       number (usually 200) are added to the address-list for the alias.
+
+       In match, a trailing * on an alias will match just  about  anything
+       appropriate.  (See example below.)
+
+       An approximation of the way aliases are resolved at posting time is
+       (it's not really done this way):
+
+            1) Build a list of  all  addresses  from  the  message  to  be
+            delivered, eliminating duplicate addresses.
+
+            2) If this draft originated on the local host, then for  those
+            addresses  in the message that have no host specified, perform
+            alias resolution.
+
+            3) For each line in the alias file,  compare  "alias"  against
+            all of the existing addresses.  If a match, remove the matched
+            "alias" from the address list, and add each new address in the
+            address-group  to the address list if it is not already on the
+            list.  The alias itself is  not  usually  output,  rather  the
+            address-group  that  the  alias maps to is output instead.  If
+            "alias" is terminated with a `;' instead of a `:',  then  both
+            the  "alias" and the address are output in the correct format.
+            (This makes replies possible since  _M_H  aliases  and  personal
+            aliases are unknown to the mail transport system.)
+
+       Since the alias file is read line by line, forward references work,
+       but  backward  references  are  not  recognized,  thus, there is no
+       recursion.
+
+       Example:
+            </usr/local/lib/mh/BBoardAliases
+            sgroup: fred, fear, freida
+            fred: address@hidden
+            UNIX-committee: <unix.aliases
+            staff: =staff
+            wheels: +wheel
+            everyone: *
+            news.*: news
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-ALIAS(5)                      -105-                       MH-ALIAS(5)
+
+
+       The first line says that more aliases should  immediately  be  read
+       from  the  file  
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/_B_B_o_a_r_d_A_l_i_a_s_e_s.
   Following this,
+       "fred" is defined as an alias for  "address@hidden",  and  "sgroup"  is
+       defined  as  an alias for the three names "address@hidden", "fear", and
+       "freida".  Next, the definition of  "UNIX-committee"  is  given  by
+       reading the file _u_n_i_x._a_l_i_a_s_e_s in the users _M_H 
directory, "staff" is
+       defined as all users who are listed as members of the group "staff"
+       in  the /_e_t_c/_g_r_o_u_p file, and "wheels" is defined as all 
users whose
+       group-id  in  /_e_t_c/_p_a_s_s_w_d  is  equivalent  to  the  
"wheel"  group.
+       Finally,  "everyone"  is  defined  as  all  users with a user-id in
+       /_e_t_c/_p_a_s_s_w_d  greater  than  200,  and  all  aliases  
of  the   form
+       "news.<anything>" are defined to be "news".
+
+       The key thing to understand about aliasing in _M_H is that aliases in
+       _M_H  alias  files  are expanded into the headers of messages posted.
+       This aliasing occurs first, at posting time, without the  knowledge
+       of  the  message  transport  system.  In contrast, once the message
+       transport system is given  a  message  to  deliver  to  a  list  of
+       addresses, for each address that appears to be local, a system-wide
+       alias file is consulted.  These aliases are NOT expanded  into  the
+       headers of messages delivered.
+
+  _H_e_l_p_f_u_l _H_i_n_t_s
+
+       To use aliasing in _M_H quickly, do the following:
+
+            First, in your ._m_h__p_r_o_f_i_l_e, choose a  name  for  
your  primary
+            alias file, say "aliases", and add the line:
+
+                 Aliasfile: aliases
+
+            Second, create the file "aliases" in your _M_H directory.
+
+            Third,  start  adding  aliases  to  your  "aliases"  file   as
+            appropriate.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/MailAliases       Primary alias file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Aliasfile:           For a default alias file
+
+
+  _S_e_e _A_l_s_o
+       ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), post(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-ALIAS(5)                      -106-                       MH-ALIAS(5)
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _H_i_s_t_o_r_y
+       In previous releases of _M_H, only  a  single,  system-wide  mh-alias
+       file  was  supported.  Now that _M_H uses _M_M_D_F as a transport 
system,
+       the system-wide aliasing facility can  be  more  consistently  con-
+       trolled  by  the  latter.   This  means  that  at  most  sites, the
+       system-wide mh-alias file will  be  empty  (or  trivial  at  best).
+       Hence,  the semantics of mh-alias were extended to support personal
+       alias files.  Users of _M_H no longer need to bother mail-system  ad-
+       ministrators for keeping information in the system-wide alias file,
+       as each _M_H user can create/modify/remove aliases at will  from  any
+       number of personal files.
+
+
+  _B_u_g_s
+       Although  the  forward-referencing  semantics  of  
_m_h-_a_l_i_a_s   files
+       prevent  recursion,  the  "< alias-file"  command  may defeat this.
+       Since the number of file descriptors is finite (and very  limited),
+       such  infinite recursion will terminate with a meaningless diagnos-
+       tic when all the fds are used up.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -107-                      MH-FORMAT(5)
+
+
+  _N_A_M_E
+       mh-format - format file for MH message system
+
+  _S_Y_N_O_P_S_I_S
+       some _M_H commands
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       Several _M_H commands utilize either a _f_o_r_m_a_t string or a 
_f_o_r_m_a_t file
+       during their execution.  For example, _s_c_a_n (1) uses a format 
string
+       which directs it how to generate the scan listing for each message;
+       _r_e_p_l (1)  uses  a  format file which directs it how to generate 
the
+       reply to a message, and so on.
+
+       Format strings are designed to be efficiently parsed  by  _M_H  which
+       means  they  are  not  necessarily  simple to write and understand.
+       This means that novice, casual, or even advanced users of _M_H should
+       not  have  to deal with them.  Some canned scan listing formats are
+       in  /usr/local/lib/mh/scan.time,  /usr/local/lib/mh/scan.size,  and
+       /usr/local/lib/mh/scan.timely.  Look in /usr/local/lib/mh for other
+       _s_c_a_n and _r_e_p_l format files which may  have  been  
written  at  your
+       site.
+
+       It suffices to have your local _M_H expert actually write new  format
+       commands or modify existing ones.  This manual section explains how
+       to do that.   Note:  familiarity  with  the  C  _p_r_i_n_t_f  
routine  is
+       assumed.
+
+       A format string consists  of  ordinary  text,  and  special  multi-
+       character _e_s_c_a_p_e sequences which begin with `%'.  When 
specifying a
+       format string, the usual C backslash characters are honored:  `\b',
+       `\f', `\n', `\r', and `\t'.  Continuation lines in format files end
+       with `\' followed by the newline character.  There are three  types
+       of  _e_s_c_a_p_e  sequences:  header 
_c_o_m_p_o_n_e_n_t_s, built-in _f_u_n_c_t_i_o_n_s, and,
+       flow _c_o_n_t_r_o_l.
+
+       A _c_o_m_p_o_n_e_n_t escape is specified as 
`%{_c_o_m_p_o_n_e_n_t}', and  exists  for
+       each  header  found  in  the  message being processed.  For example
+       `%{date}' refers to the "Date:" field of the  appropriate  message.
+       All  component  escapes  have  a string value.  Normally, component
+       values are compressed by converting any control characters (tab and
+       newline  included)  to spaces, then eliding any leading or multiple
+       spaces.  However, commands may give  different  interpretations  to
+       some  component  escapes; be sure to refer to each command's manual
+       entry for complete details.
+
+       A _f_u_n_c_t_i_o_n escape is specified as 
`%(_f_u_n_c_t_i_o_n)'.  All functions are
+       built-in, and most have a string or numeric value.
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -108-                      MH-FORMAT(5)
+
+
+    _C_o_n_t_r_o_l-_f_l_o_w _e_s_c_a_p_e_s
+
+       A _c_o_n_t_r_o_l escape is one of: `%<', `%?', `%|', or  `%>'.  
These  are
+       combined into the conditional execution construct:
+
+               %<condition
+                       _f_o_r_m_a_t _t_e_x_t _1
+               %?condition2
+                       _f_o_r_m_a_t _t_e_x_t _2
+               %?condition3
+                       _f_o_r_m_a_t _t_e_x_t _3
+               ...
+               %|
+                       _f_o_r_m_a_t _t_e_x_t _N
+               %>
+
+       Extra white space is shown here only for clarity.  These constructs
+       may   be   nested   without   ambiguity.    They   form  a  general
+       if-elseif-else-endif block where only one of the _f_o_r_m_a_t  
_t_e_x_t  seg-
+       ments is interpreted.
+
+       The `%<'  and  `%?'  control  escapes  causes  a  condition  to  be
+       evaluated.  This condition may be either a _c_o_m_p_o_n_e_n_t 
or a _f_u_n_c_t_i_o_n.
+       The four constructs have the following syntax:
+
+               %<{component}
+               %<(function)
+               %?{component}
+               %?(function)
+
+       These control escapes test whether the function or component  value
+       is   non-zero  (for  integer-valued  escapes),  or  non-empty  (for
+       string-valued escapes).
+
+       If this test evaulates true, then the format text up  to  the  next
+       corresponding control escape (one of `%|', `%?', or `%>') is inter-
+       preted normally.  Next, all format text  up  to  the  corresponding
+       `%>'  control  escape (if any) is skipped.  The `%>' control escape
+       is not interpreted; normal interpretation resumes  after  the  `%>'
+       escape.
+
+       If the test evaluates false, however, then the format  text  up  to
+       the next corresponding control escape (again, one of `%|', `%?', or
+       `%>') is skipped, instead of being  interpreted.   If  the  control
+       escape  encountered  was  `%?',  then the condition associated with
+       that control escape is evaluated, and interpretation proceeds after
+       that  test  as described in the previous paragraph.  If the control
+       escape encountered was  `%|',  then  the  format  text  up  to  the
+       corresponding  `%>'  escape is interpreted normally.  As above, the
+       `%>' escape is not interpreted and  normal  interpretation  resumes
+       after the `%>' escape.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -109-                      MH-FORMAT(5)
+
+
+       The `%?' control escape and its following format text is  optional,
+       and  may  be  included zero or more times.  The `%|' control escape
+       and its following format text is also optional, and may be included
+       zero or one times.
+
+
+    _F_u_n_c_t_i_o_n _e_s_c_a_p_e_s
+
+       Most functions expect an argument of a particular type:
+
+       _A_r_g_u_m_e_n_t _D_e_s_c_r_i_p_t_i_o_n            
_E_x_a_m_p_l_e _S_y_n_t_a_x
+       literal  A literal number,      %(_f_u_n_c 1234)
+                or string              %(_f_u_n_c text string)
+       comp     Any header component   
%(_f_u_n_c{_i_n-_r_e_p_l_y-_t_o})
+       date     A date component       %(_f_u_n_c{_d_a_t_e})
+       addr     An address component   %(_f_u_n_c{_f_r_o_m})
+       expr     An optional component, %(_f_u_n_c(_f_u_n_c_2))
+                function or control,   %(_f_u_n_c 
%<{_r_e_p_l_y-_t_o}%|%{_f_r_o_m}%>)
+                perhaps nested         
%(_f_u_n_c(_f_u_n_c_2{_c_o_m_p}))
+
+       The types _d_a_t_e and _a_d_d_r have the same syntax as 
_c_o_m_p,  but  require
+       that  the  header  component  be  a date string, or address string,
+       respectively.
+
+       All arguments except those of type _e_x_p_r are required.  For the 
_e_x_p_r
+       argument  type,  the  leading `%' must be omitted for component and
+       function escape arguments, and must  be  present  (with  a  leading
+       space) for control escape arguments.
+
+       The evaluation of format strings is based on a simple machine  with
+       an  integer  register  _n_u_m, and a text string register _s_t_r. 
 When a
+       function escape is processed, if it accepts an optional _e_x_p_r  
argu-
+       ment which is not present, it reads the current value of either 
_n_u_m
+       or _s_t_r as appropriate.
+
+
+    _R_e_t_u_r_n _v_a_l_u_e_s
+
+       Component escapes write the value of their message header  in  
_s_t_r.
+       Function  escapes  write  their  return  value in _n_u_m for 
functions
+       returning _i_n_t_e_g_e_r or _b_o_o_l_e_a_n  values,  and  
in  _s_t_r  for  functions
+       returning string values.  (The _b_o_o_l_e_a_n type is a subset 
of integers
+       with usual values 0=false and 1=true.)
+
+       All component escapes, and those function escapes which  return  an
+       _i_n_t_e_g_e_r  or  _s_t_r_i_n_g  value, pass this value 
back to their caller in
+       addition to setting _s_t_r or _n_u_m.  These escapes will print 
out  this
+       value  unless  called  as  part  of  an  argument to another escape
+       sequence.  Function escapes which return a _b_o_o_l_e_a_n  value 
 do  pass
+       this  value  back  to  their  caller,  but will never print out the
+       value.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -110-                      MH-FORMAT(5)
+
+
+       _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t _R_e_t_u_r_n  
 _D_e_s_c_r_i_p_t_i_o_n
+       msg                 integer  message number
+       cur                 integer  message is current
+       size                integer  size of message
+       strlen              integer  length of _s_t_r
+       width               integer  output buffer size in bytes
+       charleft            integer  bytes left in output buffer
+       timenow             integer  seconds since the UNIX epoch
+       me                  string   the user's mailbox
+       eq         literal  boolean  _n_u_m == _a_r_g
+       ne         literal  boolean  _n_u_m != _a_r_g
+       gt         literal  boolean  _n_u_m > _a_r_g
+       match      literal  boolean  _s_t_r contains _a_r_g
+       amatch     literal  boolean  _s_t_r starts with _a_r_g
+       plus       literal  integer  _a_r_g plus _n_u_m
+       minus      literal  integer  _a_r_g minus _n_u_m
+       divide     literal  integer  _n_u_m divided by _a_r_g
+       num        literal  integer  Set _n_u_m to _a_r_g
+       lit        literal  string   Set _s_t_r to _a_r_g
+       nonzero    expr     boolean  _n_u_m is non-zero
+       zero       expr     boolean  _n_u_m is zero
+       null       expr     boolean  _s_t_r is empty
+       nonnull    expr     boolean  _s_t_r is non-empty
+       void       expr              Set _s_t_r or _n_u_m
+       comp       comp     string   Set _s_t_r to component text
+       compval    comp     integer  _n_u_m set to "atoi(_s_t_r)"
+       trim       expr              trim trailing white-space from _s_t_r
+       putstr     expr              print _s_t_r
+       putstrf    expr              print _s_t_r in a fixed width
+       putnum     expr              print _n_u_m
+       putnumf    expr              print _n_u_m in a fixed width
+
+       These functions require a date component as an argument:
+
+       _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t _R_e_t_u_r_n  
 _D_e_s_c_r_i_p_t_i_o_n
+       sec        date     integer  seconds of the minute
+       min        date     integer  minutes of the hour
+       hour       date     integer  hours of the day (0-23)
+       wday       date     integer  day of the week (Sun=0)
+       day        date     string   day of the week (abbrev.)
+       weekday    date     string   day of the week
+       sday       date     integer  day of the week known?
+                                    (0=implicit,-1=unknown)
+       mday       date     integer  day of the month
+       yday       date     integer  day of the year
+       mon        date     integer  month of the year
+       month      date     string   month of the year (abbrev.)
+       lmonth     date     string   month of the year
+       year       date     integer  year of the century
+       zone       date     integer  timezone in hours
+       tzone      date     string   timezone string
+       szone      date     integer  timezone explicit?
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -111-                      MH-FORMAT(5)
+
+
+                                    (0=implicit,-1=unknown)
+       date2local date              coerce date to local timezone
+       date2gmt   date              coerce date to GMT
+       dst        date     integer  daylight savings in effect?
+       clock      date     integer  seconds since the UNIX epoch
+       rclock     date     integer  seconds prior to current time
+       tws        date     string   official 822 rendering
+       pretty     date     string   user-friendly rendering
+       nodate     date     integer  _s_t_r not a date string
+
+       These functions require an address component as  an  argument.  The
+       return  value of functions noted with `*' pertain only to the first
+       address present in the header component.
+
+       _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t _R_e_t_u_r_n  
 _D_e_s_c_r_i_p_t_i_o_n
+       proper     addr     string   official 822 rendering
+       friendly   addr     string   user-friendly rendering
+       addr       addr     string   address@hidden or host!mbox rendering*
+       pers       addr     string   the personal name*
+       note       addr     string   commentary text*
+       mbox       addr     string   the local mailbox*
+       mymbox     addr     integer  the user's addresses? (0=no,1=yes)
+       host       addr     string   the host domain*
+       nohost     addr     integer  no host was present*
+       type       addr     integer  host type* (0=local,1=network,
+                                    -1=uucp,2=unknown)
+       path       addr     string   any leading host route*
+       ingrp      addr     integer  address was inside a group*
+       gname      addr     string   name of group*
+       formataddr expr              append _a_r_g to _s_t_r as a
+                                    (comma separated) address list
+       putaddr    literal           print _s_t_r address list with
+                                    _a_r_g as optional label;
+                                    get line width from _n_u_m
+
+       When escapes are nested, evaluation  is  done  from  inner-most  to
+       outer-most.   The  outer-most escape must begin with `%'; the inner
+       escapes must not.  For example,
+
+            %<(mymbox{from}) To: %{to}%>
+
+       writes the value of the header component "From:" to _s_t_r; then 
(_m_y_m_-
+       _b_o_x)  reads  _s_t_r  and  writes  its  result to _n_u_m; 
then the control
+       escape evaluates _n_u_m.  If _n_u_m is non-zero, the  string  
"To:  "  is
+       printed followed by the value of the header component "To:".
+
+       A minor explanation of (_m_y_m_b_o_x{_c_o_m_p}) is in order.  
In general,  it
+       checks each of the addresses in the header component "_c_o_m_p" 
against
+       the user's mailbox name and any  
_A_l_t_e_r_n_a_t_e-_M_a_i_l_b_o_x_e_s.   It  returns
+       true  if  any address matches, however, it also returns true if the
+       "_c_o_m_p" header is not present in the message.  If needed, the 
(_n_u_l_l)
+       function can be used to explicitly test for this condition.
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -112-                      MH-FORMAT(5)
+
+
+       When a function or component escape is interpreted and  the  result
+       will  be immediately printed, an optional field width can be speci-
+       fied to print the field in exactly a given  number  of  characters.
+       For  example,  a  numeric escape like %4(_s_i_z_e) will print at 
most 4
+       digits of the message size; overflow will be indicated by a `?'  in
+       the first position (like `?234').  A string escape like %4(_m_e) will
+       print the first 4 characters and truncate at the end. Short  fields
+       are  padded  at  the  right  with  the  fill character (normally, a
+       blank).  If the field width argument begins with  a  leading  zero,
+       then the fill character is set to a zero.
+
+       As above, the functions (_p_u_t_n_u_m_f) and 
(_p_u_t_s_t_r_f) print their  result
+       in  exactly  the  number  of  characters specified by their leading
+       field width argument. For example,  
%06(_p_u_t_n_u_m_f(_s_i_z_e))  will  print
+       the message size in a field six characters wide filled with leading
+       zeros; %14(_p_u_t_s_t_r_f{_f_r_o_m}) will print the "From:"  
header  component
+       in  fourteen  characters with trailing spaces added as needed.  For
+       _p_u_t_s_t_r_f, using a negative value for the field width  
causes  right-
+       justification  of  the string within the field, with padding on the
+       left up to the field width.  The functions  (_p_u_t_n_u_m)  and  
(_p_u_t_s_t_r)
+       print  their  result  in the minimum number of characters required,
+       and ignore any leading field width argument.
+
+       The available output width is kept in  an  internal  register;  any
+       output past this width will be truncated.
+
+       With all this in mind, here's the default format string  for  
_s_c_a_n.
+       It's  been  divided into several pieces for readability.  The first
+       part is:
+
+            %4(putnumf(msg))%<(cur)+%| %>%<{replied}-%| %>
+
+       which says that the  message  number  should  be  printed  in  four
+       digits,  if  the  message  is the current message then a `+' else a
+       space should be printed, and if a "Replied:" field is present  then
+       a `-' else a space should be printed.  Next:
+
+            %02(putnumf(mon{date}))/%02(putnumf(mday{date}))
+
+       the month  and  date  are  printed  in  two  digits  (zero  filled)
+       separated by a slash.  Next,
+
+            %<{date} %|*>
+
+       If a "Date:" field was present, then a space is printed,  otherwise
+       a `*'.  Next,
+
+            %<(mymbox{from})To:%14(putstrf(friendly{to}))
+
+       if the message is  from  me,  print  `To:'  followed  by  a  "user-
+       friendly"  rendering of the first address in the "To:" field.  Con-
+       tinuing,
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -113-                      MH-FORMAT(5)
+
+
+            %|%17(putstrf(friendly{from}))%>
+
+       if the message isn't from me, then the print the "From:" address is
+       printed.  And finally,
+
+            %{subject}%<{body}<<%{body}%>
+
+       the subject and initial body (if any) are printed.
+
+       For a more complicated example, next consider the default 
_r_e_p_l_c_o_m_p_s
+       format file.
+
+            %(lit)%(formataddr %<{reply-to}%|
+
+       This clears _s_t_r and formats the "Reply-To:" header if present.   
If
+       not present, the else clause is executed:
+
+            %<{from}%|%<{sender}%|%<{return-path}%>%>%>%>)\
+
+       This formats the "From:",  "Sender:"  and  "Return-Path:"  headers,
+       stopping as soon as one of them is present.  Next:
+
+            %<(nonnull)%(void(width))%(putaddr To: )\n%>\
+
+       If the _f_o_r_m_a_t_a_d_d_r result is non-null, it is printed 
as  an  address
+       (with  line folding if needed) in a field _w_i_d_t_h wide with a 
leading
+       label of "To: ".
+
+            %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
+
+       _s_t_r is cleared, and the "To:" and "Cc:"  headers,  along  with  
the
+       user's  address  (depending  on  what  was specified with the "-cc"
+       switch to _r_e_p_l) are formatted.
+
+            %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
+
+       If the result is non-null, it is printed as above  with  a  leading
+       label of "cc: ".
+
+            %<{fcc}Fcc: %{fcc}\n%>\
+
+       If a "-fcc folder" switch was given to _r_e_p_l (see _r_e_p_l 
(1) for  more
+       details about %{_f_c_c}), an "Fcc:" header is output.
+
+            %<{subject}Subject: Re: %{subject}\n%>\
+
+       If a subject component was present, a  suitable  reply  subject  is
+       output.
+
+            %<{date}In-reply-to: Your message of "\
+            %<(nodate{date})%{date}%|%(tws{date})%>."%<{message-id}
+                         %{message-id}%>\n%>\
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -114-                      MH-FORMAT(5)
+
+
+            --------
+
+       If a date component was present, an "In-Reply-To:" header is output
+       with the preface "Your message of ".  If the date was parseable, it
+       is output in official format, otherwise it is  output  as-is.   The
+       message-id is included if present.  As with all plain-text, the row
+       of dashes are output as-is.
+
+       This last part is a good example for  a  little  more  elaboration.
+       Here's that part again in pseudo-code:
+
+            if (comp_exists(date))  then
+                 print ("In-reply-to: Your message of \"")
+                 if (not_date_string(date.value) then
+                      print (date.value)
+                 else
+                      print (rfc822(date.value))
+                 endif
+                 print ("\"")
+                 if (comp_exists(message-id)) then
+                      print ("\n\t")
+                      print (message-id.value)
+                 endif
+                 print ("\n")
+            endif
+
+       Although this seems complicated, in point of fact, this  method  is
+       flexible  enough to extract individual fields and print them in any
+       format the user desires.
+
+  _F_i_l_e_s
+       None
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       scan(1), repl(1), ap(8), dp(8)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-FORMAT(5)                     -115-                      MH-FORMAT(5)
+
+
+  _H_i_s_t_o_r_y
+       This software was contributed for MH 6.3.  Prior  to  this,  output
+       format  specifications  were much easier to write, but considerably
+       less flexible.
+
+
+  _B_u_g_s
+       On hosts where _M_H was configured  with  the  BERK  option,  address
+       parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MAIL(5)                       -116-                        MH-MAIL(5)
+
+
+  _N_A_M_E
+       mh-mail - message format for MH message system
+
+  _S_Y_N_O_P_S_I_S
+       any _M_H command
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _M_H processes messages in a particular format.  It should  be  noted
+       that  although  neither  Bell  nor Berkeley mailers produce message
+       files in the format that _M_H prefers, _M_H can read message  files 
 in
+       that antiquated format.
+
+       Each user possesses a mail drop box which  initially  receives  all
+       messages  processed  by _p_o_s_t (8).  _I_n_c (1) will read from 
that drop
+       box and incorporate the new messages found there  into  the  user's
+       own  mail folders (typically `+inbox').  The mail drop box consists
+       of one or more messages.  To facilitate the separation of messages,
+       each  message begins and ends with a line consisting of nothing but
+       four CTRL-A (octal 001) characters.
+
+       Messages are expected to consist of lines of  text.   Graphics  and
+       binary data are not handled.  No data compression is accepted.  All
+       text is clear ASCII 7-bit data.
+
+       The general "memo" framework of RFC-822 is used.   A  message  con-
+       sists of a block of information in a rigid format, followed by gen-
+       eral text with no specified format.  The  rigidly  formatted  first
+       part of a message is called the header, and the free-format portion
+       is called the body.  The header must always exist, but the body  is
+       optional.   These  parts  are separated by an empty line, i.e., two
+       consecutive newline characters.  Within _M_H, the header and body may
+       be separated by a line consisting of dashes:
+
+            To:
+            cc:
+            Subject:
+            --------
+
+       The header is composed of one or more header  items.   Each  header
+       item  can  be  viewed as a single logical line of ASCII characters.
+       If the text of a header item extends across several real lines, the
+       continuation lines are indicated by leading spaces or tabs.
+
+       Each header item is called a component and is composed of a keyword
+       or  name,  along  with  associated text.  The keyword begins at the
+       left margin, may NOT contain spaces or  tabs,  may  not  exceed  63
+       characters  (as specified by RFC-822), and is terminated by a colon
+       (`:').  Certain components (as identified by their  keywords)  must
+       follow rigidly defined formats in their text portions.
+
+       The  text  for  most  formatted  components  (e.g.,   "Date:"   and
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MAIL(5)                       -117-                        MH-MAIL(5)
+
+
+       "Message-Id:") is produced automatically.  The only ones entered by
+       the user are address fields such as "To:",  "cc:",  etc.   Internet
+       addresses  are  assigned mailbox names and host computer specifica-
+       tions.  The rough format is "address@hidden", such  as  
"address@hidden",  or
+       "address@hidden".  Multiple addresses are separated by commas.  A
+       missing host/domain is assumed to be the local host/domain.
+
+       As mentioned above, a blank line (or a line of dashes) signals that
+       all  following text up to the end of the file is the body.  No for-
+       matting is expected or enforced within the body.
+
+       Following is a list of header components that are considered  mean-
+       ingful to various MH programs.
+       Date:
+            Added by _p_o_s_t (8), contains date and  time  of  the  
message's
+            entry into the transport system.
+
+       From:
+            Added by _p_o_s_t (8), contains  the  address  of  the  author 
 or
+            authors  (may  be  more  than  one  if  a  "Sender:"  field is
+            present).  Replies are typically directed to addresses in  the
+            "Reply-To:"  or  "From:"  field  (the former has precedence if
+            present).
+
+       Sender:
+            Added by _p_o_s_t (8) in the event that the message already 
has  a
+            "From:"  line.   This  line contains the address of the actual
+            sender.  Replies are never sent to addresses in the  "Sender:"
+            field.
+
+       To:
+            Contains addresses of primary recipients.
+
+       cc:
+            Contains addresses of secondary recipients.
+
+       Bcc:
+            Still more recipients.  However, the "Bcc:" line is not copied
+            onto  the  message  as  delivered, so these recipients are not
+            listed.  _M_H uses an encapsulation method for blind copies, see
+            _s_e_n_d (1).
+
+       Fcc:
+            Causes _p_o_s_t (8) to copy the message into the specified  
folder
+            for  the  sender, if the message was successfully given to the
+            transport system.
+
+       Message-ID:
+            A unique message identifier added by _p_o_s_t (8) if the  
`-msgid'
+            flag is set.
+
+       Subject:
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MAIL(5)                       -118-                        MH-MAIL(5)
+
+
+            Sender's commentary.  It is displayed by _s_c_a_n (1).
+
+       In-Reply-To:
+            A commentary line added by _r_e_p_l (1) when replying  to  a  
mes-
+            sage.
+
+       Resent-Date:
+            Added when redistributing a message by _p_o_s_t (8).
+
+       Resent-From:
+            Added when redistributing a message by _p_o_s_t (8).
+
+       Resent-To:
+            New recipients for a message resent by _d_i_s_t (1).
+
+       Resent-cc:
+            Still more recipients.  See "cc:" and "Resent-To:".
+
+       Resent-Bcc:
+            Even more recipients.  See "Bcc:" and "Resent-To:".
+
+       Resent-Fcc:
+            Copy  resent  message  into  a   folder.    See   "Fcc:"   and
+            "Resent-To:".
+
+       Resent-Message-Id:
+            A unique identifier glued on by _p_o_s_t (8) if the `-msgid'  
flag
+            is set.  See "Message-Id:" and "Resent-To:".
+
+       Resent:
+            Annotation for _d_i_s_t (1) under the `-annotate' option.
+
+       Forwarded:
+            Annotation for _f_o_r_w (1) under the `-annotate' option.
+
+       Replied:
+            Annotation for _r_e_p_l (1) under the `-annotate' option.
+
+
+  _F_i_l_e_s
+       /usr/spool/mail/$USER               Location of mail drop
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  _F_o_r_m_a_t  
_o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  _T_e_x_t  
_M_e_s_s_a_g_e_s  (aka
+       RFC-822)
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-MAIL(5)                       -119-                        MH-MAIL(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -120-                     MH-PROFILE(5)
+
+
+  _N_A_M_E
+        .mh_profile - user customization for MH message system
+
+  _S_Y_N_O_P_S_I_S
+       any _M_H command
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       Each user of _M_H is expected to have a file named 
._m_h__p_r_o_f_i_l_e in his
+       or her home directory.  This file contains a set of user parameters
+       used by some or all of the _M_H family of programs.  Each line of the
+       file is of the format
+
+           _p_r_o_f_i_l_e-_c_o_m_p_o_n_e_n_t: _v_a_l_u_e
+
+       The  possible  profile  components  are  exemplified  below.   Only
+       `Path:'  is  mandatory.  The others are optional; some have default
+       values if they are not present.  In the notation used below,  (pro-
+       file,  default)  indicates  whether  the information is kept in the
+       user's _M_H profile or _M_H context, and  indicates  what  the  
default
+       value is.
+
+       Path: Mail
+                 Locates _M_H transactions in directory  "Mail".   (profile,
+                 no default)
+
+       context: context
+                 Declares the location of the _M_H  context  file,  see  the
+                 HISTORY     section     below.      (profile,    default:
+                 <mh-dir>/context)
+
+       Current-Folder: inbox
+                 Keeps  track  of  the  current  open  folder.   (context,
+                 default: +inbox)
+
+       Previous-Sequence: pseq
+                 Names the sequences which should be defined as the `msgs'
+                 or  `msg' argument given to the program.  If not present,
+                 or empty, no sequences are defined.  Otherwise, for  each
+                 name  given,  the  sequence is first zero'd and then each
+                 message is added to the sequence.  (profile, no default)
+
+       Sequence-Negation: not
+                 Defines the string which, when  prefixed  to  a  sequence
+                 name,  negates that sequence.  Hence, "notseen" means all
+                 those messages that are not  a  member  of  the  sequence
+                 "seen".  (profile, no default)
+
+       Unseen-Sequence: unseen
+                 Names the sequences which should be defined as those mes-
+                 sages recently incorporated by _i_n_c.  _S_h_o_w knows 
to remove
+                 messages from this sequence once it thinks they have been
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -121-                     MH-PROFILE(5)
+
+
+                 seen.   If  not  present,  or  empty,  no  sequences  are
+                 defined.  Otherwise, for each name given, the sequence is
+                 first  zero'd  and  then  each  message  is  added to the
+                 sequence.  (profile, no default)
+
+       mh-sequences: .mh_sequences
+                 The name of the file in each folder which defines  public
+                 sequences.  To disable the use of public sequences, leave
+                 the  value  portion  of  this  entry  blank.    (profile,
+                 default: .mh_sequences)
+
+       atr-_s_e_q-_f_o_l_d_e_r: 172 178-181 212
+                 Keeps track of the private sequence  called  _s_e_q  in  
the
+                 specified folder.  (context, no default)
+
+       Editor: /usr/ucb/ex
+                 Defines  editor  to  be  used  by   _c_o_m_p (1),   
_d_i_s_t (1),
+                 _f_o_r_w (1), and _r_e_p_l (1).  (profile, default: 
prompter)
+
+       Msg-Protect: 644
+                 Defines octal protection bits  for  message  files.   See
+                 _c_h_m_o_d (1)  for an explanation of the octal number.  
(pro-
+                 file, default: 0644)
+
+       Folder-Protect: 711
+                 Defines protection bits for  folder  directories.   (pro-
+                 file, default: 0711)
+
+       _p_r_o_g_r_a_m: default switches
+                 Sets default switches to be used whenever the mh  program
+                 _p_r_o_g_r_a_m  is invoked.  For example, one could 
override the
+                 _E_d_i_t_o_r: profile component when replying  to  
messages  by
+                 adding a component such as:
+                         repl: -editor /bin/ed
+                 (profile, no defaults)
+
+       _l_a_s_t_e_d_i_t_o_r-next: nexteditor
+                 Names "nexteditor" to be the default editor  after  using
+                 "lasteditor".   This takes effect at "What now?" level in
+                 _c_o_m_p, _d_i_s_t, _f_o_r_w, and _r_e_p_l.  
After editing the draft with
+                 "lasteditor",  the  default editor is set to be "nextedi-
+                 tor".  If the user types "edit" without any arguments  to
+                 "What  now?",  then  "nexteditor"  is used.  (profile, no
+                 default)
+
+       bboards: system
+                 Tells _b_b_c which BBoards you are interested in.  
(profile,
+                 default: system)
+
+       Folder-Stack: _f_o_l_d_e_r_s
+                 The contents of the folder-stack for the _f_o_l_d_e_r  
command.
+                 (context, no default)
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -122-                     MH-PROFILE(5)
+
+
+       mhe:
+                 If present, tells _i_n_c to  compose  an  _M_H_E  
auditfile  in
+                 addition  to  its other tasks.  _M_H_E is Brian Reid's 
_E_m_a_c_s
+                 front-end for _M_H.  An early version is supplied with  the
+                 _m_h._6 distribution.  (profile, no default)
+
+  Alternate-Mailboxes: address@hidden, bug-mh*
+                 Tells _r_e_p_l and _s_c_a_n which addresses are 
really yours.  In
+                 this  way,  _r_e_p_l knows which addresses should be 
included
+                 in the reply, and _s_c_a_n knows if the message  really  
ori-
+                 ginated  from  you.   Addresses  must  be  separated by a
+                 comma, and the hostnames listed should be the  "official"
+                 hostnames  for the mailboxes you indicate, as local nick-
+                 names for hosts are not replaced with their official site
+                 names.   For  each  address, if a host is not given, then
+                 that address on any host is considered  to  be  you.   In
+                 addition,  an asterisk (`*') may appear at either or both
+                 ends of the mailbox and host to indicate wild-card match-
+                 ing.  (profile, default: your user-id)
+
+       Aliasfile: aliases
+                 Indicates a default aliases file for _a_l_i, _w_h_o_m, 
and _s_e_n_d.
+                 This  may  be  used  instead of the `-alias file' switch.
+                 (profile, no default)
+
+       Draft-Folder: drafts
+                 Indicates a default draft folder for  _c_o_m_p,  
_d_i_s_t,  _f_o_r_w,
+                 and _r_e_p_l.  (profile, no default)
+
+       digest-issue-_l_i_s_t: 1
+                 Tells _f_o_r_w the last issue of the last volume sent for 
the
+                 digest _l_i_s_t.  (context, no default)
+
+       digest-volume-_l_i_s_t: 1
+                 Tells _f_o_r_w the last volume  sent  for  the  digest  
_l_i_s_t.
+                 (context, no default)
+
+       MailDrop: .mail
+                 Tells _i_n_c your maildrop, if different from  the  
default.
+                 This  is  superceded  by the $MAILDROP envariable.  (pro-
+                 file, default: /usr/spool/mail/$USER)
+
+       Signature: RAND MH System (agent: Marshall Rose)
+                 Tells _s_e_n_d your mail signature.  This  is  superceded 
 by
+                 the $SIGNATURE envariable.  On hosts where _M_H was config-
+                 ured with the UCI option, if $SIGNATURE is  not  set  and
+                 this   profile   entry   is   not   present,   the   file
+                 $HOME/.signature is consulted.  Your  signature  will  be
+                 added  to the address _s_e_n_d puts in the "From:" 
header; do
+                 not include an address in the signature text.   (profile,
+                 no default)
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -123-                     MH-PROFILE(5)
+
+
+       The following profile elements are  used  whenever  an  _M_H  program
+       invokes  some  other program such as _m_o_r_e (1).  The 
._m_h__p_r_o_f_i_l_e can
+       be used to select alternate  programs  if  the  user  wishes.   The
+       default values are given in the examples.
+
+            fileproc:     /usr/local/refile
+            incproc:      /usr/local/inc
+            installproc:  /usr/local/lib/mh/install-mh
+            lproc:        /usr/ucb/more
+            mailproc:     /usr/local/mhmail
+            mhlproc:      /usr/local/lib/mh/mhl
+            moreproc:     /usr/ucb/more
+            mshproc:      /usr/local/msh
+            packproc:     /usr/local/packf
+            postproc:     /usr/local/lib/mh/post
+            rmmproc:      none
+            rmfproc:      /usr/local/rmf
+            sendproc:     /usr/local/send
+            showproc:     /usr/ucb/more
+            whatnowproc:  /usr/local/whatnow
+            whomproc:     /usr/local/whom
+
+       If you define the envariable $MH, you can specify a  profile  other
+       than ._m_h__p_r_o_f_i_l_e to be read by the _M_H programs 
that you invoke.  If
+       the value of $MH is not absolute, (i.e., does not begin with a / ),
+       it  will  be  presumed to start from the current working directory.
+       This is one of the very few exceptions  in  _M_H  where  non-absolute
+       pathnames are not considered relative to the user's _M_H directory.
+
+       Similarly, if you define the envariable $MHCONTEXT, you can specify
+       a  context  other than the normal context file (as specified in the
+       _M_H profile).  As always, unless the value of  $MHCONTEXT  is  abso-
+       lute, it will be presumed to start from your _M_H directory.
+
+       _M_H programs also support other envariables:
+
+       $MAILDROP : tells _i_n_c the default maildrop
+            This supercedes the "MailDrop:" profile entry.
+
+       $SIGNATURE : tells _s_e_n_d and _p_o_s_t your mail signature
+            This supercedes the "Signature:" profile entry.
+
+       $HOME : tells all _M_H programs your home directory
+
+       $SHELL : tells _b_b_l the default shell to run
+
+       $TERM : tells _M_H your terminal type
+            The $TERMCAP envariable is  also  consulted.   In  particular,
+            these  tells  _s_c_a_n and _m_h_l how to clear your 
terminal, and how
+            many columns wide your terminal is.  They also  tell  _m_h_l  
how
+            many lines long your terminal screen is.
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -124-                     MH-PROFILE(5)
+
+
+       $editalt : the alternate message
+            This is set by _d_i_s_t and _r_e_p_l during edit sessions 
so  you  can
+            peruse  the message being distributed or replied-to.  The mes-
+            sage is also available  through  a  link  called  "@"  in  the
+            current  directory  if  your current working directory and the
+            folder the message lives in are on the same UNIX filesystem.
+
+       $mhdraft : the path to the working draft
+            This is set by _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l to  tell  the  _w_h_a_t_-
+            _n_o_w_p_r_o_c  which  file  to  ask "What now?" questions 
about.  In
+            addition, _d_i_s_t, _f_o_r_w, and _r_e_p_l set 
$mhfolder  if  appropriate.
+            Further,  _d_i_s_t  and _r_e_p_l set $mhaltmsg to tell the 
_w_h_a_t_n_o_w_p_r_o_c
+            about an alternate message associated with the draft (the mes-
+            sage  being  distributed or replied-to), and _d_i_s_t sets 
$mhdist
+            to tell the _w_h_a_t_n_o_w_p_r_o_c that message 
re-distribution is occur-
+            ring.   Also,  $mheditor  is  set  to tell the 
_w_h_a_t_n_o_w_p_r_o_c the
+            user's choice of  editor  (unless  overridden  by  `-noedit').
+            Similarly, $mhuse may be set by _c_o_m_p.  Finally, 
$mhmessages is
+            set by _d_i_s_t, _f_o_r_w, and _r_e_p_l if annotations 
are to occur (along
+            with  $mhannotate,  and  $mhinplace).   It's  amazing  all the
+            information that has to get passed via envariables to make the
+            "What now?" interface look squeaky clean to the _M_H user, isn't
+            it?  The reason for all this is that the _M_H  user  can  select
+            _a_n_y  program as the _w_h_a_t_n_o_w_p_r_o_c, 
including one of the standard
+            shells.  As a result, it's not possible  to  pass  information
+            via an argument list.
+            If the WHATNOW option was set during  _M_H  configuration  (type
+            `-help'  to an _M_H command to find out), and if this envariable
+            is set, if the commands _r_e_f_i_l_e, _s_e_n_d, 
_s_h_o_w, or  _w_h_o_m  are  not
+            given  any  `msgs'  arguments, then they will default to using
+            the file indicated by $mhdraft.  This is  useful  for  getting
+            the default behavior supplied by the default 
_w_h_a_t_n_o_w_p_r_o_c.
+
+       $mhfolder : the folder containing the alternate message
+            This is set by _d_i_s_t and _r_e_p_l during edit sessions 
so  you  can
+            peruse  other  messages  in the current folder besides the one
+            being distributed or replied-to.  The $mhfolder envariable  is
+            also set by _s_h_o_w, _p_r_e_v, and _n_e_x_t for use 
by _m_h_l.
+
+       $MHBBRC :
+            If you define  the  envariable  $MHBBRC,  you  can  specify  a
+            BBoards  information  file other than ._b_b_r_c to be read by 
_b_b_c.
+            If the value of $MHBBRC is not absolute, (i.e., does not begin
+            with  a  / ),  it  will  be presumed to start from the current
+            working directory.
+
+       $MHFD :
+            If the OVERHEAD option was set during _M_H  configuration  (type
+            `-help' to an _M_H command to find out), then if this envariable
+            is set, _M_H considers it to be the number of a  file-descriptor
+            which  is  opened, read-only to the _M_H profile.  Similarly, if
+            the envariable $MHCONTEXTFD is set, this is the  number  of  a
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -125-                     MH-PROFILE(5)
+
+
+            file-descriptor  which  is opened read-only to the _M_H context.
+            This feature of _M_H is experimental, and  is  used  to  examine
+            possible  speed  improvements for _M_H startup.  Note that these
+            envariables must be set and non-empty to enable this  feature.
+            However,  if OVERHEAD is enabled during _M_H configuration, then
+            when _M_H programs call other _M_H programs, this scheme is  
used.
+            These file-descriptors are not closed throughout the execution
+            of the _M_H program, so children may  take  advantage  of  this.
+            This approach is thought to be completely safe and does result
+            in some performance enhancements.
+
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       or $MH                              Rather than the standard profile
+       <mh-dir>/context                    The user context
+       or $CONTEXT                         Rather than the standard context
+       <folder>/.mh_sequences              Public sequences for <folder>
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       All
+
+
+  _S_e_e _A_l_s_o
+       mh(1), environ(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       All
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -126-                     MH-PROFILE(5)
+
+
+  _H_i_s_t_o_r_y
+       In previous versions of _M_H, the current-message value of a writable
+       folder  was  kept  in a file called "cur" in the folder itself.  In
+       _m_h._3, the ._m_h__p_r_o_f_i_l_e contained the 
current-message values for  all
+       folders, regardless of their writability.
+
+       In all versions of _M_H since _m_h._4,  the  
._m_h__p_r_o_f_i_l_e  contains  only
+       static  information, which _M_H programs will NOT update.  Changes in
+       context are made to the _c_o_n_t_e_x_t file kept in the users MH 
 _d_i_r_e_c_t_o-
+       _r_y.  This includes, but is not limited to: the "Current-Folder" en-
+       try and all private sequence information.  Public sequence informa-
+       tion is kept in a file called ._m_h__s_e_q_u_e_n_c_e_s in 
each folder.
+
+       To convert from the format used in releases of _M_H prior to the for-
+       mat used in the _m_h._4 release, _i_n_s_t_a_l_l-_m_h should 
be invoked with the
+       `-compat' switch.  This generally happens automatically on _M_H  sys-
+       tems generated with the "COMPAT" option during _M_H configuration.
+
+       The ._m_h__p_r_o_f_i_l_e may override the  path  of  the  
_c_o_n_t_e_x_t  file,  by
+       specifying  a "context" entry (this must be in lower-case).  If the
+       entry is not absolute (does not start with a / ), then it is inter-
+       preted  relative  to the user's _M_H directory.  As a result, you can
+       actually have more than one set of private sequences by using  dif-
+       ferent context files.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-PROFILE(5)                    -127-                     MH-PROFILE(5)
+
+
+  _B_u_g_s
+       The shell quoting conventions are not available in the .mh_profile.
+       Each token is separated by whitespace.
+
+       There is some question as to  what  kind  of  arguments  should  be
+       placed  in  the  profile  as  options.  In order to provide a clear
+       answer, recall command line semantics of all _M_H programs: conflict-
+       ing  switches  (e.g., `-header and `-noheader') may occur more than
+       one time on the command line, with the last switch  taking  effect.
+       Other  arguments, such as message sequences, filenames and folders,
+       are always remembered on the invocation line and are not superseded
+       by  following  arguments  of  the  same type.  Hence, it is safe to
+       place only switches (and their arguments) in the profile.
+
+       If one finds that an _M_H program is being invoked  again  and  again
+       with  the same arguments, and those arguments aren't switches, then
+       there are a few possible solutions to this problem.  The  first  is
+       to  create a (soft) link in your $_H_O_M_E/_b_i_n directory to 
the _M_H pro-
+       gram of your choice.  By giving this link a different name, you can
+       create  a new entry in your profile and use an alternate set of de-
+       faults for the _M_H command.  Similarly, you  could  create  a  small
+       shell script which called the _M_H program of your choice with an al-
+       ternate set of invocation line switches (using links and an  alter-
+       nate profile entry is preferable to this solution).
+
+       Finally, the _c_s_h user could create an alias for the command of  
the
+       form:
+
+            alias cmd 'cmd arg1 arg2 ...'
+
+       In this way, the user can avoid lengthy type-in to the  shell,  and
+       still  give  _M_H commands safely.  (Recall that some _M_H commands 
in-
+       voke others, and that in all cases, the profile  is  read,  meaning
+       that aliases are disregarded beyond an initial command invocation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-SEQUENCE(5)                   -128-                    MH-SEQUENCE(5)
+
+
+  _N_A_M_E
+       mh-sequence - sequence specification for MH message system
+
+  _S_Y_N_O_P_S_I_S
+       most _M_H commands
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       Most _M_H commands accept a  `msg'  or  `msgs'  specification,  where
+       `msg'  indicates  one message and `msgs' indicates one or more mes-
+       sages.  To designate a message,  you  may  use  either  its  number
+       (e.g., 1, 10, 234) or one of these "reserved" message names:
+
+            _N_a_m_e      _D_e_s_c_r_i_p_t_i_o_n
+            first     the first message in the folder
+            last      the last message in the folder
+            cur       the most recently accessed message
+            prev      the message numerically preceding "cur"
+            next      the message numerically following "cur"
+
+       In commands that take a `msg' argument, the default is "cur".  As a
+       shorthand, "." is equivalent to "cur".
+
+       For example: In a folder containing five messages numbered  5,  10,
+       94,  177  and 325, "first" is 5 and "last" is 325.  If "cur" is 94,
+       then "prev" is 10 and "next" is 177.
+
+       The word `msgs' indicates that one or more messages may  be  speci-
+       fied.   Such a specification consists of one message designation or
+       of several message designations separated  by  spaces.   A  message
+       designation  consists either of a message name as defined above, or
+       a message range.
+
+       A message range is specified as "name1-name2"  or  "name:n",  where
+       `name',  `name1'  and  `name2'  are  message  names,  and `n' is an
+       integer.
+
+       The specification "name1-name2" designates  all  currently-existing
+       messages from `name1' to `name2' inclusive.  The message name "all"
+       is a shorthand for the message range "first-last".
+
+       The specification "name:n" designates up to  `n'  messages.   These
+       messages  start with `name' if `name' is a message number or one of
+       the reserved names "first" "cur", or "next", The messages end  with
+       `name'  if  `name'  is "prev" or "last".  The interpretation of `n'
+       may be overridden by preceding `n' with a plus or minus sign;  `+n'
+       always  means  up  to  `n'  messages starting with `name', and `-n'
+       always means up to `n' messages ending with `name'.
+
+       In commands which accept a `msgs' argument, the default  is  either
+       "cur"  or  "all",  depending  on  which makes more sense.  Repeated
+       specifications of the same message have the same effect as a single
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-SEQUENCE(5)                   -129-                    MH-SEQUENCE(5)
+
+
+       specification of the message.
+
+
+    _U_s_e_r-_D_e_f_i_n_e_d _M_e_s_s_a_g_e 
_S_e_q_u_e_n_c_e_s
+
+       In addition to the "reserved"  (pre-defined)  message  names  given
+       above,  _M_H  supports  user-defined  sequence  names.   User-defined
+       sequences allow the _M_H user a tremendous amount of power in dealing
+       with  groups of messages in the same folder by allowing the user to
+       bind a group of messages to a meaningful symbolic name.
+
+       The name used to denote a  message  sequence  must  consist  of  an
+       alphabetic  character followed by zero or more alphanumeric charac-
+       ters, and can not be one of the  "reserved"  message  names  above.
+       After  defining  a  sequence, it can be used wherever an _M_H command
+       expects a `msg' or `msgs' argument.
+
+       Some  forms  of  message  ranges  are  allowed  with   user-defined
+       sequences.   The  specification "name:n" may be used, and it desig-
+       nates up to the first `n' messages (or last `n' messages for  `-n')
+       which are elements of the user-defined sequence `name'.
+
+       The specifications "name:next" and "name:prev" may  also  be  used,
+       and  they  designate  the next or previous message (relative to the
+       current message) which is an element of the  user-defined  sequence
+       `name'.   The  specificaitions  "name:first"  and  "name:last"  are
+       equivalent to "name:1" and "name:-1", respectively.  The specifica-
+       tion  "name:cur" is not allowed (use just "cur" instead).  The syn-
+       tax of these message range specifcations is subject  to  change  in
+       the future.
+
+       User-defined sequence names are specific to each folder.  They  are
+       defined using the _p_i_c_k and _m_a_r_k commands.
+
+
+    _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+       There are two varieties of sequences: _p_u_b_l_i_c sequences and  
_p_r_i_v_a_t_e
+       sequences.   _P_u_b_l_i_c  sequences of a folder are accessible 
to any _M_H
+       user that can read that folder and are kept  in  the  .mh_sequences
+       file  in  the folder.  _P_r_i_v_a_t_e sequences are accessible 
only to the
+       _M_H user that defined those sequences and are kept in the user's  
_M_H
+       context file.  By default, _p_i_c_k and _m_a_r_k create 
_p_u_b_l_i_c sequences if
+       the folder for which the sequences are being defined is writable by
+       the  _M_H  user.  Otherwise, _p_r_i_v_a_t_e sequences are 
created.  This can
+       be overridden with the `-public' and `-private' switches to 
_m_a_r_k.
+
+
+    _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+       _M_H provides the ability to select all messages not  elements  of  a
+       user-defined  sequence.   To  do  this,  the user should define the
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-SEQUENCE(5)                   -130-                    MH-SEQUENCE(5)
+
+
+       entry "Sequence-Negation" in the _M_H profile file; its value may  be
+       any  string.  This string is then used to preface an existing user-
+       defined sequence name.  This specification  then  refers  to  those
+       messages not elements of the specified sequence name.  For example,
+       if the profile entry is:
+
+            Sequence-Negation: not
+
+       then anytime an _M_H command is given "notfoo" as a `msg'  or  `msgs'
+       argument, it would substitute all messages that are not elements of
+       the sequence "foo".
+
+       Obviously, the user should beware of defining sequences with  names
+       that begin with the value of the "Sequence-Negation" profile entry.
+
+
+    _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+       _M_H provides the ability to remember the `msgs'  or  `msg'  argument
+       last  given to an _M_H command.  The entry "Previous-Sequence" should
+       be defined in the _M_H profile; its value should be a  sequence  name
+       or  multiple  sequence names separated by spaces.  If this entry is
+       defined, when when an _M_H  command  finishes,  it  will  define  the
+       sequence(s)  named  in the value of this entry to be those messages
+       that were specified to the command.  Hence, a profile entry of
+
+            Previous-Sequence: pseq
+
+       directs any _M_H command that accepts a `msg' or `msgs'  argument  to
+       define the sequence "pseq" as those messages when it finishes.
+
+       Note:  there  can  be  a   performance   penalty   in   using   the
+       "Previous-Sequence"  facility.  If it is used, all _M_H programs have
+       to write the sequence information to the .mh_sequences file for the
+       folder  each  time  they  run.   If the "Previous-Sequence" profile
+       entry is not included,  only  _p_i_c_k  and  _m_a_r_k  will  
write  to  the
+       .mh_sequences file.
+
+
+    _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+       Finally, some users like to indicate messages which have  not  been
+       previously seen by them.  Both _i_n_c and _s_h_o_w honor the 
profile entry
+       "Unseen-Sequence" to support this  activity.   This  entry  in  the
+       .mh_profile  should  be  defined  as  one  or  more  sequence names
+       separated by spaces.  If there is a value for "Unseen-Sequence"  in
+       the profile, then whenever _i_n_c places new messages in a folder, 
the
+       new messages will also be added to the  sequence(s)  named  in  the
+       value of this entry.  Hence, a profile entry of
+
+            Unseen-Sequence: unseen
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  MH-SEQUENCE(5)                   -131-                    MH-SEQUENCE(5)
+
+
+       directs _i_n_c to add new messages to the sequence  "unseen".   
Unlike
+       the  behavior of the "Previous-Sequence" entry in the profile, how-
+       ever, the sequence(s) will not be zeroed by _i_n_c.
+
+       Similarly, whenever _s_h_o_w (or _n_e_x_t or _p_r_e_v) 
displays a message, that
+       message   will   be   removed  from  any  sequences  named  by  the
+       "Unseen-Sequence" entry in the profile.
+
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       <mh-dir>/context                    The user context
+       <folder>/.mh_sequences              Public sequences for <folder>
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Sequence-Negation:   To designate messages not in a sequence
+       Previous-Sequence:   The last message specification given
+       Unseen-Sequence:     Those messages not yet seen by the user
+
+
+  _S_e_e _A_l_s_o
+       mh(1), mark(1), pick(1), mh-profile(5)
+
+
+  _D_e_f_a_u_l_t_s
+       None
+
+
+  _C_o_n_t_e_x_t
+       All
+
+
+  _B_u_g_s
+       User-defined sequences are stored in the .mh_sequences  file  as  a
+       series  of  message specifications separated by spaces.  If a user-
+       defined sequence contains too many  individual  message  specifica-
+       tions,  that line in the file may become too long for _M_H to handle.
+       This will generate the error message ".mh_sequences is poorly  for-
+       matted".   You'll  have  to edit the file by hand to remove the of-
+       fending line.
+
+       This can happen to users who define the  "Previous-Sequence"  entry
+       in  the  _M_H profile and have a folder containing many messages with
+       gaps in the numbering.  A workaround for large folders is to minim-
+       ize numbering gaps by using "folder -pack" often.
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  AP(8)                            -132-                             AP(8)
+
+
+  _N_A_M_E
+       ap - parse addresses 822-style
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/ap [-form formatfile] [-format string]
+            [-normalize] [-nonormalize] [-width columns] addrs ...
+            [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _A_p is a program that parses addresses according to the ARPA  Inter-
+       net  standard.   It also understands many non-standard formats.  It
+       is useful for seeing how _M_H will interpret an address.
+
+       The _a_p program treats each argument as one or more  addresses,  and
+       prints  those  addresses out in the official 822-format.  Hence, it
+       is usually best to enclose each argument in double-quotes  for  the
+       shell.
+
+       To override the output format used by _a_p, the  `-format string'  or
+       `-format file'  switches  are used.  This permits individual fields
+       of the address to be extracted with ease.  The string is  simply  a
+       format   stringand   thefile   is   simply   a  format  file.   See
+       _m_h-_f_o_r_m_a_t (5) for the details.
+
+       In addition to the standard escapes, _a_p also recognizes the follow-
+       ing additional escape:
+
+       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+       error   string   A diagnostic if the parse failed
+
+       If the `-normalize' switch is given, _a_p will try to track down  the
+       official hostname of the address.
+
+       Here is the default format string used by _a_p:
+
+            %<{error}%{error}: %{text}%|%(putstr(proper{text}))%>
+
+       which says that if an error was detected, print the error,  a  `:',
+       and  the address in error.  Otherwise, output the 822-proper format
+       of the address.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+       /usr/local/lib/mh/mtstailor         tailor file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  AP(8)                            -133-                             AP(8)
+
+
+  _S_e_e _A_l_s_o
+       dp(8),
+       _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  _F_o_r_m_a_t  
_o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  _T_e_x_t  
_M_e_s_s_a_g_e_s  (aka
+       RFC-822)
+
+
+  _D_e_f_a_u_l_t_s
+       `-format' defaults as described above
+       `-normalize'
+       `-width' defaults to the width of the terminal
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The argument to the `-format' switch must be interpreted as a  sin-
+       gle token by the shell that invokes _a_p.  Therefore, one must usual-
+       ly place the argument to this switch inside double-quotes.
+
+       On hosts where _M_H was configured  with  the  BERK  option,  address
+       parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  CONFLICT(8)                      -134-                       CONFLICT(8)
+
+
+  _N_A_M_E
+       conflict - search for alias/password conflicts
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/conflict [-mail name] [-search directory]
+            [aliasfiles...] [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _C_o_n_f_l_i_c_t is a program that checks to see if the  
interface  between
+       _M_H and transport system is in good shape
+
+       _C_o_n_f_l_i_c_t also checks for maildrops in /usr/spool/mail 
which do  not
+       belong  to  a  valid user.  It assumes that no user name will start
+       with `.', and thus ignores files  in  /usr/spool/mail  which  begin
+       with  `.'.   It also checks for entries in the _g_r_o_u_p (5) file 
which
+       do not belong to a valid user, and for users  who  do  not  have  a
+       valid  group  number.   In  addition duplicate users and groups are
+       noted.
+
+       If the `-mail name' switch is used, then the results will  be  sent
+       to  the  specified  _n_a_m_e.   Otherwise,  the results are sent to 
the
+       standard output.
+
+       The `-search directory' switch can be used  to  search  directories
+       other  than /usr/spool/mail and to report anomalies in those direc-
+       tories.  The `-search directory' switch can appear  more  than  one
+       time in an invocation to _c_o_n_f_l_i_c_t.
+
+       _C_o_n_f_l_i_c_t should be run under  _c_r_o_n (8), or 
whenever system account-
+       ing takes place.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       /etc/passwd                         List of users
+       /etc/group                          List of groups
+       /usr/local/mhmail                   Program to send mail
+       /usr/spool/mail/                    Directory of mail drop
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       mh-alias(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `aliasfiles' defaults to /usr/local/lib/mh/MailAliases
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  CONFLICT(8)                      -135-                       CONFLICT(8)
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  DP(8)                            -136-                             DP(8)
+
+
+  _N_A_M_E
+       dp - parse dates 822-style
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/dp [-form formatfile] [-format string]
+            [-width columns] dates ...  [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _D_p is a program that parses dates according to  the  ARPA  Internet
+       standard.   It  also understands many non-standard formats, such as
+       those  produced  by  TOPS-20  sites  and  some  UNIX  sites   using
+       _c_t_i_m_e (3).  It is useful for seeing how _M_H will interpret 
a date.
+
+       The _d_p program treats each argument as a single  date,  and  prints
+       the date out in the official 822-format.  Hence, it is usually best
+       to enclose each argument in double-quotes for the shell.
+
+       To override the output format used by _d_p, the  `-format string'  or
+       `-format file'  switches  are used.  This permits individual fields
+       of the address to be extracted with ease.  The string is  simply  a
+       format   stringand   thefile   is   simply   a  format  file.   See
+       _m_h-_f_o_r_m_a_t (5) for the details.
+
+       Here is the default format string used by _d_p:
+
+            %<(nodate{text})error: %{text}%|%(putstr(pretty{text}))%>
+
+       which says that if an error was detected, print the error,  a  `:',
+       and  the date in error.  Otherwise, output the 822-proper format of
+       the date.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       None
+
+
+  _S_e_e _A_l_s_o
+       ap(8)
+       _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  _F_o_r_m_a_t  
_o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  _T_e_x_t  
_M_e_s_s_a_g_e_s  (aka
+       RFC-822)
+
+
+  _D_e_f_a_u_l_t_s
+       `-format' default as described above
+       `-width' default to the width of the terminal
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  DP(8)                            -137-                             DP(8)
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       The argument to the `-format' switch must be interpreted as a  sin-
+       gle token by the shell that invokes _d_p.  Therefore, one must usual-
+       ly place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  INSTALL-MH(8)                    -138-                     INSTALL-MH(8)
+
+
+  _N_A_M_E
+       install-mh - initialize the MH environment
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/install-mh [-auto] [-compat]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       When a user runs any _M_H program for the  first  time,  the  program
+       will  invoke _i_n_s_t_a_l_l-_m_h (with the `-auto' switch) to 
query the user
+       for the initial _M_H environment.  The user does NOT invoke this pro-
+       gram  directly.   The  user  is asked for the name of the directory
+       that will be designated as the user's _M_H directory.  If this direc-
+       tory  does  not  exist,  the user is asked if it should be created.
+       Normally, this directory should be under the user's home directory,
+       and  has  the  default name of Mail/.  After 
_i_n_s_t_a_l_l-_m_h has written
+       the initial .mh_profile for the user, control returns to the origi-
+       nal _M_H program.
+
+       As with all  _M_H  commands,  _i_n_s_t_a_l_l-_m_h  first  
consults  the  $HOME
+       envariable to determine the user's home directory.  If $HOME is not
+       set, then the /_e_t_c/_p_a_s_s_w_d file is consulted.
+
+       When converting from _m_h._3  to  _m_h._4,  
_i_n_s_t_a_l_l-_m_h  is  automatically
+       invoked with the `-compat' switch.
+
+  _F_i_l_e_s
+       $HOME/.mh_profile                   The user profile
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       Path:                To set the user's MH directory
+
+
+  _C_o_n_t_e_x_t
+       With `-auto', the current folder is changed to "inbox".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POST(8)                          -139-                           POST(8)
+
+
+  _N_A_M_E
+       post - deliver a message
+
+  _S_Y_N_O_P_S_I_S
+       /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
+            [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
+            [-verbose] [-noverbose] [-watch] [-nowatch] [-width columns]
+            file [-help]
+
+  _D_E_S_C_R_I_P_T_I_O_N
+
+       _P_o_s_t is the program called by _s_e_n_d (1) to deliver  the  
message  in
+       _f_i_l_e  to  local  and  remote  users.  In fact, all of the 
functions
+       attributed to _s_e_n_d on its manual page are performed by  
_p_o_s_t,  with
+       _s_e_n_d  acting as a relatively simple preprocessor.  Thus, it is 
_p_o_s_t
+       which parses the various header fields,  appends  From:  and  Date:
+       lines, and interacts with the _M_M_D_F transport system.  
_P_o_s_t will not
+       normally be called directly by the user.
+
+       _P_o_s_t searches the "To:", "cc:", "Bcc:", "Fcc:",  and  
"Resent-xxx:"
+       header  lines  of  the specified message for destination addresses,
+       checks these addresses for validity, and formats them so as to con-
+       form  to  ARPAnet  Internet  Message  Format  protocol,  unless the
+       `-noformat' flag is set.  This will normally cause 
"@_l_o_c_a_l-_s_i_t_e" to
+       be appended to each local destination address, as well as any local
+       return addresses. The `-width columns' switch can be used to  indi-
+       cate  the  preferred  length  of the header components that contain
+       addresses.
+
+       If a "Bcc:" field is encountered, its addresses will  be  used  for
+       delivery,  and  the  "Bcc:"  field will be removed from the message
+       sent to sighted recipients.  The blind recipients will  receive  an
+       entirely  new  message  with a minimal set of headers.  Included in
+       the body of the message will be a copy of the message sent  to  the
+       sighted  recipients.   If  `-filter filterfile'  is specified, then
+       this copy is filtered (re-formatted) prior to  being  sent  to  the
+       blind recipients.
+
+       The `-alias aliasfile' switch can be used to specify  a  file  that
+       post  should  take  aliases from.  More than one file can be speci-
+       fied, each being preceded with `-alias'.  In any event, the primary
+       alias file is read first.
+
+       The   `-msgid'   switch   indicates   that   a   "Message-ID:"   or
+       "Resent-Message-ID:" field should be added to the header.
+
+       The `-verbose' switch indicates that the user should be informed of
+       each step of the posting/filing process.
+
+       The `-watch' switch indicates that the user would like to watch the
+       transport  system's handling of the message (e.g., local and "fast"
+       delivery).
+
+  [mh.6]                           MH.6.7                      UCI version
+
+
+
+
+
+
+
+
+
+  POST(8)                          -140-                           POST(8)
+
+
+       _P_o_s_t consults the envariable $SIGNATURE to determine  the  
sender's
+       personal name in constructing the "From:" line of the message.
+
+  _F_i_l_e_s
+       /usr/local/lib/mh/mtstailor         tailor file
+       /usr/local/refile                   Program to process Fcc:s
+       /usr/local/lib/mh/mhl               Program to process Bcc:s
+       /usr/local/lib/mh/MailAliases       Primary alias file
+
+
+  _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+       _p_o_s_t does NOT consult the user's .mh_profile
+
+
+  _S_e_e _A_l_s_o
+       _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  _F_o_r_m_a_t  
_o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  _T_e_x_t  
_M_e_s_s_a_g_e_s  (aka
+       RFC-822),
+       mhmail(1), send(1), mh-mail(5), mh-alias(5)
+
+
+  _D_e_f_a_u_l_t_s
+       `-alias /usr/local/lib/mh/MailAliases'
+       `-format'
+       `-nomsgid'
+       `-noverbose'
+       `-width 72'
+       `-nofilter'
+
+
+  _C_o_n_t_e_x_t
+       None
+
+
+  _B_u_g_s
+       "Reply-To:" fields are allowed to have groups in them according  to
+       the 822 specification, but _p_o_s_t won't let you use them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9       [mh.6]                           MH.6.7                      UCI 
version
+
+
+
+
+
+
+
+
+
+
+
+
+                                _5. _R_E_P_O_R_T_I_N_G 
_P_R_O_B_L_E_M_S
+
+
+
+9
+            If problems are encountered with an _M_H program, the problems 
should
+       be  reported  to the local maintainers of _M_H.  When doing this, the 
name
+       of the program should be reported, along with  the  version  information
+       for  the  program.   To  find out what version of an _M_H program is 
being
+       run, invoke the program with the `-help' switch.  In addition to listing
+       the  syntax of the command, the program will list information pertaining
+       to its version.  This information includes the version of _M_H,  the  
host
+       it was generated on, and the date the program was loaded.  A second line
+       of information, found on versions of _M_H after #5.380 include  
_M_H  confi-
+       guration options.  For example,
+
+            version: MH 6.1 #1[UCI] (nrtc-gremlin) of Wed Nov  6  01:13:53  PST
+            1985
+            options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] [SMTP] [POP]
+
+       The `6.1 #1[UCI]' indicates that the program is from the UCI  
_m_h._6  ver-
+       sion  of  _M_H.   The  program was generated on the host 
`nrtc-gremlin' on
+       `Wed Nov  6 01:13:53 PST 1985'.  It's usually a good idea  to  send  the
+       output of the `-help' switch along with your report.
+
+       If there is no local _M_H maintainer, try the  address  Bug-MH.   If  
that
+       fails, use the Internet mailbox address@hidden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                                        -141-
+
+
+
+
+
+
+
+
+
+
+
+
+                                 _6. _A_D_V_A_N_C_E_D 
_F_E_A_T_U_R_E_S
+
+
+
+9
+            This section describes some  features  of  _M_H  that  were  
included
+       strictly for advanced _M_H users.  These capabilities permit _M_H 
to exhibit
+       more powerful behavior for the seasoned _M_H users.
+
+
+9       _U_S_E_R-_D_E_F_I_N_E_D _S_E_Q_U_E_N_C_E_S
+
+            User-defined sequences allow the _M_H user  a  tremendous  
amount  of
+       power  in dealing with groups of messages in the same folder by allowing
+       the user to bind a group of messages to a meaningful symbolic name.  The
+       user  may choose any name for a message sequence, as long as it consists
+       of alphanumeric characters and does not conflict with  the  standard  
_M_H
+       reserved message names (e.g., "first", etc).  After defining a sequence,
+       it can be used wherever an _M_H command expects a `msg'  or  `msgs'  
argu-
+       ment.
+
+            A restricted form of message ranges are allowed  with  user-defined
+       sequences.  The  form  "name:n",  specifies up to the first `n' messages
+       which are part of the user-defined sequence `name'.  A leading plus sign
+       is  allowed on `n', but is ignored.  The interpretation of n is overrid-
+       den if n is preceded by a minus sign; `-n' always means up to  the  last
+       `n' messages which are part of the sequence `name'.
+
+            Although all _M_H commands expand user-defined sequences as 
appropri-
+       ate, there are two commands that allow the user to define and manipulate
+       them: _p_i_c_k and _m_a_r_k.
+
+       _P_i_c_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+            Most users of _M_H will use user-defined sequences only with the 
_p_i_c_k
+       command.  By giving the `-sequence name' switch to _p_i_c_k (which 
can occur
+       more than once on the command line), each sequence named is  defined  as
+       those  messages  which _p_i_c_k matched according the the selection 
criteria
+       it was given.  Hence,
+
+            pick -from frated -seq fred
+
+       finds all those messages in the current folder which were from "frated",
+       creates  a  sequence  called "fred", and then adds them to the sequence.
+       The user could then invoke
+
+            scan fred
+
+       to get a _s_c_a_n listing of those messages.  Note  that  by  
default,  _p_i_c_k
+       creates  the named sequences before it adds the selected messages to the
+       sequence.  Hence, if the named sequence already existed, the sequence is
+
+                                        -142-
+
+
+
+
+
+
+
+
+
+                                        -143-
+
+
+       destroyed  prior  to  being  re-defined (nothing happens to the messages
+       that were a part of this sequence, they simply cease to  be  members  of
+       that  sequence).   By  using  the `-nozero' switch, this behavior can be
+       inhibited, as in
+
+            pick -from frated -seq sgroup
+            pick -from fear -seq sgroup -nozero
+            pick -from freida -seq sgroup -nozero
+
+       finds all those messages in the current folder which were from "frated",
+       "fear", or "freida", and defines the sequence called "sgroup" as exactly
+       those messages.  These operations amounted to an "inclusive-or" of three
+       selection  criteria, using _p_i_c_k, one can also generate the 
"and" of some
+       selection criteria as well:
+
+            pick -from frated -seq fred
+            pick -before friday -seq fred fred
+
+       This example defines the sequence called "fred" as  exactly  those  mes-
+       sages from "frated" that were dated prior to "friday".[1]
+
+            _P_i_c_k is normally used as a back-quoted command, for 
example,
+
+            scan `pick -from postmaster`
+
+       Now suppose that the user decides that another command should be issued,
+       using   exactly   those   messages.    Since,   _p_i_c_k   wasn't   
given  a
+       `-sequence name' argument in this example, the user would end-up  typing
+       the entire back-quoted command again.  A simpler way is to add a default
+       sequence name to the .mh_profile.  For example,
+
+            pick: -seq select -list
+
+       will tell _p_i_c_k to always define the sequence "select" whenever 
it's run.
+       The  `-list'  is necessary since the `-sequence name' switch sets `-nol-
+       ist' whenever the former is  encountered.   Hence,  this  profile  entry
+
+
+9          [1]  Of  course, it is much easier to simply use the built-in 
boolean
+       operation of _p_i_c_k to get the desired results:
+
+            pick -from frated -or -from fear -or -from freida -seq sgroup
+
+       and
+
+            pick -from frated -and -before friday -seq fred
+
+       do exactly the same thing as the five commands listed above.  Hence, the
+       `-nozero'  option  to  _p_i_c_k  is  only  useful to manipulate 
existing se-
+       quences.
+
+
+9
+
+
+
+
+
+
+
+
+
+                                        -144-
+
+
+       makes _p_i_c_k define the "select" sequence and otherwise behave 
exactly  as
+       if there was no profile entry at all.
+
+       _M_a_r_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+            The _m_a_r_k command lets the user perform  low-level  
manipulation  of
+       sequences,  and  also  provides  a  well-needed  debug  facility  to the
+       implementors/developers/maintainers  of  _M_H  (the  _M_H-hacks).   
In   the
+       future,  a user-friendly "front-end" for _m_a_r_k will probably be 
developed
+       to give the _M_H user a way to take better  advantage  of  the  
underlying
+       facilities.
+
+       _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+            There are two kinds of sequences:  _p_u_b_l_i_c  sequences,  
and  _p_r_i_v_a_t_e
+       sequences.   _P_u_b_l_i_c  sequences of a folder are accessible 
to any _M_H user
+       that can read that folder and are kept in the .mh_sequences file in  the
+       folder.   _P_r_i_v_a_t_e  sequences  are  accessible  only  to 
the _M_H user that
+       defined those sequences and are kept in the user's _M_H context file. 
  By
+       default,  _p_i_c_k  (and  _m_a_r_k )  create  
_p_u_b_l_i_c sequences if the folder for
+       which the sequences are being defined is writable by the _M_H user.   
Oth-
+       erwise,  _p_r_i_v_a_t_e sequences are created.  This can be 
overridden with the
+       `-public' and `-private' switches.
+
+       _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+            In addition to telling an _M_H command to use  the  messages  in 
 the
+       sequence "seen", as in
+
+            refile seen +old
+
+       it would be useful to be easily able to tell an _M_H command  to  use 
 all
+       messages  _e_x_c_e_p_t  those in the sequence.  One way of doing 
this would be
+       to use _m_a_r_k and define the sequence explicitly, as in
+
+            mark -delete -zero seen -seq notseen
+
+       which, owing to _m_a_r_k 's cryptic interpretation of `-delete' and 
`-zero',
+       defines  the  sequence  "notseen" to be all messages not in the sequence
+       "seen".  Naturally, anytime the sequence "seen"  is  changed,  "notseen"
+       will  have  to be updated.  Another way to achieve this is to define the
+       entry "Sequence-Negation:" in the .mh_profile.  If the entry was
+
+            Sequence-Negation: not
+
+       then anytime an _M_H command was given "notseen"  as  a  `msg'  or  
`msgs'
+       argument,  it would substitute all messages that are not a member of the
+       sequence "seen".  That is,
+
+            refile notseen +new
+
+       does just that.  The value of  the  "Sequence-Negation:"  entry  in  the
+
+
+
+
+
+
+
+
+
+
+
+                                        -145-
+
+
+       profile  can be any string.  Hence, experienced users of _M_H do not 
use a
+       word, but rather a special character which their shell does  not  inter-
+       pret  (users  of  the  _C_S_h_e_l_l  use a single caret or 
circumflex (usually
+       shift-6), while users of the  Bourne  shell  use  an  exclamation-mark).
+       This is because there is nothing to prevent a user of _M_H from 
defining a
+       sequence with this string as its prefix, if the  string  is  nothing  by
+       letters and digits.  Obviously, this could lead to confusing behavior if
+       the "Sequence-Negation:" entry leads _M_H to believe  that  two  
sequences
+       are opposites by virtue of their names differing by the prefix string.
+
+       _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+            Many times users find themselves issuing a series  of  commands  on
+       the  same  sequences  of messages.  If the user first defined these mes-
+       sages as a sequence, then considerable typing may be saved.  If the user
+       doesn't  have  this  foresight,  _M_H  provides  a  handy way of 
having _M_H
+       remember the `msgs' or `msg' argument last given to an _M_H  command. 
  If
+       the  entry "Previous-Sequence:" is defined in the .mh_profile, then when
+       the command finishes, it will define the sequence(s) named in the  value
+       of  this  entry  as  being  exactly  those messages that were specified.
+       Hence, a profile entry of
+
+            Previous-Sequence: pseq
+
+       directs any _M_H command that accepts a `msg' or `msgs' argument to 
define
+       the  sequence  "pseq" as those messages when it finishes.  More than one
+       sequence name may be placed in this entry, separated with  spaces.   The
+       one  disadvantage of this approach is that the _M_H progams have to 
update
+       the sequence information for the folder each  time  they  run  (although
+       most  programs read this information, usually only _p_i_c_k and 
_m_a_r_k have to
+       write this information out).
+
+       _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+            Finally, some users like to distinguish between messages which have
+       been  previously seen by them.  Both _i_n_c and _s_h_o_w 
honorthe profile entry
+       "Unseen-Sequence" to support this activity.   Whenever  _i_n_c  
places  new
+       messages  in  a folder, if the entry "Unseen-Sequence" is defined in the
+       .mh_profile, then when the command finishes, _i_n_c will add the  
new  mes-
+       sages  to  the  sequence(s)  named in the value of this entry.  Hence, a
+       profile entry of
+
+            Unseen-Sequence:  unseen
+
+       directs _i_n_c to add new messages to the sequence  "unseen".   
Unlike  the
+       behavior  of  the  "Previous-Sequence" entry in the profile however, the
+       sequence(s) will not be zero'd.
+
+            Similarly, whenever _s_h_o_w (or _n_e_x_t or  _p_r_e_v 
)  displays  a  message,
+       they   remove   those   messages   from   any  sequences  named  by  the
+       "Unseen-Sequence" entry in the profile.
+9
+9
+
+
+
+
+
+
+
+
+
+                                        -146-
+
+
+       _C_O_M_P_O_S_I_T_I_O_N _O_F _M_A_I_L
+
+            There are a number of interesting advanced facilities for the  com-
+       position of outgoing mail.
+
+
+       _T_h_e _D_r_a_f_t _F_o_l_d_e_r
+
+            The  _c_o_m_p,  _d_i_s_t,  _f_o_r_w,  and  
_r_e_p_l  commands  have  two  switches,
+       `-draftfolder +folder'        and        `-draftmessage msg'.         If
+       `-draftfolder +folder' is used, these commands are directed to construct
+       a  draft  message in the indicated folder.  (The "Draft-Folder:" profile
+       entry may be used to declare a default draft folder for use  with  
_c_o_m_p,
+       _d_i_s_t, _f_o_r_w, and _r_e_p_l) If `-draftmessage msg' is 
not used, it defaults to
+       `new' (unless the user invokes _c_o_m_p  with  `-use',  in  which  
case  the
+       default  is  `cur').   Hence, the user may have several message composi-
+       tions in progress simultaneously.  Now, all of the _M_H tools  are  
avail-
+       able  on  each of the user's message drafts (e.g., _s_h_o_w, 
_s_c_a_n, _p_i_c_k, and
+       so on).  If the folder does not exist, the user is asked if it should be
+       created (just like with _r_e_f_i_l_e ).  Also, the last draft 
message the user
+       was composing is known as `cur' in the draft folder.
+
+            Furthermore, the _s_e_n_d command has these switches as  well. 
  Hence,
+       from  the shell, the user can send off whatever drafts desired using the
+       standard _M_H `msgs' convention with `-draftmessage msgs'.  If  no  
`msgs'
+       are given, it defaults to `cur'.
+
+            In addition, all five  programs  have  a  `-nodraftfolder'  switch,
+       which undoes the last occurrence of `-draftfolder folder' (useful if the
+       latter occurs in the user's _M_H profile).
+
+            If the user does not give the `-draftfolder +folder'  switch,  then
+       all  these  commands act ``normally''.  Note that the `-draft' switch to
+       _s_e_n_d and _s_h_o_w still refers to the file called `draft' 
in the  user's  _M_H
+       directory.   In  the interests of economy of expression, when using 
_c_o_m_p
+       or _s_e_n_d, the user needn't prefix the draft `msg' or `msgs' with 
`-draft-
+       message'.   Both  of these commands accept a `file' or `files' argument,
+       and they will, if given `-draftfolder +folder' treat these arguments  as
+       `msg' or `msgs'.[2] Hence,
+
+            send -draftf +drafts first
+
+       is the same as
+
+            send -draftf +drafts -draftm first
+
+
+
+9          [2]  This may appear to be inconsistent, at first, but it saves a 
lot
+       of typing.
+
+
+9
+
+
+
+
+
+
+
+
+
+                                        -147-
+
+
+            To make all this a bit more clear, here are some  examples.   Let's
+       assume that the following entries are in the _M_H profile:
+
+            Draft-Folder: +drafts
+            sendf: -draftfolder +drafts
+
+       Furthermore, let's assume that the program _s_e_n_d_f is a 
(symbolic) link in
+       the user's $HOME/bin/ directory to _s_e_n_d.  Then, any of the 
commands
+
+            comp
+            dist
+            forw
+            repl
+
+       constructs the message draft in the `draft' folder using the `new'  mes-
+       sage  number.   Furthermore, they each define `cur' in this folder to be
+       that message draft.  If the user were to use the _q_u_i_t  option  
at  `What
+       now?'  level, then later on, if no other draft composition was done, the
+       draft could be sent with simply
+
+            sendf
+
+       Or, if more editing was required, the draft could be edited with
+
+            comp -use
+
+       Instead, if other drafts had been composed in the meantime, so that this
+       message  draft  was no longer known as `cur' in the `draft' folder, then
+       the user could _s_c_a_n the folder to see which message draft in 
the  folder
+       should be used for editing or sending.  Clever users could even employ a
+       back-quoted _p_i_c_k to do the work:
+
+            comp -use `pick +drafts -to bug-mh`
+
+       or
+
+            sendf `pick +drafts -to bug-mh`
+
+       Note that in the _c_o_m_p example, the output from _p_i_c_k 
must  resolve  to  a
+       single  message  draft (it makes no sense to talk about composing two or
+       more drafts with one invocation of _c_o_m_p ).  In  contrast,  in  
the  _s_e_n_d
+       example,  as  many  message  drafts  as  desired  can appear, since 
_s_e_n_d
+       doesn't mind sending more than one draft at a time.
+
+            Note that the argument `-draftfolder +folder' is  not  included  in
+       the  profile  entry  for  _s_e_n_d,  since  when  _c_o_m_p, et. 
al., invoke _s_e_n_d
+       directly, they supply _s_e_n_d with the UNIX pathname of the 
message  draft,
+       and  not  a `draftmessage msg' argument.  As far as _s_e_n_d is 
concerned, a
+       _d_r_a_f_t _f_o_l_d_e_r is not being used.
+
+            It is important to realize that _M_H treats the draft folder  
like  a
+       standard  _M_H  folder  in nearly all respects.  There are two 
exceptions:
+
+
+
+
+
+
+
+
+
+
+
+                                        -148-
+
+
+       first_____, under no circumstancs will the `-draftfolder folder' 
switch cause
+       the named folder to become the current folder.[3] Second______, 
although  con-
+       ceptually _s_e_n_d deletes the `msgs' named in the draft folder, it 
does not
+       call `delete-prog' to perform the deletion.
+
+
+       _W_h_a_t _H_a_p_p_e_n_s _i_f _t_h_e _D_r_a_f_t 
_E_x_i_s_t_s
+
+            When the _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l commands are  invoked  and  the
+       draft  you indicated already exists, these programs will prompt the user
+       for a reponse directing the program's action.  The prompt is
+
+            Draft ``/usr/src/uci/mh/mhbox/draft'' exists (xx bytes).
+            Disposition?
+
+       The appropriate responses and their meanings are: 
replace_______:  deletes  the
+       draft  and starts afresh; list____: lists the draft; 
refile______: files the draft
+       into a folder and starts afresh; and, quit____: leaves the draft 
intact  and
+       exits.   In addition, if you specified `-draftfolder folder' to the com-
+       mand, then one other response will be accepted: new___: finds a new  
draft,
+       just  as  if `-draftmessage new' had been given.  Finally, the 
_c_o_m_p com-
+       mand will accept one more response: use___: re-uses the draft, just  
as  if
+       `-use' had been given.
+
+
+       _T_h_e _P_u_s_h _O_p_t_i_o_n _a_t _W_h_a_t 
_n_o_w? _L_e_v_e_l
+
+            The _p_u_s_h option to the "What now?" query in the 
_c_o_m_p,  _d_i_s_t,  _f_o_r_w,
+       and  _r_e_p_l  commands,  directs the command to _s_e_n_d the 
draft in a special
+       detached fashion, with all normal output discarded.  If _p_u_s_h is 
used and
+       the  draft  can not be sent, then _M_H will send the user a message, 
indi-
+       cating the name of the draft file, and an explanation of the failure.
+
+            The user can also invoke _s_e_n_d  from  the  shell  with  the 
 `-push'
+       switch, which makes _s_e_n_d act like it had been _p_u_s_h 'd 
by one of the com-
+       position commands.
+
+            By using _p_u_s_h, the user can free the  shell  to  do  other 
 things,
+       because  it appears to the shell that the _M_H command has finished.  
As a
+       result the shell will immediately prompt for  another  command,  despite
+       the  fact  that  the  command is really still running.  Note that if the
+
+
+9          [3]  Obviously,  if  the folder appeared in the context of a 
standard
+       `+folder' argument to an _M_H program, as in
+
+            scan +drafts
+
+       it might become the current folder, depending on the context changes  of
+       the _M_H program in question.
+
+
+9
+
+
+
+
+
+
+
+
+
+                                        -149-
+
+
+       user indicates that annotations are to be performed (with `-annotate' to
+       _d_i_s_t,  _f_o_r_w,  or _r_e_p_l), the annotations will be 
performed after the mes-
+       sage has been successfully sent.  This action will appear to occur asyn-
+       chronously.   Obviously,  if one of the messages that is to be annotated
+       is removed before the draft has been successfully  sent,  then  when  
_M_H
+       tries  to  make the annotations, it won't be able to do so.  In previous
+       versions of _M_H, this resulted in an error message mysteriously 
appearing
+       on  the  user's  terminal.   In _m_h._5 and later versions, in this 
special
+       circumstance, no error will be generated.
+
+            If send is _p_u_s_h 'd, then the `-forward' switch  is  
examined  if  a
+       failure notice is generated.  If given, then the draft is forwarded with
+       the failure notice sent to the user.  This allows  rapid  
_b_u_r_s_t 'ing  of
+       the failure notice to retrieve the unsent draft.
+
+
+       _O_p_t_i_o_n_s _a_t _W_h_a_t _n_o_w? _L_e_v_e_l
+
+            By default, the message composition programs call a program  called
+       _w_h_a_t_n_o_w  before  the initial draft composition.  The 
_M_H user can specify
+       any program for this.  Following is some information about  the  default
+       "What  now?" level.  More detailed information can be found in the 
_w_h_a_t_-
+       _n_o_w (1) manual entry.
+
+            When using the _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l commands at  "What  now?"
+       level,  the _e_d_i_t, _l_i_s_t, _h_e_a_d_e_r_s, 
_r_e_f_i_l_e, and (for the _d_i_s_t and _r_e_p_l com-
+       mands) the _d_i_s_p_l_a_y options will pass on any additional  
arguments  given
+       them to whatever program they invoke.
+
+            In _m_h._1 (the original RAND _M_H ) and _m_h._2 (the 
first UCI version  of
+       _M_H ),  _M_H  used a complicated heuristic to determine if the 
draft should
+       be deleted or preserved after an unsuccessful edit.   In  _m_h._3,  
_M_H  was
+       changed to preserve the draft always, since _c_o_m_p, et. al., 
could usually
+       look at a draft, apply another set of heuristics, and decide if  it  was
+       important  or  not.   With the notion of a _d_r_a_f_t 
_f_o_l_d_e_r, in which one by
+       default gets a `new' message draft, the edit deletion/preservation algo-
+       rithm  was re-implemented, to keep the draft folder from being cluttered
+       with aborted edits.
+
+            Also, note that by default, if the  draft  cannot  be  successfully
+       sent,  these  commands  return  to "What now?" level.  But, when 
_p_u_s_h is
+       used, this does not happen (obviously).  Hence, if these  commands  were
+       expected  to  annotate  any messages, this will have to be done by hand,
+       later on, with the _a_n_n_o command.
+
+            Finally, if the `-delete' switch is not given to the  _q_u_i_t 
 option,
+       then these commands will inform the user of the name of the unsent draft
+       file.
+
+
+       _D_i_g_e_s_t_s
+9
+9
+
+
+
+
+
+
+
+
+
+                                        -150-
+
+
+            The _f_o_r_w command has the beginnings  of  a  digestifying  
facility,
+       with the `-digest list', `-issue number', and `-volume number' switches.
+
+       If _f_o_r_w is given "list" to the `-digest' switch as the name of 
the  dis-
+       cussion  group,  and  the `-issue number' switch is not given, then 
_f_o_r_w
+       looks for an entry in the user's _M_H context  called  
"_d_i_g_e_s_t-issue-list"
+       and  increments its value to use as the issue number.  Similarly, if the
+       `-volume number'  switch   is   not   given,   then   _f_o_r_w   
looks   for
+       "_d_i_g_e_s_t-volume-list"  (but  does  not increment its value) 
to use as the
+       volume number.
+
+       Having calculated the name of  the  digest  and  the  volume  and  issue
+       numbers, _f_o_r_w will now process the components file using the 
same format
+       string mechanism used by _r_e_p_l.  The current `%'-escapes are:
+
+       _e_s_c_a_p_e  _t_y_p_e     
_s_u_b_s_t_i_t_u_t_i_o_n
+       digest  string   digest name
+       msg     integer  issue number
+       cur     integer  volume number
+
+       In addition, to capture the current date, any of the escapes  valid  for
+       _d_p (8) are also valid for _f_o_r_w.
+
+       The default components file used by _f_o_r_w when in digest mode is:
+
+            From:     %{digest}-Request
+            To:       %{digest} Distribution: dist-%{digest};
+            Subject:  %{digest} Digest V%(cur) #%(msg)
+            Reply-To: %{digest}
+            --------
+            %{digest} Digest        %(weekday{date}), %2(mday{date}) 
%(month{date}) 19%02(year{date})
+                            Volume %(cur) : Issue %(msg)
+
+            Today's Topics:
+
+       Hence, when the `-digest' switch is present, the  first  step  taken  by
+       _f_o_r_w  is  to  expand the format strings in the component file.  
The next
+       step is to compose the draft using  the  standard  digest  encapsulation
+       algorithm  (even  putting an "End of list Digest" trailer in the draft).
+       Once the draft is composed by _f_o_r_w, _f_o_r_w writes out the 
volume and issue
+       profile entries for the digest, and then invokes the editor.
+
+       Naturally,   when   composing   the   draft,   _f_o_r_w   will   
honor   the
+       `-filter filterfile'  switch,  which is given to _m_h_l to filter 
each mes-
+       sage being forwarded prior to encapsulation in the draft.  A good filter
+       file to use, which is called _m_h_l._d_i_g_e_s_t, is:
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+                                        -151-
+
+
+            width=80,overflowoffset=10
+            leftadjust,compress,compwidth=9
+            Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+            From:
+            Subject:
+            :
+            body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+
+
+9       _F_O_L_D_E_R _H_A_N_D_L_I_N_G
+
+            There are two  interesting  facilities  for  manipulating  folders:
+       relative folder addressing, which allows a user to shorten the typing of
+       long folder names; and the folder-stack, which permits a user to keep  a
+       stack of current folders.
+
+
+       _R_e_l_a_t_i_v_e _F_o_l_d_e_r 
_A_d_d_r_e_s_s_i_n_g
+
+            By default, when `+folder' is given, and the  folder  name  is  not
+       absolute  (does not start with /, ./, or ../), then the UNIX pathname of
+       the folder is interpreted relative to the user's _M_H directory.  
Although
+       this  mechanism  works  fine  for  top-level folders and their immediate
+       sub-folders, once the depth of the sub-folder  tree  grows,  it  becomes
+       rather unwieldly:
+
+            scan +mh/mh.4/draft/flames
+
+       is a lot of typing.  _M_H can't do anything  if  the  current  folder 
 was
+       "+inbox", but if the current folder was, say, "+mh/mh.4/draft", _M_H 
has a
+       short-hand notation to reference a sub-folder  of  the  current  folder.
+       Using  the  address@hidden'  notation,  the  _M_H user can direct any 
_M_H program
+       which expects a `+folder' argument to look for the  folder  relative  to
+       the  current  folder  instead of the user's _M_H directory.  Hence, 
if the
+       current folder _w_a_s "+mh/mh.4/draft", then
+
+            scan @flames
+
+       would do the trick handily.  In addition,  if  the  current  folder  
_w_a_s
+       "+mh/mh.4/draft",
+
+            scan @../pick
+
+       would scan the folder "+mh/mh.4/pick", since, in the  UNIX  fashion,  it
+       references the folder "pick" which is a sub-folder of the folder that is
+       the parent of the current folder.  Since most advanced _M_H users 
seem  to
+       exhibit a large degree of locality in referencing folders when they pro-
+       cess mail, this convention should receive a wide range of uses.
+
+
+
+9
+
+
+
+
+
+
+
+
+
+                                        -152-
+
+
+       _T_h_e _F_o_l_d_e_r-_S_t_a_c_k
+
+            The _f_o_l_d_e_r-_s_t_a_c_k mechanism in _M_H gives 
the _M_H user a facility simi-
+       lar to the _C_S_h_e_l_l 's directory-stack.  Simply put,
+
+            folder -push +foo
+
+       makes "foo" the current folder, saving the folder  that  was  previously
+       the current folder on the _f_o_l_d_e_r-_s_t_a_c_k.  As 
expected,
+
+            folder -pop
+
+       takes the top of the _f_o_l_d_e_r-_s_t_a_c_k and makes it 
the current folder.  Each
+       of  these switches lists the _f_o_l_d_e_r-_s_t_a_c_k when 
they execute.  It is sim-
+       ple to write a _p_u_s_h_f command as a shell script.  It's one 
line:
+
+            exec folder -push $@
+
+       Probably a better way is to link  _f_o_l_d_e_r  to  the  
$HOME/bin/  directory
+       under the name of _p_u_s_h_f and then add the entry
+
+            pushf: -push
+
+       to the .mh_profile.
+
+            The manual page for _f_o_l_d_e_r discusses the analogy 
between the _C_S_h_e_l_l
+       directory stack commands and the switches in _f_o_l_d_e_r which 
manipulate the
+       _f_o_l_d_e_r-_s_t_a_c_k.  The _f_o_l_d_e_r command 
uses the context entry `Folder-Stack:'
+       to keep track of the folders in the user's stack of folders.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                      Appendix A
+                                   _C_O_M_M_A_N_D _S_U_M_M_A_R_Y
+
+
+
+9       ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+            [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+       anno [+folder] [msgs] [-component field] [-inplace] [-noinplace]
+            [-date] [-nodate] [-text body] [-help]
+
+       bbc [bboards ...] [-topics] [-check] [-read] [-quiet] [-verbose]
+            [-archive] [-noarchive] [-protocol] [-noprotocol]
+            [-mshproc program] [switches for _m_s_h_p_r_o_c] [-rcfile 
rcfile]
+            [-norcfile] [-file BBoardsfile] [-user BBoardsuser]
+            [-host host] [-help]
+
+       burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] [-noquiet]
+            [-verbose] [-noverbose] [-help]
+
+       comp [+folder] [msg] [-draftfolder +folder] [-draftmessage msg]
+            [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+            [-form formfile] [-use] [-nouse] [-whatnowproc program]
+            [-nowhatnowproc] [-help]
+
+       dist [+folder] [msg] [-annotate] [-noannotate]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-form formfile] [-inplace]
+            [-noinplace] [-whatnowproc program] [-nowhatnowproc] [-help]
+
+       folder [+folder] [msg] [-all] [-fast] [-nofast] [-header]
+            [-noheader] [-pack] [-nopack] [-recurse] [-norecurse] [-total]
+            [-nototal] [-print] [-noprint] [-list] [-nolist] [-push]
+            [-pop] [-help]
+
+       folders
+
+       forw [+folder] [msgs] [-annotate] [-noannotate]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-filter filterfile]
+            [-form formfile] [-format] [-noformat] [-inplace] [-noinplace]
+            [-whatnowproc program] [-nowhatnowproc] [-help]
+
+       forw [+folder] [msgs] [-digest list] [-issue number]
+            [-volume number] [other switches for _f_o_r_w] [-help]
+
+
+
+
+
+
+
+9                                   -153-
+
+
+
+
+
+
+
+
+
+
+
+
+       inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+            [-nochangecur] [-file name] [-form formatfile]
+            [-format string] [-silent] [-nosilent] [-truncate]
+            [-notruncate] [-width columns] [-host host] [-user user]
+            [-pack file] [-nopack] [-rpop] [-norpop] [-help]
+
+       mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] [-list]
+            [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+       /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
+            [-folder +folder] [-form formfile] [-length lines]
+            [-width columns] [-moreproc program] [-nomoreproc] [files ...]
+            [-help]
+
+       mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+            [-subject subject]] [-help]
+
+       mhpath [+folder] [msgs] [-help]
+
+       msgchk [-date] [-nodate] [-notify all/mail/nomail]
+            [-nonotify all/mail/nomail] [-host host] [-user user] [-rpop]
+            [-norpop] [users ...] [-help]
+
+       msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] [file]
+            [-help]
+
+       next [+folder] [-header] [-noheader] [-showproc program]
+            [-noshowproc] [switches for _s_h_o_w_p_r_o_c] [-help]
+
+       packf [+folder] [msgs] [-file name] [-help]
+
+       pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+            [-lbrace ... -rbrace] [--component pattern] [-after date]
+            [-before date] [-datefield field] [-sequence name ...]
+            [-public] [-nopublic] [-zero] [-nozero] [-list] [-nolist]
+            [-help]
+
+       prev [+folder] [-header] [-noheader] [-showproc program]
+            [-noshowproc] [switches for _s_h_o_w_p_r_o_c] [-help]
+
+       prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] [-rapid]
+            [-norapid] [-doteof] [-nodoteof] file [-help]
+
+       /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
+            [-sequence name ...] [-public] [-nopublic] [-zero] [-nozero]
+            [-help]
+
+
+
+
+
+9
+9                                   -154-
+
+
+
+
+
+
+
+
+
+
+
+
+       refile [msgs] [-draft] [-link] [-nolink] [-preserve] [-nopreserve]
+            [-src +folder] [-file file] +folder ...  [-help]
+
+       repl [+folder] [msg] [-annotate] [-noannotate] [-cc all/to/cc/me]
+            [-nocc all/to/cc/me] [-draftfolder +folder]
+            [-draftmessage msg] [-nodraftfolder] [-editor editor]
+            [-noedit] [-fcc +folder] [-filter filterfile] [-form formfile]
+            [-inplace] [-noinplace] [-query] [-noquery]
+            [-whatnowproc program] [-nowhatnowproc] [-width columns]
+            [-help]
+
+       rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+       rmm [+folder] [msgs] [-help]
+
+       scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+            [-format string] [-header] [-noheader] [-width columns]
+            [-reverse] [-noreverse] [-file filename] [-help]
+
+       send [-alias aliasfile] [-draft] [-draftfolder +folder]
+            [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+            [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+            [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] [-noverbose]
+            [-watch] [-nowatch] [-width columns] [file ...] [-help]
+
+       show [+folder] [msgs] [-draft] [-header] [-noheader]
+            [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+            [-help]
+
+       sortm [+folder] [msgs] [-datefield field] [-textfield field]
+            [-notextfield] [-limit days] [-nolimit] [-verbose]
+            [-noverbose] [-help]
+
+       vmh [-prompt string] [-vmhproc program] [-novmhproc]
+            [switches for _v_m_h_p_r_o_c] [-help]
+
+       whatnow [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [-editor editor] [-noedit] [-prompt string] [file] [-help]
+
+       whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+            [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
+            [file] [-help]
+
+       /usr/local/lib/mh/ap [-form formatfile] [-format string]
+            [-normalize] [-nonormalize] [-width columns] addrs ...
+            [-help]
+
+
+
+
+
+9
+9                                   -155-
+
+
+
+
+
+
+
+
+
+
+
+
+       /usr/local/lib/mh/conflict [-mail name] [-search directory]
+            [aliasfiles ...] [-help]
+
+       /usr/local/lib/mh/dp [-form formatfile] [-format string]
+            [-width columns] dates ...  [-help]
+
+       /usr/local/lib/mh/install-mh [-auto] [-compat]
+
+       /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
+            [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
+            [-verbose] [-noverbose] [-watch] [-nowatch] [-width columns]
+            file [-help]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9                                        -156-
+
+
+
+
+
+
+
+
+
+
+
+
+                                      Appendix B
+                                   _M_E_S_S_A_G_E _N_A_M_E _B_N_F
+
+
+
+9
+                 msgs                  :=  msgspec                |
+                                           msgs msgspec
+
+                 msgspec               :=  msg                    |
+                                           msg-range              |
+                                           msg-sequence           |
+                                           user-defined-sequence
+
+                 msg                   :=  msg-name               |
+                                           <number>
+
+                 msg-name              :=  "first"                |
+                                           "last"                 |
+                                           "cur"                  |
+                                           "."                    |
+                                           "next"                 |
+                                           "prev"
+
+                 msg-range             :=  msg"-"msg              |
+                                           "all"
+
+                 msg-sequence          :=  msg":"signed-number
+
+                 signed-number         :=  "+"<number>            |
+                                           "-"<number>            |
+                                           <number>
+
+                 user-defined-sequence :=  <alpha>                |
+                                           <alpha><alphanumeric>*
+
+
+       Where <number> is a decimal number greater than zero.
+
+       Msg-range specifies all of the messages in the given range and must  not
+       be empty.
+
+       Msg-sequence specifies up to <number> of messages, beginning with  "msg"
+       (in the case of first, cur, next, or <number>), or ending with "msg" (in
+       the case of prev or last).  +<number> forces "starting  with  msg",  and
+       -<number> forces "ending with number".  In all cases, "msg" must exist.
+
+       User-defined sequences are defined and manipulated  with  the  
_p_i_c_k  and
+       _m_a_r_k commands.
+
+
+
+9                                        -157-
+
+
+
+
+
+
+
+
+
+
+
+
+                                      _R_E_F_E_R_E_N_C_E_S
+
+
+
+       1.  Crocker, D. H., J. J. Vittal, K. T. Pogran,  and  D.  A.  Henderson,
+           Jr.,  "Standard  for  the  Format  of  ARPA  Network Text Messages,"
+           _R_F_C_7_3_3, November 1977.
+
+       2.  Thompson, K., and D. M. Ritchie,  "The  UNIX  Time-sharing  System,"
+           _C_o_m_m_u_n_i_c_a_t_i_o_n_s _o_f _t_h_e 
_A_C_M, Vol. 17, July 1974, pp. 365-375.
+
+       3.  McCauley, E. J., and P. J. Drongowski, "KSOS-The Design of a  Secure
+           Operating  System,"  _A_F_I_P_S _C_o_n_f_e_r_e_n_c_e 
_P_r_o_c_e_e_d_i_n_g_s, National Computer
+           Conference, Vol. 48, 1979, pp. 345-353.
+
+       4.  Crocker, David H., _F_r_a_m_e_w_o_r_k _a_n_d 
_F_u_n_c_t_i_o_n_s _o_f _t_h_e "_M_S" _P_e_r_s_o_n_a_l 
_M_e_s_-
+           _s_a_g_e _S_y_s_t_e_m, The RAND Corporation, R-2134-ARPA, 
December 1977.
+
+       5.  Thompson, K., and D. M. Ritchie, _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l, 6th  ed.,
+           Western  Electric  Company,  May 1975 (available only to UNIX licen-
+           sees).
+
+       6. Crocker, D. H., "Standard for the Format of ARPA Internet  Text  Mes-
+           sages," _R_F_C_8_2_2, August 1982.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9                                        -158-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9                                         -i-
+
+
+
+
+
+
+
+
+
+
+
+
+                                      _R_E_A_D _T_H_I_S
+
+
+
+
+            Although the _M_H system was originally developed by  the  RAND  
Cor-
+       poration,  and is now in the public domain, the RAND Corporation assumes
+       no responsibility for _M_H or this particular version of _M_H.
+
+            In addition, the Regents of the University of California issue  the
+       following disclaimer in regard to the UCI version of _M_H:
+
+            "Although each program has been tested by its contributor, no  war-
+            ranty,  express  or  implied,  is  made  by  the contributor or the
+            University of California, as to the accuracy and functioning of the
+            program and related program material, nor shall the fact of distri-
+            bution constitute any  such  warranty,  and  no  responsibility  is
+            assumed  by the contributor or the University of California in con-
+            nection herewith."
+
+            This version of _M_H is in the public domain, and as such, there 
 are
+       no  real  restrictions on its use.  The _M_H source code and 
documentation
+       have no licensing restrictions whatsoever.  As a courtesy,  the  authors
+       ask only that you provide appropriate credit to the RAND Corporation and
+       the University of California for having developed the software.
+
+            _M_H is a software package that is supported neither by the RAND 
Cor-
+       poration nor the University of California.  However, since we do use the
+       software ourselves and plan to continue using (and  improving)  _M_H, 
 bug
+       reports and their associated fixes should be reported back to us so that
+       we may include them in future releases.  The  current  computer  mailbox
+       for   _M_H   is   address@hidden   (in   the   ARPA   Internet),   and
+       ...!ucbvax!ucivax!bug-mh (UUCP).  Presently, there are two Internet dis-
+       cussion   groups,   address@hidden   and   address@hidden
+       MH-Workers is for people discussing code changes to _M_H.  MH-Users 
is for
+       general  discussion  about  how to use _M_H.  MH-Users is 
bi-directionally
+       gatewayed into USENET as comp.mail.mh.
+
+       _H_O_W _T_O _G_E_T _M_H
+
+            Since you probably already have _M_H, you may not need to  read  
this
+       unless  you  suspect you have an old version.  There are two ways to get
+       the latest release:
+
+            1.  If you can FTP to the  ARPA  Internet,  use  anonymous  FTP  to
+       ics.uci.edu  [128.195.1.1]  and  retrieve  the file pub/mh/mh-6.7.tar.Z.
+       This is a tar  image  after  being  run  through  the  compress  program
+       (approximately  1.5MB).   There  should  also  be  a README file in that
+       directory which tells what the current release of _M_H is, and how to 
 get
+       updates.
+
+9
+9                                         -i-
+
+
+
+
+
+
+
+
+
+                                         -ii-
+
+
+            This tar file is also available on louie.udel.edu [128.175.1.3]  in
+       portal/mh-6.7.tar.Z.   You  may  also find MH on various other hosts; to
+       make sure you get the latest version and don't waste your time re-fixing
+       bugs, it's best to get it from either ics.uci.edu or louie.udel.edu.
+
+            2.  You can send $75 US to the address below.  This covers the cost
+       of  a  6250  BPI  9-track magtape, handling, and shipping.  In addition,
+       you'll get a laser-printed hard-copy of the entire MH documentation set.
+       Be  sure  to  include your USPS address with your check.  Checks must be
+       drawn on U.S. funds and should be made payable to:
+
+                 Regents of the University of California
+
+       The distribution address is:
+
+                 Computing Support Group
+                 Attn: MH distribution
+                 Department of Information and Computer Science
+                 University of California, Irvine
+                 Irvine, CA  92717
+
+                 714/856-7554
+
+            If you just want the hard-copies of the  documentation,  you  still
+       have  to  pay  the $75.  The tar image has the documentation source (the
+       manual is in roff format, but the rest are in TeX  format).   Postscript
+       formatted  versions  of  the TeX papers are available, as are crude tty-
+       conversions of those papers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                       _F_O_R_E_W_O_R_D
+
+
+
+
+            This document describes the RAND _M_H Message Handling  System.  
 Its
+       primary  purpose  is  to  serve as a user's manual.  It has been heavily
+       based on a previous version of the manual,  prepared  by  Bruce  Borden,
+       Stockton Gaines, and Norman Shapiro.
+
+            _M_H is a particularly novel system, and thus it is often more  
prone
+       to  change  than  other  pieces  of  production software.  As such, some
+       specific points in this manual may not be correct in the future.  In all
+       cases,  the  on-line  sections  of  this  manual,  available through the
+       UNIX[1] _m_a_n command, should present the most current information.
+
+            When reading this document as a user's manual, certain sections are
+       more  interesting than others.  The Preface and Summary are not particu-
+       larly interesting to those interested in learning _M_H.  The  
Introduction
+       is slightly more interesting, as it touches upon the organization of the
+       remainder of this document.  The most useful sections are the  Overview,
+       Tutorial,  and Detailed Description.  The Overview should be read by all
+       _M_H users, regardless of their expertise (beginning, novice, 
advanced, or
+       hacker).   The  Tutorial  should  be read by all beginning and novice 
_M_H
+       users, as it presents a nice description of the _M_H system.  The 
Detailed
+       Description  should  be  read by the day-to-day user of _M_H, as it 
spells
+       out all of the realities of the _M_H system.  The Advanced  Features  
sec-
+       tion discusses some powerful _M_H capabilities for advanced users.  
Appen-
+       dix A is particularly useful for novices, as it summarizes  the  invoca-
+       tion syntax of all the _M_H commands.
+
+            There are also several other documents which may be useful to  you:
+       _T_h_e  _R_A_N_D  _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_u_t_o_r_i_a_l, which is 
a tutorial for
+       _M_H; _T_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_h_e _U_C_I 
_B_B_o_a_r_d_s _F_a_c_i_l_i_t_y, which
+       describes  the  BBoards handling under _M_H; _M_H._5: _H_o_w 
_t_o _p_r_o_c_e_s_s _2_0_0 _m_e_s_-
+       _s_a_g_e_s _a _d_a_y _a_n_d _s_t_i_l_l _g_e_t 
_s_o_m_e _r_e_a_l _w_o_r_k _d_o_n_e, which  was  presented  at
+       the  1985  Summer  Usenix Conference and Exhibition in Portland, Oregon;
+       _M_H: _A _M_u_l_t_i_f_a_r_i_o_u_s _U_s_e_r 
_A_g_e_n_t, which has been accepted  for  publication
+       by  Computer  Networks;  _M_Z_n_e_t: _M_a_i_l 
_S_e_r_v_i_c_e _f_o_r _P_e_r_s_o_n_a_l 
_M_i_c_r_o-_C_o_m_p_u_t_e_r
+       _S_y_s_t_e_m_s, which was presented at the  First  International 
 Symposium  on
+       Computer  Message  Systems  in  Nottingham, U.K.; and, 
_D_e_s_i_g_n _o_f _t_h_e _T_T_I
+       _P_r_o_t_o_t_y_p_e _T_r_u_s_t_e_d _M_a_i_l 
_A_g_e_n_t, which describes  a  proprietary  "trusted"
+       mail  system  built on _M_H.  There are also documents, mostly 
specific to
+       U.C. Irvine which you may find interesting: _M_H _f_o_r 
_B_e_g_i_n_n_e_r_s, and _M_H _f_o_r
+       _M_M _U_s_e_r_s.  All of these documents exist in the _m_h._6 
distribution sent to
+       your site.  There's also a document, _C_h_a_n_g_e_s _t_o 
_t_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e _H_a_n_-
+       _d_l_i_n_g  _S_y_s_t_e_m:  _M_H._6,  which  describes  
user-visible changes made to _M_H
+
+
+9          [1] UNIX is a trademark of AT&T Bell Laboratories.
+
+
+9                                        -iii-
+
+
+
+
+
+
+
+
+
+                                         -iv-
+
+
+       since the last major release.
+
+            This manual is very large, as it describes a large, powerful system
+       in gruesome detail.  The important thing to remember is:
+
+
+                                    _D_O_N'_T _P_A_N_I_C[_2]
+
+
+       As explained in the tutorial, you really need to know only 5 commands to
+       handle most of your mail.
+
+            Very advanced users may wish to consult _T_h_e _R_A_N_D  
_M_H  _M_e_s_s_a_g_e  _H_a_n_-
+       _d_l_i_n_g  _S_y_s_t_e_m:  
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, which is also 
present in the _m_h._6
+       distribution sent to your site.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9          [2] Note the large, _f_r_i_e_n_d_l_y letters.
+
+
+9
+
+
+
+
+
+
+
+
+
+
+
+
+                                   
_A_C_K_N_O_W_L_E_D_G_M_E_N_T_S
+
+
+
+
+            The _M_H system described herein is based on  the  original  
RAND  _M_H
+       system.   It  has  been  extensively  developed (perhaps too much so) by
+       Marshall T. Rose and John L. Romine at  the  University  of  California,
+       Irvine.  Einar A. Stefferud, Jerry N. Sweet, and Terry P. Domae provided
+       numerous suggestions to improve the UCI version of  _M_H.   Of  
course,  a
+       large  number  of  people have helped _M_H along.  The list of 
``_M_H immor-
+       tals'' is too long to list here.  However, Van Jacobson deserves a  spe-
+       cial  acknowledgement for his tireless work in improving the performance
+       of _M_H.  Some programs have been speeded-up by a factor of 10 or 20. 
 All
+       of  users  of  _M_H,  everywhere,  owe  a special thanks to Van.  For 
this
+       release, numerous _M_H-_W_o_r_k_e_r_s sent in fixes and other 
changes.  A handful
+       of  courageous  _M_H-_W_o_r_k_e_r_s volunteered to beta-test 
these changes; their
+       help is particularly appreciated.
+
+            This manual is based on the original _M_H manual written at  
RAND  by
+       Bruce Borden, Stockton Gaines, and Norman Shapiro.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9                                         -v-
+
+
+
+
+
+
+
+
+
+
+
+
+                                       _P_R_E_F_A_C_E
+
+
+
+
+            This report describes a system for dealing with messages  transmit-
+       ted  on  a  computer.  Such messages might originate with other users of
+       the same computer or might come from an outside source through a network
+       to  which the user's computer is connected.  Such computer-based message
+       systems are becoming increasingly widely used, both within  and  outside
+       the Department of Defense.
+
+            The message handling system _M_H was developed for two reasons.  
 One
+       was  to  investigate some research ideas concerning how a message system
+       might take advantage  of  the  architecture  of  the  UNIX  time-sharing
+       operating  system  for Digital Equipment Corporation PDP-11 and VAX com-
+       puters, and the special features of UNIX's command-level interface  with
+       the  user  (the  "shell").  The other reason was to provide a better and
+       more adaptable base than that of conventional designs on which to  build
+       a  command and control message system.  The effort has succeeded in both
+       regards, although this report mainly describes the message system itself
+       and how it fits in with UNIX.
+
+            The present report  should  be  of  interest  to  three  groups  of
+       readers.   First, it is a complete reference manual for the users of 
_M_H.
+       Second, it should be of interest to those who have a  general  knowledge
+       of  computer-based message systems, both in civilian and military appli-
+       cations.  Finally, it should be of interest to  those  who  build  large
+       subsystems  that  interface  with  users,  since  it  illustrates  a new
+       approach to such interfaces.
+
+            The original _M_H system was developed  by  Bruce  Borden,  
using  an
+       approach  suggested  by  Stockton  Gaines  and Norman Shapiro.  Valuable
+       assistance was provided by Phyllis Kantar in the  later  stages  of  the
+       system's  implementation.   Several  colleagues contributed to the ideas
+       included in this system, particularly Robert Anderson and David Crocker.
+       In  addition,  valuable  experience  in  message systems, and a valuable
+       source of ideas, was available to us in the form of a  previous  message
+       system for UNIX called MS, designed at RAND by David Crocker.
+
+            This report was originally prepared as part  of  the  RAND  project
+       entitled "Data Automation Research", sponsored by Project AIR FORCE.
+
+
+
+
+
+
+
+
+
+9
+9                                         -vi-
+
+
+
+
+
+
+
+
+
+
+
+
+                                       _S_U_M_M_A_R_Y
+
+
+
+
+            Electronic communication of text messages is becoming  commonplace.
+       Computer-based  message systems-software packages that provide tools for
+       dealing with messages-are used in many contexts.  In particular, message
+       systems  are  becoming increasingly important in command and control and
+       intelligence applications.
+
+            This report describes a message handling system  called  _M_H.   
This
+       system  provides  the  user with tools to compose, send, receive, store,
+       retrieve, forward, and reply to messages.  _M_H has been built on the 
UNIX
+       time-sharing  system,  a  popular operating system developed for the DEC
+       PDP-11 and VAX classes of computers.
+
+            A complete description of _M_H is given for users of the system. 
 For
+       those who do not intend to use the system, this description gives a gen-
+       eral idea of what a message system is like.  The  system  involves  some
+       new ideas about how large subsystems can be constructed.
+
+            The interesting and unusual features of _M_H include  the  
following:
+       The  user command interface to _M_H is the UNIX "shell" (the standard 
UNIX
+       command interpreter).  Each separable  component  of  message  handling,
+       such  as  message composition or message display, is a separate command.
+       Each program is driven from and  updates  a  private  user  environment,
+       which  is  stored  as  a file between program invocations.  This private
+       environment also contains information  to  "custom  tailor"  _M_H  to 
 the
+       individual's  tastes.   _M_H  stores each message as a separate file 
under
+       UNIX, and it utilizes the tree-structured UNIX file system  to  organize
+       groups  of  files  within separate directories or "folders".  All of the
+       UNIX facilities for dealing with files and directories, such  as  renam-
+       ing,  copying, deleting, cataloging, off-line printing, etc., are appli-
+       cable to messages and directories of messages (folders).   Thus,  impor-
+       tant capabilities needed in a message system are available in _M_H 
without
+       the need (often seen in other message systems) for code that  duplicates
+       the facilities of the supporting operating system.  It also allows users
+       familiar with the shell to use _M_H with minimal effort.
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9                                        -vii-
+
+
+
+
+
+
+
+
+
+
+
+
+                                       _C_O_N_T_E_N_T_S
+
+
+
+
+       READ THIS .........................................................    i
+
+       FOREWORD ..........................................................  iii
+
+       ACKNOWLEDGMENTS ...................................................    v
+
+       PREFACE ...........................................................   vi
+
+       SUMMARY ...........................................................  vii
+
+       Section
+
+          1.  INTRODUCTION ...............................................    1
+
+          2.  OVERVIEW ...................................................    4
+
+          3.  TUTORIAL ...................................................    7
+
+          4.  DETAILED DESCRIPTION .......................................   10
+9            THE USER PROFILE .............................................   
10
+9            MESSAGE NAMING ...............................................   
13
+9            OTHER MH CONVENTIONS .........................................   
14
+9            MH COMMANDS ..................................................   
16
+               ALI .......................................................   17
+               ANNO ......................................................   19
+               BBC .......................................................   21
+               BBOARDS ...................................................   24
+               BURST .....................................................   26
+               COMP ......................................................   28
+               DIST ......................................................   30
+               FOLDER ....................................................   33
+               FORW ......................................................   36
+               INC .......................................................   40
+               MARK ......................................................   43
+               MHL .......................................................   45
+               MHMAIL ....................................................   50
+               MHOOK .....................................................   52
+               MHPATH ....................................................   54
+               MSGCHK ....................................................   57
+               MSH .......................................................   59
+               NEXT ......................................................   63
+               PACKF .....................................................   64
+               PICK ......................................................   65
+               PREV ......................................................   69
+               PROMPTER ..................................................   70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+               RCVSTORE ..................................................   73
+               REFILE ....................................................   75
+               REPL ......................................................   77
+               RMF .......................................................   81
+               RMM .......................................................   83
+               SCAN ......................................................   85
+               SEND ......................................................   88
+               SHOW ......................................................   91
+               SORTM .....................................................   94
+               VMH .......................................................   96
+               WHATNOW ...................................................   98
+               WHOM ......................................................  100
+9            MORE DETAILS .................................................  
102
+               MH-ALIAS ..................................................  103
+               MH-FORMAT .................................................  107
+               MH-MAIL ...................................................  116
+               MH-PROFILE ................................................  120
+               MH-SEQUENCE ...............................................  128
+               AP ........................................................  132
+               CONFLICT ..................................................  134
+               DP ........................................................  136
+               INSTALL-MH ................................................  138
+               POST ......................................................  139
+
+          5.  REPORTING PROBLEMS .........................................  141
+
+          6.  ADVANCED FEATURES ..........................................  142
+9            USER-DEFINED SEQUENCES .......................................  
142
+               Pick and User-Defined Sequences ...........................  142
+               Mark and User-Defined Sequences ...........................  144
+               Public and Private User-Defined Sequences .................  144
+               Sequence Negation .........................................  144
+               The Previous Sequence .....................................  145
+               The Unseen Sequence .......................................  145
+9            COMPOSITION OF MAIL ..........................................  
146
+               The Draft Folder ..........................................  146
+               What Happens if the Draft Exists ..........................  148
+               The Push Option at What now? Level ........................  148
+               Options at What now? Level ................................  149
+               Digests ...................................................  150
+9            FOLDER HANDLING ..............................................  
151
+               Relative Folder Addressing ................................  151
+               The Folder-Stack ..........................................  152
+
+       Appendix
+          A.  Command Summary ............................................  153
+          B.  Message Name BNF ...........................................  157
+
+       REFERENCES ........................................................  158
+9
+9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9                               THE RAND MH
+
+9                            MESSAGE HANDLING
+
+9                                 SYSTEM:
+
+9                              USER'S MANUAL
+
+
+
+
+
+
+                               UCI Version
+
+
+
+
+
+                            Marshall T. Rose
+
+                             John L. Romine
+
+
+
+
+                     Based on the original manual by
+
+                       Borden, Gaines, and Shapiro
+
+
+
+
+
+
+
+                            February 1, 1991
+
+                             6.7.1a #6[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9
+9
+
+
+
+
+
diff --git a/docs/historical/MH-19921214.pdf b/docs/historical/MH-19921214.pdf
new file mode 100644
index 0000000..431c46b
Binary files /dev/null and b/docs/historical/MH-19921214.pdf differ
diff --git a/docs/historical/MH-19921214.txt b/docs/historical/MH-19921214.txt
new file mode 100644
index 0000000..2ee97f5
--- /dev/null
+++ b/docs/historical/MH-19921214.txt
@@ -0,0 +1,13134 @@
+
+
+
+
+
+
+
+
+                                            _d_i_s_c_a_r_d _t_h_i_s 
_p_a_g_e
+
+
+
+
+                                               The RAND _M_H
+                                         Message Handling System:
+                                              User's Manual
+
+                                               UCI Version
+
+
+                                            December 14, 1992
+                                               6.6 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                             _1. 
_I_N_T_R_O_D_U_C_T_I_O_N
+
+
+
+
+
+                      Although people can travel cross-country in  hours  and  
can  reach
+                 others by telephone in seconds, communications still depend 
heavily upon
+                 paper, most of which is distributed through the mails.
+
+                      There are several major reasons for this  continued  
dependence  on
+                 written  documents.   First,  a  written  document  may be 
proofread and
+                 corrected prior to its distribution, giving the author 
complete  control
+                 over  his  words.   Thus,  a written document is better than 
a telephone
+                 conversation in this respect.  Second, a carefully written  
document  is
+                 far  less  likely to be misinterpreted or poorly translated 
than a phone
+                 conversation.  Third, a  signature  offers  reasonable  
verification  of
+                 authorship, which cannot be provided with media such as 
telegrams.
+
+                      However, the need for fast____,  accurate,  and  
reproducible  document
+                 distribution is obvious.  One solution in widespread use is 
the telefax.
+                 Another that is rapidly gaining popularity is  electronic  
mail.   Elec-
+                 tronic  mail is similar to telefax in that the data to be 
sent are digi-
+                 tized, transmitted via phone lines, and turned back into a  
document  at
+                 the  receiver.   The  advantage of electronic mail is in its 
compression
+                 factor.  Whereas a telefax must scan a page in very fine 
lines and  send
+                 all  of the black and white information, electronic mail 
assigns charac-
+                 ters fixed codes which can be transmitted as a few bits of  
information.
+                 Telefax  presently  has the advantage of being able to 
transmit an arbi-
+                 trary page, including pictures, but electronic mail is 
beginning to deal
+                 with  this  problem.   Electronic mail also integrates well 
with current
+                 directions  in  office  automation,  allowing  documents  
prepared  with
+                 sophisticated  equipment  at  one  site  to  be  quickly 
transferred and
+                 printed at another site.
+
+                      Currently, most electronic mail is intraorganizational,  
with  mail
+                 transfer  remaining within one computer.  As computer 
networking becomes
+                 more common, however, it is becoming more feasible to  
communicate  with
+                 anyone whose computer can be linked to your own via a network.
+
+                      The pioneering efforts on general-purpose electronic 
mail  were  by
+                 organizations using the DoD ARPAnet[1].  The capability to 
send messages
+                 between computers existed before the ARPAnet was developed, 
but  it  was
+                 used  only in limited ways.  With the advent of the ARPAnet, 
tools began
+                 to be developed which made it convenient for  individuals  or 
 organiza-
+                 tions  to distribute messages over broad geographic areas, 
using diverse
+                 computer facilities.  The interest and activity in message  
systems  has
+                 now  reached  such proportions that steps have been taken 
within the DoD
+                 to coordinate and unify the development  of  military  
message  systems.
+                 The  use  of electronic mail is expected to increase 
dramatically in the
+                 next few years.  The utility of such systems in the command 
and  control
+                 and  intelligence environments is clear, and applications in 
these areas
+
+
+
+
+
+
+
+
+
+
+
+                                                   -2-
+
+
+                 will probably lead the way.  As the costs for sending and 
handling elec-
+                 tronic messages continue their rapid decrease, such uses can 
be expected
+                 to spread rapidly into other areas and, of course, will not  
be  limited
+                 to the DoD.
+
+                      A message system provides tools that  help  users  
(individuals  or
+                 organizations)  deal  with  messages  in various ways.  
Messages must be
+                 composed, sent, received, stored, retrieved, forwarded, and 
replied  to.
+                 Today's  best  interactive  computer  systems provide a 
variety of word-
+                 processing and information handling capabilities.  The 
message  handling
+                 facilities  should be well integrated with the rest of the 
system, so as
+                 to be a graceful extension of overall system capability.
+
+                      The message system described in this report, _M_H, 
provides  most  of
+                 the  features that can be found in other message systems and 
also incor-
+                 porates some new ones.  It has been built on the UNIX 
time-sharing  sys-
+                 tem[2],  a  popular  operating  system  for the DEC PDP-11[1] 
and VAX-11
+                 classes of computers.  A "secure" operating system similar  
to  UNIX  is
+                 currently being developed[3], and that system will also run 
_M_H.
+
+                      This report provides a complete description  of  _M_H  
and  thus  may
+                 serve  as  a  user's  manual,  although  parts  of the report 
will be of
+                 interest to non-users as well.  Sections  2  and  3,  the  
Overview  and
+                 Tutorial,  present  the key ideas of _M_H and will give 
those not familiar
+                 with message systems an idea of what such systems are like.
+
+                      _M_H consists of a set of commands which use some 
special  files  and
+                 conventions.   The final section is divided into three parts. 
 The first
+                 part covers the information a user needs to know in addition 
to the com-
+                 mands.   Then, each of the _M_H commands is described in 
detail.  Finally,
+                 other obscure details are revealed.  A summary of the 
commands is  given
+                 in  Appendix A, and the syntax of message sequences is given 
in Appendix
+                 B.
+
+                      A novel approach has been taken in the design of  
_M_H.   Instead  of
+                 creating  a large subsystem that appears as a single command 
to the user
+                 (such as MS[4]), _M_H is a collection of separate commands 
which  are  run
+                 as  separate  programs.   The file and directory system of 
UNIX are used
+                 directly.  Messages are stored as individual files 
(datasets), and  col-
+                 lections  of them are grouped into directories.  In contrast, 
most other
+                 message systems store messages in a complicated data 
structure within  a
+                 monolithic file.  With the _M_H approach, UNIX commands can 
be interleaved
+                 with commands invoking the  functions  of  the  message  
handler.   Con-
+                 versely, existing UNIX commands can be used in connection 
with messages.
+                 For example, all the usual UNIX editing, text-formatting,  
and  printing
+                 facilities  can  be applied directly to individual messages.  
MH, there-
+                 fore, consists of a relatively small amount of new code; it 
makes exten-
+                 sive  use  of  other  UNIX software to provide the 
capabilities found in
+
+
+                    [1] PDP and VAX are trademarks of Digital Equipment 
Corporation.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -3-
+
+
+                 other message systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                               _2. _O_V_E_R_V_I_E_W
+
+
+
+
+
+                      There are three main aspects  of  _M_H :   the   way   
messages   are
+                 stored  (the  message  database),  the user's profile (which 
directs how
+                 certain actions of the message handler take place), and the 
commands for
+                 dealing with messages.
+
+                      Under _M_H, each message is stored as a separate file. 
  A  user  can
+                 take  any  action  with a message that he could with an 
ordinary file in
+                 UNIX.  A UNIX directory in which messages are stored is 
called a folder.
+                 Each  folder  contains  some  standard  entries  to support 
the message-
+                 handling functions.  The messages in  a  folder  have  
numerical  names.
+                 These  folders (directories) are entries in a particular 
directory path,
+                 described in the user profile, through which _M_H can find  
message  fold-
+                 ers.   Using  the UNIX "link" facility, it is possible for 
one copy of a
+                 message to be "filed" in more than one folder, providing a 
message index
+                 facility.   Also, using the UNIX tree-structured file system, 
it is pos-
+                 sible to have a folder within a folder,  nested  arbitrarily  
deep,  and
+                 have the full power of the _M_H commands available.
+
+                      Each user of _M_H has a user profile, a file in  his  
$HOME  (initial
+                 login)  directory  called  ._m_h__p_r_o_f_i_l_e.   
This  profile contains several
+                 pieces of information used by the _M_H commands: a path 
name to the direc-
+                 tory  that  contains  the  message folders and parameters 
that tailor _M_H
+                 commands to the individual user's requirements.  There is  
also  another
+                 file,  called  the  user  context, which contains information 
concerning
+                 which folder the user last referenced (the "current" folder). 
  It  also
+                 contains most of the necessary state information concerning 
how the user
+                 is dealing with his messages, enabling _M_H to be 
implemented as a set  of
+                 individual  UNIX commands, in contrast to the usual approach 
of a monol-
+                 ithic subsystem.
+
+                      In _M_H, incoming mail is appended to the end of a 
file in  a  system
+                 spooling  area  for  the user.  This area is called the mail 
drop direc-
+                 tory, and the file is called the user's mail drop.   Normally 
 when  the
+                 user  logins  in, s/he is informed of new mail (or the _M_H 
program _m_s_g_c_h_k
+                 may be run).  The user adds the new messages to his/her 
collection of _M_H
+                 messages  by  invoking  the  command _i_n_c.  The 
_i_n_c (incorporate) command
+                 adds the new messages to a folder called "inbox", assigning  
them  names
+                 which  are  consecutive  integers starting with the next 
highest integer
+                 available in inbox.  _i_n_c also produces a _s_c_a_n 
summary  of  the  messages
+                 thus  incorporated.   A  folder can be compacted into a 
single file, for
+                 easy storage, by using the  _p_a_c_k_f  command.   Also, 
 messages  within  a
+                 folder can be sorted by date and time with the 
_s_o_r_t_m command.
+
+
+                      There are four commands for examining the  messages  in  
a  folder:
+                 _s_h_o_w,  _p_r_e_v,  _n_e_x_t,  and 
_s_c_a_n.  The _s_h_o_w command displays a message in a
+
+                                                   -4-
+
+
+
+
+
+
+
+
+
+                                                   -5-
+
+
+                 folder, _p_r_e_v displays the message preceding  the  
current  message,  and
+                 _n_e_x_t  displays  the  message following the current 
message.  _M_H lets the
+                 user choose the program that displays individual  messages.   
A  special
+                 program,  _m_h_l,  can  be used to display messages 
according to the user's
+                 preferences.  The _s_c_a_n command summarizes the 
messages in a folder, nor-
+                 mally  producing  one line per message, showing who the 
message is from,
+                 the date, the subject, etc.
+
+                      The user may move a message from one folder  to  another 
 with  the
+                 command  _r_e_f_i_l_e.   Messages may be removed from a 
folder by means of the
+                 command _r_m_m.  In addition, a user may query what the 
current  folder  is
+                 and may specify that a new folder become the current folder, 
through the
+                 command _f_o_l_d_e_r.  All folders may be summarized 
with the _f_o_l_d_e_r_s command.
+                 A  message  folder (or subfolder) may be removed by means of 
the command
+                 _r_m_f.
+
+                      A set of messages based on content may be selected by  
use  of  the
+                 command  _p_i_c_k.   This  command searches through 
messages in a folder and
+                 selects those that match a given set of criteria.   These  
messages  are
+                 then  bound  to  a  "sequence" name for use with other _M_H 
commands.  The
+                 _m_a_r_k command manipulates these sequences.
+
+                      There are five commands enabling the user to  create  
new  messages
+                 and  send them: _c_o_m_p, _d_i_s_t, _f_o_r_w, 
_r_e_p_l, and _s_e_n_d.  The _c_o_m_p command pro-
+                 vides the facility for the user to compose a new message; 
_d_i_s_t redistri-
+                 butes  mail  to  additional addressees; _f_o_r_w enables 
the user to forward
+                 messages; and _r_e_p_l facilitates the generation of a 
reply to an  incoming
+                 message.   The  last three commands may optionally annotate 
the original
+                 message.  Messages may be arbitrarily annotated with the  
_a_n_n_o  command.
+                 Once  a  draft has been constructed by one of the four above 
composition
+                 programs, a user-specifiable program is run to query the user 
as to  the
+                 disposition of the draft prior to sending.  _M_H provides 
the simple _w_h_a_t_-
+                 _n_o_w program to start users off.  If a message is not  
sent  directly  by
+                 one  of these commands, it may be sent at a later time using 
the command
+                 _s_e_n_d.  _M_H allows the use of any UNIX editor when  
composing  a  message.
+                 For rapid entry, a special editor, _p_r_o_m_p_t_e_r, 
is provided.  For programs,
+                 a special mail-sending program, _m_h_m_a_i_l, is 
provided.
+
+                      _M_H supports a personal aliasing  facility  which  
gives  users  the
+                 capability  to  considerably  shorten  address typein and use 
meaningful
+                 names for addresses.  The _a_l_i program can be used to 
query _M_H as to  the
+                 expansion of a list of aliases.  After composing a message, 
but prior to
+                 sending, the _w_h_o_m command can be used to determine 
exactly who a message
+                 would go to.
+
+                      _M_H provides a natural interface for telling the  
user's  shell  the
+                 names  of  _M_H  messages  and  folders.  The 
_m_h_p_a_t_h program achieves this
+                 capability.
+
+                      Finally, _M_H supports the UCI BBoards facility.  
_b_b_c can be used  to
+                 query  the  status  of a group of BBoards, while _m_s_h 
can be used to read
+                 them.  The _b_u_r_s_t command can be used to "shred" 
digests of messages into
+
+
+
+
+
+
+
+
+
+
+
+                                                   -6-
+
+
+                 individual messages.
+
+                      All of the elements summarized above are described in  
more  detail
+                 in  the  following sections.  Many of the normal facilities 
of UNIX pro-
+                 vide additional capabilities for dealing with messages in 
various  ways.
+                 For  example,  it  is  possible  to  print  messages on the 
line-printer
+                 without requiring any additional code within _M_H .  Using  
standard  UNIX
+                 facilities, any terminal output can be redirected to a file 
for repeated
+                 or future viewing.  In general, the flexibility and 
capabilities of  the
+                 UNIX  interface  with the user are preserved as a result of 
the integra-
+                 tion of _M_H into the UNIX structure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                               _3. _T_U_T_O_R_I_A_L
+
+
+
+
+
+                      This tutorial provides a brief introduction to the 
_M_H commands.  It
+                 should  be sufficient to allow the user to read his mail, do 
some simple
+                 manipulations of it, and create and send messages.
+
+                      A message has two major pieces:  the header and the 
body.  The body
+                 consists  of the text of the message (whatever you care to 
type in).  It
+                 follows the header and is separated from it by an empty line. 
 (When you
+                 compose  a  message, the form that appears on your terminal 
shows a line
+                 of dashes after the header.  This is for convenience and is 
replaced  by
+                 an  empty  line  when  the  message is sent.)  The header is 
composed of
+                 several components, including the subject of the message and 
the  person
+                 to whom it is addressed.  Each component starts with a name 
and a colon;
+                 components must not start with a blank.  The text of the  
component  may
+                 take  more  than  one line, but each continuation line must 
start with a
+                 blank.  Messages typically have "To:", "cc:", and "Subject:" 
components.
+                 When  composing  a  message, you should include the "To:" and 
"Subject:"
+                 components; the "cc:" (for people you want to send  copies  
to)  is  not
+                 necessary.
+
+                      The basic _M_H commands are _i_n_c, _s_c_a_n, 
_s_h_o_w, _n_e_x_t, _p_r_e_v,  _r_m_m,  _c_o_m_p,
+                 and _r_e_p_l.  These are described below.
+
+                 _i_n_c
+
+                      When you get the message "You have mail",  type  the  
command  _i_n_c.
+                 You will get a "scan listing" such as:
+
+                      7+   7/13  Cas      revival of measurement work
+                      8   10/ 9  Norm     NBS people and publications
+                      9   11/26  To:norm  question <<Are there any functions
+
+                      This shows the messages you received since the last time 
 you  exe-
+                 cuted  this  command (_i_n_c adds these new messages to 
your inbox folder).
+                 You can see this list again, plus a list of any other 
messages you have,
+                 by using the _s_c_a_n command.
+
+                 _s_c_a_n
+
+                      The scan listing shows the message number, followed by 
the date and
+                 the  sender.   (If  you  are the sender, the addressee in the 
"To:" com-
+                 ponent is displayed.  You may send yourself a message by 
including  your
+                 name  among  the "To:" or "cc:" addressees.) It also shows 
the message's
+                 subject; if the subject is short, the first part of the body 
of the mes-
+                 sage is included after the characters <<.
+
+
+
+                                                   -7-
+
+
+
+
+
+
+
+
+
+                                                   -8-
+
+
+                 _s_h_o_w
+
+                      This command shows the current message, that is, the 
first  one  of
+                 the  new messages after an _i_n_c.  If the message is not 
specified by name
+                 (number), it is generally the last message referred to by an 
_M_H command.
+                 For example,
+
+
+                      _s_h_o_w 5      will show message 5.
+
+
+                      You can use the show command to copy a message or print 
a message.
+
+
+                      _s_h_o_w > _x    will copy the message to file x.
+                      _s_h_o_w | _l_p_r  will print the message, using 
the _l_p_r command.
+                      _n_e_x_t        will show the message that follows 
the current message.
+                      _p_r_e_v        will show the message previous to 
the current message.
+                      _r_m_m         will remove the current message.
+                      _r_m_m _3       will remove message 3.
+
+
+                 _c_o_m_p
+
+                      The _c_o_m_p command puts you in the editor to write 
or edit a message.
+                 Fill  in or delete the "To:", "cc:", and "Subject:" fields, 
as appropri-
+                 ate, and type the body of the message.  Then exit normally 
from the edi-
+                 tor.   You will be asked "What now?".  Type a carriage return 
to see the
+                 options.  Typing send will cause the message to  be  sent;  
typing  quit
+                 will cause an exit from _c_o_m_p, with the message draft 
saved.
+
+                      If you quit without sending the message, it will be 
saved in a file
+                 called  <name>/Mail/draft  (where  <name> is your $HOME 
directory).  You
+                 can resume editing the message later with "comp -use"; or you 
 can  send
+                 the message later, using the _s_e_n_d command.
+
+                 _c_o_m_p -_e_d_i_t_o_r _p_r_o_m_p_t_e_r
+
+                      This command uses a different editor and is  useful  for 
 preparing
+                 "quick  and  dirty"  messages.  It prompts you for each 
component of the
+                 header.  Type the information for that component,  or  type  
a  carriage
+                 return to omit the component.  After that, type the body of 
the message.
+                 Backspacing is the only form of editing allowed with this 
editor.   When
+                 the  body is complete, type a carriage return followed by 
<EOT> (usually
+                 <CTRL-D>).  This completes the initial preparation of the 
message;  from
+                 then on, use the same procedures as with _c_o_m_p (above).
+
+                 _r_e_p_l
+                 _r_e_p_l n
+
+                      This command makes up an initial message form with a 
header that is
+                 appropriate  for  replying  to  an  existing message.  The 
message being
+
+
+
+
+
+
+
+
+
+
+
+                                                   -9-
+
+
+                 answered is the current message if no message number is 
mentioned, or  n
+                 if a number is specified.  After the header is completed, you 
can finish
+                 the message as in _c_o_m_p (above).
+
+                      This is enough information to get you going using  
_M_H.   There  are
+                 more commands, and the commands described here have more 
features.  Sub-
+                 sequent sections explain _M_H in complete detail.   The  
system  is  quite
+                 powerful  if you want to use its sophisticated features, but 
the forego-
+                 ing commands suffice for sending and receiving messages.
+
+                      There are numerous additional capabilities you may wish 
to explore.
+                 For  example, the _p_i_c_k command will select a subset 
of messages based on
+                 specified criteria such as sender and/or subject.   Groups  
of  messages
+                 may  be  designated, as described in Sec. IV, under Message 
Naming.  The
+                 file ._m_h__p_r_o_f_i_l_e can be used to tailor your 
use of the message system to
+                 your needs and preferences, as described in Sec. IV, under 
The User Pro-
+                 file.  In general, you may  learn  additional  features  of  
the  system
+                 selectively,  according  to  your requirements, by studying 
the relevant
+                 sections of this manual.  There is no need to learn all the  
details  of
+                 the system at once.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         _4. _D_E_T_A_I_L_E_D 
_D_E_S_C_R_I_P_T_I_O_N
+
+
+
+
+
+                      This section describes the _M_H system in detail, 
including the  com-
+                 ponents  of  the  user  profile, the conventions for message 
naming, and
+                 some of the other _M_H conventions.  Readers who  are  
generally  familiar
+                 with  computer  systems  will  be  able  to  follow the 
principal ideas,
+                 although some details may be meaningful  only  to  those  
familiar  with
+                 UNIX.
+
+
+                 _T_H_E _U_S_E_R _P_R_O_F_I_L_E
+
+                      The first time an _M_H command is issued by a new  
user,  the  system
+                 prompts for a "Path" and creates an _M_H "profile".
+
+                      Each _M_H user has a profile which contains tailoring 
information for
+                 each  individual  program.   Other  profile  entries control 
the _M_H path
+                 (where folders and special files are kept), folder and  
message  protec-
+                 tions,  editor  selection,  and  default  arguments for each 
_M_H program.
+                 Each user of _M_H also has a context file  which  contains  
current  state
+                 information for the _M_H package (the location of the 
context file is kept
+                 in the user's _M_H directory, or may be named in the user 
profile).   When
+                 a  folder  becomes the current folder, it is recorded in the 
user's con-
+                 text.  (Other state information is kept in the  context  
file,  see  the
+                 manual  entry for _m_h-_p_r_o_f_i_l_e (5) for more 
details.) In general, the term
+                 "profile entry" refer to entries in either the profile or 
context  file.
+                 Users of _M_H needn't worry about the distinction, _M_H 
handles these things
+                 automatically.
+
+                      The _M_H profile is stored in the  file  
._m_h__p_r_o_f_i_l_e  in  the  user's
+                 $HOME directory[1].  It has the format of a message  without  
any  body.
+                 That is, each profile entry is on one line, with a keyword 
followed by a
+                 colon (:) followed by text particular to the keyword.
+                 =>   _T_h_i_s _f_i_l_e _m_u_s_t _n_o_t 
_h_a_v_e _b_l_a_n_k _l_i_n_e_s.
+                 The keywords may have any combination of upper and lower 
case.  (See the
+                 information of _m_h-_m_a_i_l later on in this manual 
for a description of mes-
+                 sage formats.)
+
+                      For the average _M_H user, the only profile entry  of  
importance  is
+                 "Path".   Path  specifies  a  directory  in which _M_H 
folders and certain
+                 files such as "draft" are found.  The argument to this 
keyword must be a
+                 legal  UNIX  path that names an existing directory.  If this 
path is not
+                 absolute (i.e., does not begin with a / ), it will be 
presumed to  start
+
+
+                    [1] By defining the envariable $MH, you can specify an 
alternate pro-
+                 file to be used by _M_H commands.
+
+
+                                                   -10-
+
+
+
+
+
+
+
+
+
+                                                   -11-
+
+
+                 from the user's $HOME directory.   All  folder  and  message  
references
+                 within _M_H will relate to this path unless full path names 
are used.
+
+                      Message protection defaults to 644, and folder 
protection  to  711.
+                 These  may  be  changed  by  profile  entries "Msg-Protect" 
and "Folder-
+                 Protect", respectively.  The argument to  these  keywords  is 
 an  octal
+                 number which is used as the UNIX file mode[2].
+
+                      When an _M_H program starts running, it looks through 
the user's pro-
+                 file for an entry with a keyword matching the program's name. 
 For exam-
+                 ple, when _c_o_m_p is run, it looks for a "comp" profile 
entry.  If  one  is
+                 found,  the text of the profile entry is used as the default 
switch set-
+                 ting until all defaults are overridden by explicit  switches  
passed  to
+                 the     program     as    arguments.     Thus    the    
profile    entry
+                 "comp: -form standard.list"  would  direct  _c_o_m_p   to 
  use   the   file
+                 "standard.list"  as the message skeleton.  If an explicit 
form switch is
+                 given to the _c_o_m_p command, it will override the 
switch obtained from the
+                 profile.
+
+                      In UNIX, a program may exist under several names, either 
by linking
+                 or  aliasing.   The actual invocation name is used by an 
_M_H program when
+                 scanning for its profile defaults[3].  Thus, each _M_H  
program  may  have
+                 several  names by which it can be invoked, and each name may 
have a dif-
+                 ferent set of default switches.  For example, if _c_o_m_p 
is invoked by  the
+                 name  _i_c_o_m_p, the profile entry "icomp" will control 
the default switches
+                 for this invocation of the  _c_o_m_p  program.   This  
provides  a  powerful
+                 definitional facility for commonly used switch settings.
+
+                      The default editor for editing within _c_o_m_p, 
_r_e_p_l, _f_o_r_w,  and  _d_i_s_t,
+                 is  usually  _p_r_o_m_p_t_e_r, but might be something 
else at your site, such as
+                 /_u_s_r/_u_c_b/_e_x or /_b_i_n/_e.  A different 
editor may be used by specifying the
+                 profile  entry  "Editor:  ".  The argument to "Editor" is the 
name of an
+                 executable program or shell command file which  can  be  
found  via  the
+                 user's  $PATH defined search path, excluding the current 
directory.  The
+                 "Editor:"  profile  specification  may  in  turn  be  
overridden  by   a
+                 `-editor <editor>'  profile  switch associated with 
_c_o_m_p, _r_e_p_l, _f_o_r_w, or
+                 _d_i_s_t.  Finally, an explicit editor switch specified 
with  any  of  these
+                 four commands will have ultimate precedence.
+
+                      During message composition, more than one editor may be 
used.   For
+                 example,  one  editor  (such  as _p_r_o_m_p_t_e_r ) 
may be used initially, and a
+
+
+                    [2] See _c_h_m_o_d (1) in the _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l [5].
+                    [3] Unfortunately, the shell does not preserve  aliasing  
information
+                 when  calling  a program, hence if a program is invoked by an 
alias dif-
+                 ferent than its name, the program will examine  the  profile  
entry  for
+                 it's name, not the alias that the user invoked it as.  The 
correct solu-
+                 tion is to create a (soft) link in your 
$_H_O_M_E/_b_i_n directory  to  the  _M_H
+                 program  of  your choice.  By giving this link a different 
name, you can
+                 use an alternate set of defaults for the command.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -12-
+
+
+                 second editor may be invoked later to revise the message 
being  composed
+                 (see  the discussion of _c_o_m_p in Section 5 for 
details).  A profile entry
+                 "<lasteditor>-next: <editor>" specifies the name of  the  
editor  to  be
+                 used  after  a  particular  editor.  Thus "comp: -e prompter" 
causes the
+                 initial text  to  be  collected  by  
_p_r_o_m_p_t_e_r,  and  the  profile  entry
+                 "prompter-next: ed"  names  ed  as the editor to be invoked 
for the next
+                 round of editing.
+
+                      Some of the _M_H commands, such as _s_h_o_w, can 
be used on message fold-
+                 ers owned by others, if those folders are readable.  However, 
you cannot
+                 write in someone else's folder.  All the _M_H command 
actions not  requir-
+                 ing write permission may be used with a "read-only" folder.
+
+                      Table 1 lists examples of some of  the  currently  
defined  profile
+                 entries, typical arguments, and the programs that reference 
the entries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -13-
+
+
+                                                 Table 1
+
+                                            PROFILE COMPONENTS
+                          
______________________________________________________
+
+                                                       _M_H Programs that
+                          Keyword and Argument          use 
Component______________________________________________________
+
+                          Path: Mail                   All
+                          Current-Folder: inbox        Most
+                          Editor: /usr/ucb/ex          _c_o_m_p, 
_d_i_s_t, _f_o_r_w, _r_e_p_l
+                          Inbox: inbox                 _i_n_c, _r_m_f
+                          Msg-Protect: 644             _i_n_c
+                          Folder-Protect: 711          _i_n_c, 
_p_i_c_k, _r_e_f_i_l_e
+                          <program>: default switches  All
+                          prompter-next: ed            _c_o_m_p, 
_d_i_s_t, _f_o_r_w, _r_e_p_l
+                          
______________________________________________________
+
+
+                      Path should______ be present.  Current-Folder is 
maintained automatically
+                 by many _M_H commands (see the Context sections of the 
individual commands
+                 in Sec. IV).  All other entries are optional, defaulting to  
the  values
+                 described above.
+
+
+                 _M_E_S_S_A_G_E _N_A_M_I_N_G
+
+                      Messages may be referred to explicitly or implicitly 
when using  _M_H
+                 commands.   A formal syntax of message names is given in 
Appendix B, but
+                 the following description should be sufficient for most 
_M_H users.   Some
+                 details  of  message  naming  that  apply  only  to certain 
commands are
+                 included in the description of those commands.
+
+                      Most of the _M_H commands accept arguments  specifying 
 one  or  more
+                 folders,  and  one  or more messages to operate on.  The use 
of the word
+                 "msg" as an argument to a command means that exactly  one  
message  name
+                 may  be  specified.   A  message name may be a number, such 
as 1, 33, or
+                 234, or it may be one of the  "reserved"  message  names:  
first,  last,
+                 prev,  next,  and  cur.   (As a shorthand, a period (.) is 
equivalent to
+                 cur.) The meanings of these names are straightforward:  
"first"  is  the
+                 first  message  in the folder; "last" is the last message in 
the folder;
+                 "prev" is the message  numerically  previous  to  the  
current  message;
+                 "next"  is  the message numerically following the current 
message; "cur"
+                 (or ".") is the current message in the folder.  In addition, 
_M_H supports
+                 user-defined-sequences; see the description of the 
_m_a_r_k command for more
+                 information.
+
+                      The default in commands that take a "msg" argument is 
always "cur".
+
+                      The word "msgs" indicates that several messages may  be  
specified.
+                 Such  a specification consists of several message 
designations separated
+                 by spaces.  A message designation is either a message name or 
a  message
+
+
+
+
+
+
+
+
+
+
+
+                                                   -14-
+
+
+                 range.   A  message  range is a specification of the form 
name1-name2 or
+                 name1:n, where name1 and name2 are message names and n  is  
an  integer.
+                 The  first  form  designates  all  the  messages  from  name1 
 to  name2
+                 inclusive; this must be a non-empty range.  The second form 
specifies up
+                 to  n messages, starting with name1 if name1 is a number, or 
first, cur,
+                 or next, and ending with name1 if name1 is last or prev.  
This interpre-
+                 tation  of  n  is  overridden if n is preceded by a plus sign 
or a minus
+                 sign; +n always means up to n  messages  starting  with  
name1,  and  -n
+                 always  means  up  to n messages ending with name1.  Repeated 
specifica-
+                 tions of the same message have the same effect as a single 
specification
+                 of the message.  Examples of specifications are:
+
+
+                     1 5 7-11 22
+                     first 6 8 next
+                     first-10
+                     last:5
+
+
+                      The message name "all" is a shorthand for "first-last",  
indicating
+                 all of the messages in the folder.
+
+                      In commands that accept "msgs" arguments, the default is 
either cur
+                 or all, depending on which makes more sense.
+
+                      In all of the _M_H commands, a plus sign preceding an 
argument  indi-
+                 cates  a folder name.  Thus, "+inbox" is the name of the 
user's standard
+                 inbox.  If an explicit folder argument is given to  an  
_M_H  command,  it
+                 will  become the current folder (that is, the 
"Current-Folder:" entry in
+                 the user's profile will be changed to this folder).  In the 
case of  the
+                 _r_e_f_i_l_e  command,  which  can  have multiple 
output folders, a new source
+                 folder  (other  than  the  default  current  folder)  is  
specified   by
+                 `-src +folder'.
+
+
+                 _O_T_H_E_R _M_H _C_O_N_V_E_N_T_I_O_N_S
+
+                      One very powerful feature of _M_H is that  the  _M_H 
 commands  may  be
+                 issued  from any current directory, and the proper path to 
the appropri-
+                 ate folder(s) will be taken from the user's profile.  If the 
_M_H path  is
+                 not  appropriate for a specific folder or file, the automatic 
prepending
+                 of the _M_H path can be avoided by beginning a folder or 
file name with /,
+                 or  with  ./  or  ../ component.  Thus any specific absolute 
path may be
+                 specified along with any path relative to the current working 
directory.
+
+                      Arguments to the various programs may be given in any  
order,  with
+                 the exception of a few switches whose arguments must follow 
immediately,
+                 such as `-src +folder' for _r_e_f_i_l_e.
+
+                      Whenever an _M_H command prompts the user, the valid 
options will  be
+                 listed  in  response to a <RETURN>.  (The first of the listed 
options is
+                 the default if end-of-file is encountered, such as from a 
command file.)
+
+
+
+
+
+
+
+
+
+
+
+                                                   -15-
+
+
+                 A  valid  response  is  any  _u_n_i_q_u_e  abbreviation 
 of  one of the listed
+                 options.
+
+                      Standard UNIX documentation conventions are used in this 
report  to
+                 describe  _M_H  command  syntax.  Arguments enclosed in 
brackets ([ ]) are
+                 optional; exactly one of the arguments enclosed within braces 
({ }) must
+                 be specified, and all other arguments are required.  The use 
of ellipsis
+                 dots (...) indicates zero or more repetitions of the previous 
item.  For
+                 example,  "+folder  ..." would indicate that one or more 
"+folder" argu-
+                 ments is required and "[+folder ...]" indicates that 0 or 
more "+folder"
+                 arguments may be given.
+
+                      _M_H departs from UNIX standards by using switches  
that  consist  of
+                 more  than  one  character,  e.g. `-header'.  To minimize 
typing, only a
+                 unique abbreviation of a switch need  be  typed;  thus,  for  
`-header',
+                 `-hea'  is probably sufficient, depending on the other 
switches the com-
+                 mand accepts.  Each _M_H program accepts the switch `-help' 
(which must be
+                 spelled  out  fully)  and  produces  a  syntax description 
and a list of
+                 switches.  In the list of switches, parentheses indicate 
required  char-
+                 acters.   For  example,  all  `-help' switches will appear as 
"-(help)",
+                 indicating that no abbreviation is accepted.  Furthermore,  
the  `-help'
+                 switch tells the version of the _M_H program you invoked.
+
+                      Many _M_H switches have both on and off forms, such as 
`-format'  and
+                 `-noformat'.  In many of the descriptions which follow, only 
one form is
+                 defined; the other form, often used to nullify profile switch 
 settings,
+                 is assumed to be the opposite.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -16-
+
+
+                 _M_H _C_O_M_M_A_N_D_S
+
+                      The _M_H package comprises several programs:
+
+                      ali (1)        - list mail aliases
+                      anno (1)       - annotate messages
+                      bbc (1)        - check on BBoards
+                      bboards (1)    - the UCI BBoards facility
+                      burst (1)      - explode digests into messages
+                      comp (1)       - compose a message
+                      dist (1)       - redistribute a message to additional 
addresses
+                      folder (1)     - set/list current folder/message
+                      folders (1)    - list all folders
+                      forw (1)       - forward messages
+                      inc (1)        - incorporate new mail
+                      mark (1)       - mark messages
+                      mhl (1)        - produce formatted listings of MH 
messages
+                      mhmail (1)     - send or read mail
+                      mhook (1)      - MH receive-mail hooks
+                      mhparam (1)    - print MH profile components
+                      mhpath (1)     - print full pathnames of MH messages and 
folders
+                      msgchk (1)     - check for messages
+                      msh (1)        - MH shell (and BBoard reader)
+                      next (1)       - show the next message
+                      packf (1)      - compress a folder into a single file
+                      pick (1)       - select messages by content
+                      prev (1)       - show the previous message
+                      prompter (1)   - prompting editor front end
+                      rcvstore (1)   - incorporate new mail asynchronously
+                      refile (1)     - file messages in other folders
+                      repl (1)       - reply to a message
+                      rmf (1)        - remove folder
+                      rmm (1)        - remove messages
+                      scan (1)       - produce a one line per message scan 
listing
+                      send (1)       - send a message
+                      show (1)       - show (list) messages
+                      slocal (1)     - special local mail delivery
+                      sortm (1)      - sort messages
+                      vmh (1)        - visual front-end to MH
+                      whatnow (1)    - prompting front-end for send
+                      whom (1)       - report to whom a message would go
+
+
+                      These programs are described below.  The form of  the  
descriptions
+            conforms to the standard form for the description of UNIX commands.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            ALI(1)                            -17-                            
ALI(1)
+
+
+            _N_A_M_E
+                 ali - list mail aliases
+
+            _S_Y_N_O_P_S_I_S
+                 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+                      [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_l_i searches the named mail alias  files  for  each  of 
 the  given
+                 _a_l_i_a_s_e_s.   It  creates  a  list of addresses 
for those _a_l_i_a_s_e_s, and
+                 writes that list on standard output.   If  the  `-list'  
option  is
+                 specified,  each address appears on a separate line; 
otherwise, the
+                 addresses are separated by commas and printed on as  few  
lines  as
+                 possible.
+
+                 The `-user' option directs _a_l_i to  perform  its  
processing  in  an
+                 inverted  fashion: instead of listing the addresses that each 
given
+                 alias expands to, _a_l_i will list the aliases  that  
expand  to  each
+                 given  address.   If the `-normalize' switch is given, 
_a_l_i will try
+                 to track down the official hostname of the address.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read.  Each _a_l_i_a_s is processed as described in 
_m_h-_a_l_i_a_s (5).
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /etc/passwd                          List of users
+                 /etc/group                           List of groups
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Aliasfile:           For a default alias file
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-alias /usr/bs/mh-6.8/lib/MailAliases'
+                 `-nolist'
+                 `-nonormalize'
+                 `-nouser'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ALI(1)                            -18-                            
ALI(1)
+
+
+            _B_u_g_s
+                 The `-user' option with `-nonormalize' is not entirely 
accurate, as
+                 it  does  not replace local nicknames for hosts with their 
official
+                 site names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ANNO(1)                           -19-                           
ANNO(1)
+
+
+            _N_A_M_E
+                 anno - annotate messages
+
+            _S_Y_N_O_P_S_I_S
+                 anno [+folder] [msgs] [-component field] [-inplace] 
[-noinplace]
+                      [-date] [-nodate] [-text body] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_n_n_o annotates the specified messages in the named 
folder using the
+                 field  and body.  Annotation is optionally performed by 
_d_i_s_t, _f_o_r_w,
+                 and _r_e_p_l, to keep track of your distribution of, 
forwarding of, and
+                 replies  to  a  message.   By using _a_n_n_o, you can 
perform arbitrary
+                 annotations of your own.  Each message selected will  be  
annotated
+                 with the lines
+
+                     field: date
+                     field: body
+
+                 The `-nodate' switch inhibits the date annotation, leaving 
only the
+                 body  annotation.   The  `-inplace'  switch causes annotation 
to be
+                 done in place in order to preserve links to the annotated 
message.
+
+                 The field specified should be a valid 822-style message field 
name,
+                 which  means  that  it  should consist of alphanumerics (or 
dashes)
+                 only.  The body specified is arbitrary text.
+
+                 If a `-component field' is not specified when _a_n_n_o is 
invoked, _a_n_n_o
+                 will prompt the user for the name of field for the annotation.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 dist (1), forw (1), repl (1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noinplace'
+                 `-date'
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ANNO(1)                           -20-                           
ANNO(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message annotated will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -21-                            
BBC(1)
+
+
+            _N_A_M_E
+                 bbc - check on BBoards
+
+            _S_Y_N_O_P_S_I_S
+                 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] 
[-verbose]
+                      [-archive] [-noarchive] [-protocol] [-noprotocol]
+                      [-mshproc program] [switches for _m_s_h_p_r_o_c] 
[-rcfile rcfile]
+                      [-norcfile] [-file BBoardsfile] [-user BBoardsuser]
+                      [-host host] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _b_b_c is a BBoard reading/checking program  that  
interfaces  to  the
+                 BBoard channel.
+
+                 The _b_b_c program has three action switches which direct  
its  opera-
+                 tion:
+
+                 The `-read' switch invokes the _m_s_h program on  the  
named  _B_B_o_a_r_d_s.
+                 If  you  also  specify the `-archive' switch, then  _b_b_c 
will invoke
+                 the _m_s_h program on the  archives  of  the  named  
_B_B_o_a_r_d_s.   If  no
+                 _B_B_o_a_r_d_s   are   given  on  the  command  line,  
and  you  specified
+                 `-archive', _b_b_c will not read your  `bboards'  profile  
entry,  but
+                 will read the archives of the "system" _B_B_o_a_r_d 
instead.
+
+                 The `-check' switch types out  status  information  for  the  
named
+                 _B_B_o_a_r_d_s.   _b_b_c  can  print one of several 
messages depending on the
+                 status of both the BBoard and the user's reading  habits.  As 
 with
+                 each  of these messages, the number given is the item number 
of the
+                 last item placed in the BBoard.  This number (which  is  
marked  in
+                 the  messages  as the "BBoard-Id") is ever increasing.  
Hence, when
+                 _b_b_c says "n items", it really means that the highest  
BBoard-Id  is
+                 "n".   There  may,  or may not actually be "n" items in the 
BBoard.
+                 Some common messages are:
+
+                      BBoard -- n items unseen
+                           This message tells how many items the user  has  
not  yet
+                           seen.  When invoked with the `-quiet' switch, this 
is the
+                           only informative line that _b_b_c will possibly 
print out.
+
+                      BBoard -- empty
+                           The BBoard is empty.
+
+                      BBoard -- n items (none seen)
+                           The BBoard has items in it, but the user hasn't 
seen any.
+
+                      BBoard -- n items (all seen)
+                           The BBoard is non-empty, and the user has seen 
everything
+                           in it.
+
+                      BBoard -- n items seen out of m
+                           The BBoard has at most m-n items that the  user  
has  not
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -22-                            
BBC(1)
+
+
+                           seen.
+
+                 The `-topics' switch directs _b_b_c to print  three  items 
 about  the
+                 named _B_B_o_a_r_d_s: it's official name, the number 
of items present, and
+                 the date and time of the last update.  If  no  
_B_B_o_a_r_d_s  are  named,
+                 then  all  BBoards  are listed.  If the `-verbose' switch is 
given,
+                 more information is output.
+
+                 The `-quiet' switch specifies that  _b_b_c  should  be  
silent  if  no
+                 _B_B_o_a_r_d_s  are  found  with  new  information.  
The `-verbose' switch
+                 specifies that _b_b_c is to consider you to be interested  
in  _B_B_o_a_r_d_s
+                 that you've already seen everything in.
+
+                 To override the default _m_s_h_p_r_o_c and  the  
profile  entry,  use  the
+                 `-mshproc program' switch.  Any arguments not understood by 
_b_b_c are
+                 passed to this program.  The `-protocol' switch tells 
_b_b_c that your
+                 _m_s_h_p_r_o_c  knows  about  the  special _b_b_c 
protocol for reporting back
+                 information.  _m_s_h (1), the default 
_m_s_h_p_r_o_c, knows all about this.
+
+                 The `-file BBoardsfile' switch tells  _b_b_c  to  use  a  
non-standard
+                 _B_B_o_a_r_d_s  file  when  performing  its  
calculations.  Similarly, the
+                 `-user BBoardsuser' switch tells _b_b_c to use  a  
non-standard  user-
+                 name.   Both  of  these  switches  are  useful  for debugging 
a new
+                 _B_B_o_a_r_d_s or _P_O_P file.
+
+                 If the local host is configured as an NNTP BBoards  client,  
or  if
+                 the `-host host' switch is given, then _b_b_c will query 
the NNTP ser-
+                 vice host as to the  status  of  the  BBoards.   For  NNTP  
BBoards
+                 clients, the `-user user' and the `-rpop' switches are 
ignored.
+
+                 The ._b_b_r_c file in the user's $HOME directory is used 
to keep  track
+                 of what messages have been read.  The `-rcfile rcfile' switch 
over-
+                 rides the use of ._b_b_r_c for this purpose.  If the 
value given to the
+                 switch  is  not absolute, (i.e., does not begin with a / ), 
it will
+                 be presumed to start from the current working directory.   If 
 this
+                 switch  is not given (or the `-norcfile' switch is given), 
then _b_b_c
+                 consults the envariable $MHBBRC, and honors it similarly.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 $HOME/.bbrc                          BBoard "current" message 
information
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 bboards:             To specify interesting BBoards
+                 mshproc:             Program to read a given BBoard
+
+
+            _S_e_e _A_l_s_o
+                 bbl(1), bboards(1), msh(1)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -23-                            
BBC(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-read'
+                 `-noarchive'
+                 `-protocol'
+                 `bboards' defaults to "system"
+                 `-file /usr/bs/mh-6.8/bboards/BBoards'
+                 `-user bboards'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The `-user' switch takes effect only if  followed  by  the  
`-file'
+                 switch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(1)                        -24-                        
BBOARDS(1)
+
+
+            _N_A_M_E
+                 bboards - the UCI BBoards facility
+
+            _S_Y_N_O_P_S_I_S
+                 bbc [-check] [-read] bboards ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The home directory of _b_b_o_a_r_d_s is where the 
BBoard system  is  kept.
+                 This documentation describes some of the nuances of the 
BBoard sys-
+                 tem.
+
+                 BBoards, BBoard-IDs
+                      A BBoard is just a file containing a group of messages  
relat-
+                      ing  to the same topic.  These files live in the 
~bboards home
+                      directory.  Each message in a BBoard file has  in  its  
header
+                      the  line  "BBoard-Id:  n",  where "n" is an ascending 
decimal
+                      number.  This id-number  is  unique  for  each  message  
in  a
+                      BBoards  file.   It  should  NOT  be confused with the 
message
+                      number of a message, which can change as messages are  
removed
+                      from the BBoard.
+
+                 BBoard Handling
+                      To read BBoards, use the _b_b_c and _m_s_h 
programs.  The  _m_s_h  com-
+                      mand  is  a  monolithic  program  which contains all the 
func-
+                      tionality of _M_H in a single program.  The `-check'  
switch  to
+                      _b_b_c  lets  you check on the status of BBoards, and 
the `-read'
+                      switch tells _b_b_c to invoke _m_s_h to read those 
BBoards.
+
+                 Creating a BBoard
+                      Both public, and private BBoards are supported.   
Contact  the
+                      mail  address  _P_o_s_t_M_a_s_t_e_r  if  you'd 
 like  to  have  a BBoard
+                      created.
+
+                 BBoard addresses
+                      Each BBoard has associated with it 4 addresses, these 
are (for
+                      the ficticious BBoard called ``hacks''):
+                        hacks : The Internet wide distribution list.
+                        dist-hacks : The local BBoard.
+                        hacks-request : The people responsible for the BBoard 
at the
+                             Internet level.
+                        local-hacks-request : The people responsible for the  
BBoard
+                             locally.
+
+            _F_i_l_e_s
+                $HOME/.mh_profile                    The user profile
+                $HOME/.bbrc                          BBoard information
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(1)                        -25-                        
BBOARDS(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 bboards:             To specify interesting BBoards
+                 mshproc:             Program to read a given BBoard
+
+
+            _S_e_e _A_l_s_o
+                bbc(1), bbl(1), bbleader(1), msh(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 The default bboard is "system"
+
+
+            _C_o_n_t_e_x_t
+                None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BURST(1)                          -26-                          
BURST(1)
+
+
+            _N_A_M_E
+                 burst - explode digests into messages
+
+            _S_Y_N_O_P_S_I_S
+                 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] 
[-noquiet]
+                      [-verbose] [-noverbose] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _B_u_r_s_t considers the specified messages in the named 
 folder  to  be
+                 Internet digests, and explodes them in that folder.
+
+                 If `-inplace' is given, each digest is replaced by  the  
"table  of
+                 contents"  for  the digest (the original digest is removed).  
_B_u_r_s_t
+                 then renumbers all of the messages  following  the  digest  
in  the
+                 folder  to  make room for each of the messages contained 
within the
+                 digest.  These messages are placed immediately after the 
digest.
+
+                 If `-noinplace' is given, each digest is  preserved,  no  
table  of
+                 contents  is produced, and the messages contained within the 
digest
+                 are placed at the end of the folder.  Other messages are  not 
 tam-
+                 pered with in any way.
+
+                 The `-quiet' switch directs _b_u_r_s_t to be silent 
about reporting mes-
+                 sages that are not in digest format.
+
+                 The `-verbose' switch directs _b_u_r_s_t to tell the  
user  the  general
+                 actions that it is taking to explode the digest.
+
+                 It turns out that _b_u_r_s_t works equally well  on  
forwarded  messages
+                 and  blind-carbon-copies  as on Internet digests, provided 
that the
+                 former two were generated by _f_o_r_w or _s_e_n_d.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Msg-Protect:         To set mode when creating a new message
+
+
+            _S_e_e _A_l_s_o
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+                 inc(1), msh(1), pack(1)
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BURST(1)                          -27-                          
BURST(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noinplace'
+                 `-noquiet'
+                 `-noverbose'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  If  
`-in-
+                 place'  is  given, then the first message burst becomes the 
current
+                 message.  This leaves the context ready for a _s_h_o_w of 
the table  of
+                 contents  of the digest, and a _n_e_x_t to see the first 
message of the
+                 digest.  If `-noinplace' is given, then the first message 
extracted
+                 from  the  first  digest  burst  becomes the current message. 
 This
+                 leaves the context in a similar, but not identical,  state  
to  the
+                 context achieved when using `-inplace'.
+
+
+            _B_u_g_s
+                 The _b_u_r_s_t program enforces a limit on the number of 
messages  which
+                 may be _b_u_r_s_t from a single message.  This number is 
on the order of
+                 1000 messages.  There is usually no limit on the number of 
messages
+                 which may reside in the folder after the _b_u_r_s_ting.
+
+                 Although _b_u_r_s_t uses a sophisticated algorithm  to  
determine  where
+                 one  encapsulated message ends and another begins, not all 
digesti-
+                 fying programs  use  an  encapsulation  algorithm.   In  
degenerate
+                 cases, this usually results in _b_u_r_s_t finding an 
encapsulation boun-
+                 dary prematurely and splitting a single encapsulated  message 
 into
+                 two or more messages.  These erroneous digestifying programs 
should
+                 be fixed.
+
+                 Furthermore, any text which appears  after  the  last  
encapsulated
+                 message  is not placed in a seperate message by 
_b_u_r_s_t.  In the case
+                 of digestified messages, this text is usally  an  "End  of  
digest"
+                 string.   As  a result of this possibly un-friendly behavior 
on the
+                 part of _b_u_r_s_t, note that when the `-inplace' option 
is  used,  this
+                 trailing  information  is lost.  In practice, this is not a 
problem
+                 since correspondents usually place remarks in  text  prior  
to  the
+                 first encapsulated message, and this information is not lost.
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            COMP(1)                           -28-                           
COMP(1)
+
+
+            _N_A_M_E
+                 comp - compose a message
+
+            _S_Y_N_O_P_S_I_S
+                 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage 
msg]
+                      [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+                      [-form formfile] [-use] [-nouse] [-whatnowproc program]
+                      [-nowhatnowproc] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _C_o_m_p is used to create a new message to be  mailed.   
It  copies  a
+                 message form to the draft being composed and then invokes an 
editor
+                 on the draft (unless `-noedit' is given, in which case the  
initial
+                 edit is suppressed).
+
+                 The default message form contains the following elements:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 If the file named "components" exists in the user's  MH  
directory,
+                 it  will  be  used  instead  of  this  form.  The file 
specified by
+                 `-form formfile' will be used if given.  You may  also  start 
 _c_o_m_p
+                 using the contents of an existing message as the form.  If 
you sup-
+                 ply either a `+folder' or `msg' argument, that message will 
be used
+                 as  the  form.   You  may  not supply both a `-form formfile' 
and a
+                 `+folder' or `msg' argument.  The line of dashes or  a  blank 
 line
+                 must be left between the header and the body of the message 
for the
+                 message to be identified properly when it is sent  (see  
_s_e_n_d (1)).
+                 The  switch  `-use'  directs  _c_o_m_p  to  continue 
editing an already
+                 started message.  That is, if a _c_o_m_p (or 
_d_i_s_t, _r_e_p_l, or  _f_o_r_w )  is
+                 terminated without sending the draft, the draft can be edited 
again
+                 via "comp -use".
+
+                 If the draft already exists, _c_o_m_p will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_c_o_m_p, leaving the
+                 draft intact; replace will replace  the  existing  draft  
with  the
+                 appropriate  form;  list  will  display the draft; use will 
use the
+                 draft for further composition; and  refile +folder  will  
file  the
+                 draft  in  the  given  folder,  and  give  you a new draft 
with the
+                 appropriate form.  (The `+folder' argument to refile is 
required.)
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 The `-file file' switch says to use the named file as  the  
message
+                 draft.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            COMP(1)                           -29-                           
COMP(1)
+
+
+                 The `-editor editor' switch indicates the editor  to  use  
for  the
+                 initial  edit.   Upon exiting from the editor, _c_o_m_p 
will invoke the
+                 _w_h_a_t_n_o_w program.  See _w_h_a_t_n_o_w (1) 
for  a  discussion  of  available
+                 options.   The invocation of this program can be inhibited by 
using
+                 the `-nowhatnowproc' switch.  (In truth of fact, it is the  
_w_h_a_t_n_o_w
+                 program  which  starts  the  initial edit.  Hence, 
`-nowhatnowproc'
+                 will prevent any edit from occurring.)
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/components        The message skeleton
+                 or <mh-dir>/components               Rather than the standard 
skeleton
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/draft                       The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 dist(1), forw(1), repl(1), send(1), whatnow(1), mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to the current message
+                 `-nodraftfolder'
+                 `-nouse'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _c_o_m_p uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _c_o_m_p  won't  run
+                 it.
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -30-                           
DIST(1)
+
+
+            _N_A_M_E
+                 dist - redistribute a message to additional addresses
+
+            _S_Y_N_O_P_S_I_S
+                 dist [+folder] [msg] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-form formfile] [-inplace]
+                      [-noinplace] [-whatnowproc program] [-nowhatnowproc] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _D_i_s_t is similar to _f_o_r_w.  It prepares  the  
specified  message  for
+                 redistribution to addresses that (presumably) are not on the 
origi-
+                 nal address list.
+
+                 The default message form contains the following elements:
+
+                      Resent-To:
+                      Resent-cc:
+
+                 If the file named "distcomps" exists in the user's MH 
directory, it
+                 will be used instead of this form.  In either case, the file 
speci-
+                 fied by `-form formfile' will be used if given.  The form 
used will
+                 be prepended to the message being resent.
+
+                 If the draft already exists, _d_i_s_t will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_d_i_s_t, leaving the
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 Only   those   addresses   in   "Resent-To:",   "Resent-cc:", 
  and
+                 "Resent-Bcc:"  will  be sent.  Also, a "Resent-Fcc: folder" 
will be
+                 honored (see _s_e_n_d (1)).  Note that with _d_i_s_t, 
the draft should con-
+                 tain  only  "Resent-xxx:"  fields and no body.  The headers 
and the
+                 body of the original message are copied to the draft when the 
 mes-
+                 sage  is sent.  Use care in constructing the headers for the 
redis-
+                 tribution.
+
+                 If the `-annotate' switch is given, the  message being  
distributed
+                 will be annotated with the lines:
+
+                      Resent: date
+                      Resent: addrs
+
+                 where each address list contains as many lines as  required.  
 This
+                 annotation  will  be done only if the message is sent 
directly from
+                 _d_i_s_t.  If the message is not  sent  immediately  from 
 _d_i_s_t,  "comp
+                 -use"  may be used to re-edit and send the constructed 
message, but
+                 the annotations won't take place.   The  '-inplace'  switch  
causes
+                 annotation  to  be  done in place in order to preserve links 
to the
+                 annotated message.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -31-                           
DIST(1)
+
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.   Note that while in the editor, the message being 
resent
+                 is available through a link named "@" (assuming the  default  
_w_h_a_t_-
+                 _n_o_w_p_r_o_c ).   In  addition,  the  actual  
pathname of the message is
+                 stored in the envariable $editalt, and the pathname of  the  
folder
+                 containing the message is stored in the envariable $mhfolder.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _d_i_s_t will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/distcomps         The message skeleton
+                 or <mh-dir>/distcomps                Rather than the standard 
skeleton
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/draft                       The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 fileproc:            Program to refile the message
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), forw(1), repl(1), send(1), whatnow(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to cur
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noinplace'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 mes-
+                 sage distributed will become the current message.
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -32-                           
DIST(1)
+
+
+            _H_i_s_t_o_r_y
+                 _D_i_s_t originally used headers of the form 
"Distribute-xxx:"  instead
+                 of "Resent-xxx:".  In order to conform with the ARPA Internet 
stan-
+                 dard, RFC-822, the "Resent-xxx:"  form  is  now  used.   
_D_i_s_t  will
+                 recognize  "Distribute-xxx:" type headers and automatically 
convert
+                 them to "Resent-xxx:".
+
+
+            _B_u_g_s
+                 _D_i_s_t does not _r_i_g_o_r_o_u_s_l_y check 
the message  being  distributed  for
+                 adherence  to the transport standard, but _p_o_s_t called 
by _s_e_n_d does.
+                 The _p_o_s_t program will balk (and rightly  so)  at  
poorly  formatted
+                 messages, and _d_i_s_t won't correct things for you.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _d_i_s_t uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _d_i_s_t  won't  run
+                 it.
+
+                 If your current working directory is not writable, the  link  
named
+                 "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -33-                         
FOLDER(1)
+
+
+            _N_A_M_E
+                 folder, folders - set/list current folder/message
+
+            _S_Y_N_O_P_S_I_S
+                 folder [+folder] [msg] [-all] [-print] [-fast] [-nofast] 
[-header]
+                      [-noheader] [-recurse] [-norecurse] [-total] [-nototal]
+                      [-list] [-nolist] [-push] [-pop] [-pack] [-nopack] 
[-verbose]
+                      [-noverbose] [-help]
+
+                 folders
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Since the _M_H environment is the shell, it is easy to lose 
track  of
+                 the  current  folder  from  day  to  day.  When 
_f_o_l_d_e_r is given the
+                 `-print' switch (the default), _f_o_l_d_e_r will list 
the current folder,
+                 the number of messages in it, the range of the messages 
(low-high),
+                 and the current message within the  folder,  and  will  flag  
extra
+                 files if they exist.  An example of this summary is:
+
+                 inbox+            has  16 messages (  3- 22); cur=  5.
+
+                 If a `+folder' and/or `msg' are specified,  they  will  
become  the
+                 current  folder  and/or  message.   If  the  specified (or 
default)
+                 folder doesn't exist, the user will be queried as  to  
whether  the
+                 folder  should  be  created.  When standard input is not a 
tty, the
+                 folder is created without any query.  (This  is  the  easy  
way  to
+                 create an empty folder for use later.)
+
+                 By comparison, when a `+folder' argument is given, this 
corresponds
+                 to  a  "cd"  operation  in the _s_h_e_l_l; when no 
`+folder' argument is
+                 given, this corresponds roughly to a "pwd" operation in the 
_s_h_e_l_l.
+
+
+
+              _M_u_l_t_i_p_l_e _F_o_l_d_e_r_s
+
+                 Specifying `-all' will produce a summary line  for  each  
top-level
+                 folder  in  the  user's  MH  directory, sorted 
alphabetically.  (If
+                 _f_o_l_d_e_r is invoked by a  name  ending  with  "s"  
(e.g.,  _f_o_l_d_e_r_s ),
+                 `-all'  is  assumed).   Specifying `-recurse' with `-all' 
will also
+                 produce a line for all sub-folders.  These folders are all 
preceded
+                 by  the read-only folders, which occur as "atr-cur-" entries 
in the
+                 user's _M_H context.  For example,
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -34-                         
FOLDER(1)
+
+
+                 Folder               # of messages ( range )  cur msg (other 
files)
+                 /fsd/rs/m/tacc    has  35 messages (  1- 35); cur= 23.
+                 /rnd/phyl/Mail/EP has  82 messages (  1-108); cur= 82.
+                 ff                has  no messages.
+                 inbox+            has  16 messages (  3- 22); cur=  5.
+                 mh                has  76 messages (  1- 76); cur= 70.
+                 notes             has   2 messages (  1-  2); cur=  1.
+                 ucom              has 124 messages (  1-124); cur=  6; 
(others).
+                           TOTAL=      339 messages in 7 folders
+
+                 The "+" after inbox indicates that it is the current  folder. 
  The
+                 "(others)"  indicates that the folder `ucom' has files which 
aren't
+                 messages.  These files may either be  sub-folders,  or  files 
 that
+                 don't belong under the MH file naming scheme.
+
+                 The header is output if either a `-all' or a  `-header'  
switch  is
+                 specified; it is suppressed by `-noheader'.  A `-total' 
switch will
+                 produce only the summary line.
+
+                 If `-fast' is given, only the folder name (or names in the 
case  of
+                 `-all')  will  be listed.  (This is faster because the 
folders need
+                 not be read.)
+
+                 If a `+folder' is given along with the `-all' switch, 
_f_o_l_d_e_r  will,
+                 in addition to setting the current folder, list the top-level 
fold-
+                 ers for the current folder (with `-norecurse')  or  list  all 
 sub-
+                 folders under the current folder recursively (with 
`-recurse').  In
+                 this case, if a `msg' is also supplied, it will become the  
current
+                 message of `+folder'.
+
+                 The `-recurse' switch lists each folder recursively, so use 
of this
+                 option  effectively  defeats  the  speed enhancement of the 
`-fast'
+                 option,  since  each  folder  must  be  searched  for   
subfolders.
+                 Nevertheless, the combination of these options is useful.
+
+
+              _C_o_m_p_a_c_t_i_n_g _a _F_o_l_d_e_r
+
+                 The `-pack' switch will compress the message names  in  the  
desig-
+                 nated folders, removing holes in message numbering.  The 
`-verbose'
+                 switch directs _f_o_l_d_e_r to tell the user the 
general actions that  it
+                 is taking to compress the folder.
+
+
+              _T_h_e _F_o_l_d_e_r _S_t_a_c_k
+
+                 The `-push' switch directs _f_o_l_d_e_r to push the 
current  folder  onto
+                 the  _f_o_l_d_e_r-_s_t_a_c_k,  and  make  the  
`+folder'  argument the current
+                 folder.  If `+folder' is not given, the current folder and 
the  top
+                 of the _f_o_l_d_e_r-_s_t_a_c_k are exchanged.  
This corresponds to the "pushd"
+                 operation in the _C_S_h_e_l_l.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -35-                         
FOLDER(1)
+
+
+                 The `-pop'  switch  directs  _f_o_l_d_e_r  to  discard  
the  top  of  the
+                 _f_o_l_d_e_r-_s_t_a_c_k,  after  setting the 
current folder to that value.  No
+                 `+folder' argument is allowed.   This  corresponds  to  the  
"popd"
+                 operation  in the _C_S_h_e_l_l.  The `-push' switch and 
the `-pop' switch
+                 are mutually exclusive: the last occurrence of either one 
overrides
+                 any  previous occurrence of the other.  Both of these 
switches also
+                 set `-list' by default.
+
+                 The `-list' switch directs _f_o_l_d_e_r  to  list  the  
contents  of  the
+                 _f_o_l_d_e_r-_s_t_a_c_k.   No `+folder' argument 
is allowed.  After a success-
+                 ful `-push' or `-pop', the `-list' action is taken, unless a 
`-nol-
+                 ist'  switch follows them on the command line.  This 
corresponds to
+                 the "dirs" operation in  the  _C_S_h_e_l_l.   The  
`-push',  `-pop',  and
+                 `-list' switches turn off `-print'.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Folder-Protect:      To set mode when creating a new folder
+                 Folder-Stack:        To determine the folder stack
+
+
+            _S_e_e _A_l_s_o
+                 refile(1), mhpath(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to none
+                 `-nofast'
+                 `-noheader'
+                 `-nototal'
+                 `-nopack'
+                 `-norecurse'
+                 `-noverbose'
+                 `-print' is the default if no `-list', `-push', or `-pop' is 
specified
+                 `-list' is the default if `-push', or `-pop' is specified
+
+
+            _C_o_n_t_e_x_t
+                 If `+folder' and/or `msg' are given, they will become  the  
current
+                 folder and/or message.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -36-                         
FOLDER(1)
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the `-fast'  switch  
prevented  context
+                 changes  from  occurring for the current folder.  This is no 
longer
+                 the case: if `+folder' is given, then _f_o_l_d_e_r will 
always change the
+                 current folder to that.
+
+
+            _B_u_g_s
+                 `-all' forces `-header'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -37-                           
FORW(1)
+
+
+            _N_A_M_E
+                 forw - forward messages
+
+            _S_Y_N_O_P_S_I_S
+                 forw [+folder] [msgs] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-filter filterfile]
+                      [-form formfile] [-format] [-noformat] [-inplace] 
[-noinplace]
+                      [-mime] [-nomime] [-whatnowproc program] [-nowhatnowproc]
+                      [-help]
+
+                 forw [+folder] [msgs] [-digest list] [-issue number]
+                      [-volume number] [other switches for _f_o_r_w] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _F_o_r_w may be used to prepare a message  containing  
other  messages.
+                 It   constructs  the  new  message  from  the  components  
file  or
+                 `-form formfile'  (see  _c_o_m_p ),  with  a  body  
composed   of   the
+                 message(s)  to  be forwarded.  An editor is invoked as in 
_c_o_m_p, and
+                 after editing is complete, the user is prompted before the  
message
+                 is sent.
+
+                 The default message form contains the following elements:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 If the file named "forwcomps" exists in the user's MH 
directory, it
+                 will be used instead of this form.  In either case, the file 
speci-
+                 fied by `-form formfile' will be used if given.
+
+                 If the draft already exists, _f_o_r_w will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_f_o_r_w, leaving the
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 If the `-annotate' switch is given, each  message  being  
forwarded
+                 will be annotated with the lines
+
+                      Forwarded: date
+                      Forwarded: addrs
+
+                 where each address list contains as many lines as  required.  
 This
+                 annotation  will  be done only if the message is sent 
directly from
+                 _f_o_r_w.   If  the  message  is  not  sent  immediately  
 from   _f_o_r_w,
+                 "comp -use"  may  be  used to re-edit and send the 
constructed mes-
+                 sage, but the annotations won't take place.  The '-inplace'  
switch
+                 causes annotation to be done in place in order to preserve 
links to
+                 the annotated message.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -38-                           
FORW(1)
+
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.
+
+                 Although _f_o_r_w uses the `-form formfile' switch to 
direct it how  to
+                 construct  the  beginning  of  the draft, the `-filter 
filterfile',
+                 `-format', and `-noformat' switches direct _f_o_r_w as to 
how each for-
+                 warded  message  should  be formatted in the body of the 
draft.  If
+                 `-noformat' is specified, then each  forwarded  message  is  
output
+                 exactly  as  it  appears.   If `-format' or `-filter 
filterfile' is
+                 specified, then each forwarded message is  filtered  
(re-formatted)
+                 prior  to  being  output to the body of the draft.  The 
filter file
+                 for _f_o_r_w should be a standard form  file  for  
_m_h_l,  as  _f_o_r_w  will
+                 invoke  _m_h_l  to format the forwarded messages.  The 
default message
+                 filter (what you get with `-format') is:
+
+                      width=80,overflowtext=,overflowoffset=10
+                      leftadjust,compress,compwidth=9
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+                      From:
+                      To:
+                      cc:
+                      Subject:
+                      :
+                      body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+                 If the file named "mhl.forward" exists in the user's MH  
directory,
+                 it  will  be  used  instead of this form.  In either case, 
the file
+                 specified by `-filter filterfile' will be used if given.   To 
 sum-
+                 marize:  `-noformat' will reproduce each forwarded message 
exactly,
+                 `-format' will use _m_h_l and a default filterfile, 
"mhl.forward",  to
+                 format  each  forwarded  message, and `-filter filterfile' 
will use
+                 the named filterfile to format each forwarded message with 
_m_h_l.
+
+                 Each forwarded message is separated with an encapsulation 
delimiter
+                 and  dashes  in  the first column of the forwarded messages 
will be
+                 prepended with `- ' so that when received, the message is  
suitable
+                 for  bursting  by  _b_u_r_s_t (1).   This  follows  the 
Internet RFC-934
+                 guidelines.
+
+                 For users of  _p_r_o_m_p_t_e_r (1),  by  specifying  
prompter's  `-prepend'
+                 switch  in  the  .mh_profile  file,  any commentary text is 
entered
+                 before the forwarded messages.  (A major win!)
+
+                 To use the  MIME  rules  for  encapsulation,  specify  the  
`-mime'
+                 switch.   This  directs  _f_o_r_w  to generate an 
_m_h_n composition file.
+                 Note that MH will not invoke _m_h_n  automatically,  
unless  you   add
+                 this line to your .mh_profile file:
+
+                      automhnproc: mhn
+
+                 Otherwise, you must specifically give the command
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -39-                           
FORW(1)
+
+
+                      What now? edit mhn
+
+                 prior to sending the draft.
+
+                 To automate this somewhat, create a link to 
_p_r_o_m_p_t_e_r  called  _r_a_p_i_d
+                 and put these lines in your .mh_profile file:
+
+                      forw: -editor rapid -mime
+                      rapid: -rapid
+                      rapid-next: mhn
+
+                 Then, you can simply do:
+
+                      _f_o_r_w _m_s_g_s
+                      To: _m_a_i_l_b_o_x
+                      cc:
+                      Subject: _w_h_a_t_e_v_e_r
+
+                      --------Enter initial text
+
+                      _b_l_a_h, _b_l_a_h, _b_l_a_h.
+                      <CTRL-D>
+                      --------
+
+                      What now? _e_d_i_t
+                      What now? _s_e_n_d
+
+                 The _e_d_i_t command invokes _m_h_n automatically.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _f_o_r_w will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+                 The `-digest list', `-issue number', and `-volume number'  
switches
+                 implement  a  digest  facility  for  _M_H.  Specifying 
these switches
+                 enables and/or overloads the following escapes:
+
+                 _T_y_p_e       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 _c_o_m_p_o_n_e_n_t  _d_i_g_e_s_t  string   
Argument to `-digest'
+                 _f_u_n_c_t_i_o_n   _c_u_r     integer  Argument to 
`-volume'
+                 _f_u_n_c_t_i_o_n   _m_s_g     integer  Argument to 
`-issue'
+
+                 Consult the Advanced Features section of the _M_H User's  
Manual  for
+                 more information on making digests.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -40-                           
FORW(1)
+
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/forwcomps         The message skeleton
+                 or <mh-dir>/forwcomps                Rather than the standard 
skeleton
+                 /usr/bs/mh-6.8/lib/digestcomps       The message skeleton if 
`-digest' is given
+                 or <mh-dir>/digestcomps              Rather than the standard 
skeleton
+                 /usr/bs/mh-6.8/lib/mhl.forward       The message filter
+                 or <mh-dir>/mhl.forward              Rather than the standard 
filter
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/draft                       The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 mhlproc:             Program to filter messages being 
forwarded
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+                 comp(1), dist(1), repl(1), send(1), whatnow(1), mh-format(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noformat'
+                 `-noinplace'
+                 `-nomime'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message forwarded will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -41-                           
FORW(1)
+
+
+            _B_u_g_s
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _f_o_r_w uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _f_o_r_w  won't  run
+                 it.
+
+                 When _f_o_r_w is told to annotate the messages it 
forwards, it  doesn't
+                 actually  annotate  them  until the draft is successfully 
sent.  If
+                 from the _w_h_a_t_n_o_w_p_r_o_c, you _p_u_s_h 
instead of _s_e_n_d,  it's  possible  to
+                 confuse   _f_o_r_w   by   re-ordering   the   file   
(e.g.,   by  using
+                 `folder -pack') before the message is successfully sent.  
_D_i_s_t  and
+                 _r_e_p_l don't have this problem.
+
+                 To avoid prepending the leading dash characters in  forwarded 
 mes-
+                 sages,  there  is  a  `-nodashmunging'  option.   See  the  
"Hidden
+                 Features" section of the _M_H 
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -42-                            
INC(1)
+
+
+            _N_A_M_E
+                 inc - incorporate new mail
+
+            _S_Y_N_O_P_S_I_S
+                 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+                      [-nochangecur] [-form formatfile] [-format string]
+                      [-file name] [-silent] [-nosilent] [-truncate] 
[-notruncate]
+                      [-width columns] [-host host] [-user user] [-apop] 
[-noapop]
+                      [-rpop] [-norpop] [-pack file] [-nopack] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _I_n_c incorporates mail from the user's incoming mail 
drop into an _M_H
+                 folder.   If  `+folder'  isn't specified, a folder in the 
user's _M_H
+                 directory will be used, either that specified by the "Inbox:" 
entry
+                 in  the  user's profile, or the folder named "inbox".  The 
new mes-
+                 sages being incorporated are assigned  numbers  starting  
with  the
+                 next  highest  number in the folder.  If the specified (or 
default)
+                 folder doesn't exist, the user will be queried prior to  its  
crea-
+                 tion.   As  the  messages  are processed, a _s_c_a_n 
listing of the new
+                 mail is produced.
+
+                 If the user's profile contains a "Msg-Protect: nnn" entry, it 
 will
+                 be  used as the protection on the newly created messages, 
otherwise
+                 the _M_H default of 0644 will be used.  During all 
operations on mes-
+                 sages,  this  initially  assigned  protection will be 
preserved for
+                 each message, so _c_h_m_o_d(1) may be used to set  a  
protection  on  an
+                 individual   message,   and   its   protection  will  be  
preserved
+                 thereafter.
+
+                 If the  switch  `-audit audit-file'  is  specified  (usually  
as  a
+                 default  switch in the profile), then _i_n_c will append a 
header line
+                 and a line per message to the end of the specified audit-file 
 with
+                 the format:
+
+                      <<inc>> date
+                           <scan line for first message>
+                           <scan line for second message>
+                                     <etc.>
+
+                 This is useful for keeping track of volume and source  of  
incoming
+                 mail.   Eventually,  _r_e_p_l,  _f_o_r_w,  
_c_o_m_p,  and _d_i_s_t may also produce
+                 audits to this (or another) file, perhaps with "Message-Id:" 
infor-
+                 mation  to keep an exact correspondence history.  
"Audit-file" will
+                 be in the user's MH directory unless a full path is specified.
+
+                 _I_n_c will incorporate even improperly formatted  
messages  into  the
+                 user's  MH  folder,  inserting  a blank line prior to the 
offending
+                 component and printing a comment identifying the bad message.
+
+                 In all cases, the user's mail  drop  will  be  zeroed,  
unless  the
+                 `-notruncate' switch is given.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -43-                            
INC(1)
+
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+                 then  _i_n_c  will add each of the newly incorporated 
messages to each
+                 sequence named by the  profile  entry.   This  is  similar  
to  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.  Note that _i_n_c 
will not  zero
+                 each sequence prior to adding messages.
+
+                 The interpretation of the `-form formatfile', `-format 
string', and
+                 `-width columns' switches is the same as in _s_c_a_n (1).
+
+                 By using the `-file name' switch, one can direct _i_n_c to 
incorporate
+                 messages from a file other than the user's maildrop.  Note 
that the
+                 name file will NOT be zeroed,  unless  the  `-truncate'  
switch  is
+                 given.
+
+                 If the envariable $MAILDROP is set, then _i_n_c uses it as 
 the  loca-
+                 tion  of  the  user's  maildrop  instead  of  the  default  
(the `-
+                 file name' switch still overrides this, however).  If this  
envari-
+                 able is not set, then _i_n_c will consult the profile 
entry "MailDrop"
+                 for this information.  If the value found is not absolute, 
then  it
+                 is  interpreted  relative to the user's _M_H directory.  If 
the value
+                 is not found, then _i_n_c will look in the  standard  
system  location
+                 for the user's maildrop.
+
+                 The `-silent' switch directs _i_n_c to be quiet and not 
ask any  ques-
+                 tions at all.  This is useful for putting _i_n_c in the 
background and
+                 going on to other things.
+
+                 If the local host  is  configured  as  a  POP  client,  or  
if  the
+                 `-host host'  switch  is given, then _i_n_c will query the 
POP service
+                 host as to the status of mail waiting.  If the `-user user'  
switch
+                 is  not  given,  then  the current username is used.  
Normally, _i_n_c
+                 will prompt for a password to use.  However, if the `-apop'  
switch
+                 is  given,  _i_n_c will generate authentication 
credentials to provide
+                 for origin authentication and replay protection, but which  
do  not
+                 involve  sending  a password in the clear over the network.  
Other-
+                 wise, if the `-rpop' switch is given, then _i_n_c will try 
 to  use  a
+                 "trusted" connection (ala the BSD r-commands).
+
+                 If _i_n_c uses POP, then the `-pack file' switch  is  
considered.   If
+                 given,  then  _i_n_c simply uses the POP to 
_p_a_c_k_f (1) the user's mail-
+                 drop from the POP service host to the named file.  This  
switch  is
+                 provided  for those users who prefer to use _m_s_h to read 
their mail-
+                 drops.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+                 /usr/spool/mail/$USER                Location of mail drop
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -44-                            
INC(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Inbox:               To determine the inbox, default "inbox"
+                 Folder-Protect:      To set mode when creating a new folder
+                 Msg-Protect:         To set mode when creating a  new  
message  and
+                 audit-file
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+
+
+            _S_e_e _A_l_s_o
+                 _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+                 mhmail(1), scan(1), mh-mail(5), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaulted by "Inbox" above
+                 `-noaudit'
+                 `-changecur'
+                 `-format' defaulted as described above
+                 `-nosilent'
+                 `-truncate' if `-file name' not given, `-notruncate' otherwise
+                 `-width' defaulted to the width of the terminal
+                 `-nopack'
+                 `-rpop'
+
+
+            _C_o_n_t_e_x_t
+                 The folder into which messages are being incorporated  will  
become
+                 the current folder.  The first message incorporated will 
become the
+                 current message, unless the  `-nochangecur'  option  is  
specified.
+                 This leaves the context ready for a _s_h_o_w of the first 
new message.
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _i_n_c.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -45-                           
MARK(1)
+
+
+            _N_A_M_E
+                 mark - mark messages
+
+            _S_Y_N_O_P_S_I_S
+                 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] 
[-list]
+                      [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _m_a_r_k command manipulates message sequences by 
adding or  delet-
+                 ing  message  numbers from folder-specific message sequences, 
or by
+                 listing those sequences and messages.  A message sequence is 
a key-
+                 word,  just  like  one  of  the  "reserved"  message names, 
such as
+                 "first" or "next".  Unlike the "reserved" message names, 
which have
+                 a fixed semantics on a per-folder basis, the semantics of a 
message
+                 sequence may be defined, modified, and removed by the  user.  
 Mes-
+                 sage  sequences are folder-specific, e.g., the sequence name 
"seen"
+                 in the context of folder "+inbox" need not have any relation  
what-
+                 soever  to the sequence of the same name in a folder of a 
different
+                 name.
+
+                 Three action switches direct the operation of _m_a_r_k.  
These switches
+                 are  mutually  exclusive:  the last occurrence of any of them 
over-
+                 rides any previous occurrence of the other two.
+
+                 The `-add' switch tells _m_a_r_k to add messages  to  
sequences  or  to
+                 create   a   new   sequence.   For  each  sequence  named  
via  the
+                 `-sequence name' argument (which must occur at least once) 
the mes-
+                 sages  named  via  `msgs' (which defaults to "cur" if no 
`msgs' are
+                 given), are added to the sequence.  The messages to be  added 
 need
+                 not  be  absent from the sequence.  If the `-zero' switch is 
speci-
+                 fied, the sequence will be emptied prior to  adding  the  
messages.
+                 Hence,  `-add -zero' means that each sequence should be 
initialized
+                 to the indicated messages, while  `-add -nozero'  means  that 
 each
+                 sequence should be appended to by the indicated messages.
+
+                 The `-delete' switch tells _m_a_r_k to delete messages 
from  sequences,
+                 and  is  the  dual of `-add'.  For each of the named 
sequences, the
+                 named messages are removed from the sequence.  These messages 
 need
+                 not  be  already present in the sequence.  If the `-zero' 
switch is
+                 specified, then all messages in the  folder  are  appended  
to  the
+                 sequence  prior  to  removing the messages.  Hence, `-delete 
-zero'
+                 means that each sequence should contain all messages  except  
those
+                 indicated,  while  `-delete -nozero'  means that only the 
indicated
+                 messages should be removed from each sequence.   As  
expected,  the
+                 command   `mark -sequence seen -delete all'  deletes  the  
sequence
+                 "seen" from the current folder.
+
+                 When creating (or modifying) a sequence, the `-public' switch 
indi-
+                 cates that the sequence should be made readable for other 
_M_H users.
+                 In contrast, the `-nopublic' switch  indicates  that  the  
sequence
+                 should be private to the user's _M_H environment.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -46-                           
MARK(1)
+
+
+                 The `-list' switch tells _m_a_r_k to list both  the  
sequences  defined
+                 for  the  folder  and the messages associated with those 
sequences.
+                 _M_a_r_k will list the name of each sequence given by  
`-sequence name'
+                 and  the  messages  associated  with that sequence.  If 
`-sequence'
+                 isn't used, all sequences will be listed,  with  private  
sequences
+                 being  so indicated.  The `-zero' switch does not affect the 
opera-
+                 tion of `-list'.
+
+                 The current restrictions on sequences are:
+
+                   The name used to denote a message sequence  must  consist  
of  an
+                   alphabetic  character followed by zero or more alphanumeric 
char-
+                   acters, and can not be one of the "reserved" message names 
(e.g.,
+                   "first", "cur", and so forth).
+
+                   Only a certain number of sequences may be  defined  for  a  
given
+                   folder.   This  number is usually limited to 26 (10 on 
small sys-
+                   tems).
+
+                   Message ranges with user-defined sequence names are 
restricted to
+                   the  form  "name:n"  or "name:-n", and refer to the first 
or last
+                   `n' messages of the sequence `name', respectively.  
Constructs of
+                   the form "name1-name2" are forbidden.
+
+            _F_i_l_e_s
+                $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                pick (1), mh-sequence (5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-add' if `-sequence' is specified, `-list' otherwise
+                 `msgs' defaults to cur (or all if `-list' is specified)
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-nozero'
+
+
+            _C_o_n_t_e_x_t
+                If a folder is given, it will become the current folder.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 Use "pick sequence -list" to enumerate the messages in  a  
sequence
+                 (such as for use by a shell script).
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -47-                           
MARK(1)
+
+
+            _N_A_M_E
+                 mhl - produce formatted listings of MH messages
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/mhl [-bell] [-nobell] [-clear] [-noclear]
+                      [-folder +folder] [-form formfile] [-length lines]
+                      [-width columns] [-moreproc program] [-nomoreproc] 
[files ...]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_l is a formatted message listing program.  It can be  
used  as  a
+                 replacement  for  _m_o_r_e (1)  (the default 
_s_h_o_w_p_r_o_c ).  As with _m_o_r_e,
+                 each of the messages specified as arguments (or the standard 
input)
+                 will  be  output.   If more than one message file is 
specified, the
+                 user will be prompted prior to each one, and a  <RETURN>  or  
<EOT>
+                 will  begin  the  output,  with  <RETURN>  clearing  the 
screen (if
+                 appropriate), and <EOT> (usually  CTRL-D)  suppressing  the  
screen
+                 clear.  An <INTERRUPT> (usually CTRL-C) will abort the 
current mes-
+                 sage output, prompting for the next message (if there is 
one),  and
+                 a  <QUIT> (usually CTRL-\) will terminate the program 
(without core
+                 dump).
+
+                 The `-bell' option tells _m_h_l to ring the terminal's 
bell at the end
+                 of  each  page,  while  the  `-clear' option tells _m_h_l 
to clear the
+                 scree at the end of each page (or output a formfeed after 
each mes-
+                 sage).   Both  of  these  switches (and their inverse 
counterparts)
+                 take effect only if the  profile  entry  
_m_o_r_e_p_r_o_c  is  defined  but
+                 empty,  and _m_h_l is outputting to a terminal.  If the 
_m_o_r_e_p_r_o_c entry
+                 is defined and non-empty, and _m_h_l is outputting to a 
terminal, then
+                 _m_h_l  will  cause the _m_o_r_e_p_r_o_c to be 
placed between the terminal and
+                 _m_h_l and the switches are ignored.   Furthermore,  if  
the  `-clear'
+                 switch is used and _m_h_l'_s output is directed to a 
terminal, then _m_h_l
+                 will consult the $TERM and $TERMCAP envariables  to  
determine  the
+                 user's  terminal type in order to find out how to clear the 
screen.
+                 If the `-clear' switch is used and _m_h_l'_s output is 
not directed  to
+                 a  terminal (e.g., a pipe or a file), then _m_h_l will 
send a formfeed
+                 after each message.
+
+                 To override the default _m_o_r_e_p_r_o_c and the  
profile  entry,  use  the
+                 `-moreproc program'  switch.   Note  that  _m_h_l  will  
never start a
+                 _m_o_r_e_p_r_o_c if invoked on a hardcopy terminal.
+
+                 The `-length length' and `-width width'  switches  set  the  
screen
+                 length  and width, respectively.  These default to the values 
indi-
+                 cated by $TERMCAP, if appropriate, otherwise they default to 
40 and
+                 80, respectively.
+
+                 The default format file used by _m_h_l is called 
_m_h_l._f_o_r_m_a_t (which  is
+                 first  searched  for in the user's _M_H directory, and then 
sought in
+                 the /_u_s_r/_b_s/_m_h-_6._8/_l_i_b directory), 
this can be changed by using the
+                 `-form formatfile' switch.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -48-                            
MHL(1)
+
+
+                 Finally, the `-folder +folder' switch  sets  the  _M_H  
folder  name,
+                 which  is  used  for the "messagename:" field described 
below.  The
+                 envariable $mhfolder is consulted  for  the  default  value,  
which
+                 _s_h_o_w, _n_e_x_t, and _p_r_e_v initialize 
appropriately.
+
+                 _M_h_l operates in two phases: 1) read and parse the 
format file,  and
+                 2)  process  each  message  (file).   During  phase  1, an 
internal
+                 description of the format is produced as  a  structured  
list.   In
+                 phase  2,  this list is walked for each message, outputting 
message
+                 information under the format constraints from the format file.
+
+                 The "mhl.format" form file contains information controlling  
screen
+                 clearing,  screen size, wrap-around control, transparent 
text, com-
+                 ponent ordering, and component formatting.  Also, a  list  of 
 com-
+                 ponents  to ignore may be specified, and a couple of 
"special" com-
+                 ponents are defined to provide added functionality.  Message 
output
+                 will be in the order specified by the order in the format 
file.
+
+                 Each line of mhl.format has one of the formats:
+
+                      ;comment
+                      :cleartext
+                      variable[,variable...]
+                      component:[variable,...]
+
+                 A line beginning with a `;' is a comment, and is ignored.   A 
 line
+                 beginning with a `:' is clear text, and is output exactly as 
is.  A
+                 line containing only a `:' produces a blank line in the 
output.   A
+                 line  beginning with "component:" defines the format for the 
speci-
+                 fied component, and finally,  remaining  lines  define  the  
global
+                 environment.
+
+                 For example, the line:
+
+                      
width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
+
+                 defines the screen size to be 80 columns by 40 rows, 
specifies that
+                 the screen should be cleared prior to each page, that the  
overflow
+                 indentation  is  5,  and  that overflow text should be 
flagged with
+                 "***".
+
+                 Following are all of the current variables and their 
arguments.  If
+                 they  follow a component, they apply only to that component, 
other-
+                 wise, their affect is global.  Since the  whole  format  is  
parsed
+                 before  any output processing, the last global switch setting 
for a
+                 variable applies to the whole message if that variable is 
used in a
+                 global context (i.e., bell, clearscreen, width, length).
+
+                      _v_a_r_i_a_b_l_e       _t_y_p_e       
_s_e_m_a_n_t_i_c_s
+                      width          integer    screen width or component width
+                      length         integer    screen length or component 
length
+                      offset         integer    positions to indent 
"component: "
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -49-                            
MHL(1)
+
+
+                      overflowtext   string     text to use at the beginning 
of an
+                                                overflow line
+                      overflowoffset integer    positions to indent overflow 
lines
+                      compwidth      integer    positions to indent component 
text
+                                                after the first line is output
+                      uppercase      flag       output text of this component 
in all
+                                                upper case
+                      nouppercase    flag       don't uppercase
+                      clearscreen    flag/G     clear the screen prior to each 
page
+                      noclearscreen  flag/G     don't clearscreen
+                      bell           flag/G     ring the bell at the end of 
each page
+                      nobell         flag/G     don't bell
+                      component      string/L   name to use instead of 
"component" for
+                                                this component
+                      nocomponent    flag       don't output "component: " for 
this
+                                                component
+                      center         flag       center component on line 
(works for
+                                                one-line components only)
+                      nocenter       flag       don't center
+                      leftadjust     flag       strip off leading whitespace 
on each
+                                                line of text
+                      noleftadjust   flag       don't leftadjust
+                      compress       flag       change newlines in text to 
spaces
+                      nocompress     flag       don't compress
+                      split          flag       don't combine multiple fields 
into a single field
+                      nosplit        flag       combine multiple fields into a 
single field
+                      newline        flag       print newline at end of 
components (default)
+                      nonewline      flag       don't print newline at end of 
components
+                      formatfield    string     format string for this 
component (see below)
+                      addrfield      flag       field contains addresses
+                      datefield      flag       field contains dates
+
+                 To specify the value of integer-valued and string-valued 
variables,
+                 follow   their   name   with   an   equals-sign   and   the  
value.
+                 Integer-valued  variables   are   given   decimal   values,   
while
+                 string-valued  variables  are  given  arbitrary  text  
bracketed by
+                 double-quotes.  If a value is suffixed by "/G" or  "/L",  
then  its
+                 value  is  useful  in  a global-only or local-only context 
(respec-
+                 tively).
+
+                 A line of the form:
+
+                     ignores=component,...
+
+                 specifies a list of components which are never output.
+
+                 The component  "MessageName"  (case-insensitive)  will  
output  the
+                 actual  message name (file name) preceded by the folder name 
if one
+                 is specified or found in the environment.  The format is  
identical
+                 to that produced by the `-header' option to _s_h_o_w.
+
+                 The component "Extras" will output all of  the  components  
of  the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -50-                            
MHL(1)
+
+
+                 message  which were not matched by explicit components, or 
included
+                 in the ignore list.  If this component is not specified, an  
ignore
+                 list  is  not  needed  since  all  non-specified components 
will be
+                 ignored.
+
+                 If "nocomponent" is NOT specified, then the component name 
will  be
+                 output as it appears in the format file.
+
+                 The default format is:
+
+                      : -- using template mhl.format --
+                      overflowtext="***",overflowoffset=5
+                      leftadjust,compwidth=9
+                      ignores=msgid,message-id,received
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(pretty{text})%>"
+                      To:
+                      cc:
+                      :
+                      From:
+                      Subject:
+                      :
+                      extras:nocomponent
+                      :
+                      
body:nocomponent,overflowtext=,overflowoffset=0,noleftadjust
+
+                 The  variable  "formatfield"  specifies  a   format   string  
 (see
+                 _m_h-_f_o_r_m_a_t (5)).   The  flag  variables  
"addrfield" and "datefield"
+                 (which are mutually exclusive), tell _m_h_l to interpret  
the  escapes
+                 in the format string as either addresses or dates, 
respectively.
+
+                 By default, _m_h_l does not apply any formatting string to 
fields con-
+                 taining  address  or  dates  (see  _m_h-_m_a_i_l (5)  
for a list of these
+                 fields).  Note that this results in faster operation since 
_m_h_l must
+                 parse both addresses and dates in order to apply a format 
string to
+                 them.  If desired, _m_h_l can be given a  default  format  
string  for
+                 either  address  or  date  fields (but not both).  To do 
this, on a
+                 global line specify: either the flag addrfield or datefield,  
along
+                 with the apropriate formatfield variable string.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/mhl.format        The message template
+                 or <mh-dir>/mhl.format               Rather than the standard 
template
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 moreproc:            Program to use as interactive front-end
+
+
+            _S_e_e _A_l_s_o
+                 show(1), ap(8), dp(8)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -51-                            
MHL(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-bell'
+                 `-noclear'
+                 `-length 40'
+                 `-width 80'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 There should be some way to pass `bell' and `clear' 
information  to
+                 the front-end.
+
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+                 The "nonewline" option interacts badly with "compress" and 
"split".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHMAIL(1)                         -52-                         
MHMAIL(1)
+
+
+            _N_A_M_E
+                 mhmail - send or read mail
+
+            _S_Y_N_O_P_S_I_S
+                 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+                      [-subject subject]] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_H_m_a_i_l is intended as a replacement for the 
standard Bell mail pro-
+                 gram  (_b_e_l_l_m_a_i_l (1)),  compatible  with  
_M_H.   When invoked without
+                 arguments, it simply invokes _i_n_c (1) to  incorporate  
new  messages
+                 from  the  user's maildrop.  When one or more users is 
specified, a
+                 message is read from the standard input and spooled to a  
temporary
+                 file.   _M_H_m_a_i_l then invokes _p_o_s_t (8) with 
the name of the temporary
+                 file as its argument to deliver the message to the specified 
user.
+
+                 The `-subject subject' switch can be used to specify the 
"Subject:"
+                 field  of  the  message.   The  `-body text'  switch can be 
used to
+                 specify the text of the message; if it is specified, then the 
stan-
+                 dard input is not read.  Normally, addresses appearing as 
arguments
+                 are put in the "To:" field.  If  the  `-cc'  switch  is  
used,  all
+                 addresses following it are placed in the "cc:" field.
+
+                 By using `-from addr', you can specify the "From:"  header  
of  the
+                 draft.    Naturally,   _p_o_s_t   will  fill-in  the  
"Sender:"  header
+                 correctly.
+
+                 This program is intended for the use of programs  such  as  
_a_t (1),
+                 which  expect  to  send  mail automatically to various users. 
 Nor-
+                 mally, real people (as opposed to the "unreal" ones) will 
prefer to
+                 use _c_o_m_p (1) and _s_e_n_d (1) to send messages.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/bin/inc               Program to incorporate a 
maildrop into a folder
+                 /usr/bs/mh-6.8/lib/post              Program to deliver a 
message
+                 /tmp/mhmail*                         Temporary copy of message
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHMAIL(1)                         -53-                         
MHMAIL(1)
+
+
+            _C_o_n_t_e_x_t
+                 If _i_n_c is invoked, then _i_n_c's context changes 
occur.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -54-                            
MHN(1)
+
+
+            _N_A_M_E
+                 mhn - multi-media MH
+
+            _S_Y_N_O_P_S_I_S
+                 mhn [+folder] [msgs] [-part number]... [-type content]...
+                      [-list [-headers] [-noheaders]
+                             [-realsize] [-norealsize]] [-nolist]
+                      [-show [-serialonly] [-noserialonly]]
+                             [-form formfile]] [-noshow]
+                      [-store [-auto] [-noauto]] [-nostore]
+                      [-verbose] [-noverbose] [-rfc934mode] [-norfc934mode]
+                      [-ebcdicsafe] [-noebcdicsafe]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _m_h_n command manipulates multi-media messages  as  
specified  in
+                 RFC 1341.
+
+                 Three action switches direct the operation of _m_h_n, 
namely  `-list',
+                 `-show',  and  `-store'.   Any  of  these switches may be 
used con-
+                 currently.  Normally these action switches will operate on 
the con-
+                 tent  of each of the named messages.  However, by using the 
`-part'
+                 and `-type' switches, the scope of the operation can be 
focused  on
+                 particular subparts (of a multipart content) and/or 
particular con-
+                 tent types.
+
+                 A part specification consists of a series of numbers  
separated  by
+                 dots.   For example, in a multipart content containing three 
parts,
+                 these would be named as 1, 2, and 3, respectively.  If part  
2  was
+                 also a multipart content containing two parts, these would be 
named
+                 as 2.1 and 2.2, respectively.  Note  that  the  `-part'  
switch  is
+                 effective  for  only messages containing a multipart content. 
 If a
+                 message has some other kind of content, or if the  part  is  
itself
+                 another  multipart content, the `-part' switch will not 
prevent the
+                 content from being acted upon.
+
+                 A content specification consists of a content type and  a  
subtype.
+                 The  initial  list  of "standard" content types and subtypes 
can be
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -55-                            
MHN(1)
+
+
+                 found in RFC 1341.  A list of commonly  used  contents  is  
briefly
+                 reproduced here:
+
+                      Type         Subtypes
+                      ----         --------
+                      text         plain, richtext
+                      multipart    mixed, alternative, digest, parallel
+                      message      rfc822, partial, external-body
+                      application  octet-stream, oda, postscript
+                      image        jpeg, gif, x-pbm, x-pgm, x-ppm, x-xwd
+                      audio        basic
+                      video        mpeg
+
+                 Subtypes are mandatory.  To specify a content,  regardless  
of  its
+                 subtype,  just  use  the  name  of  the content, e.g., 
"audio".  To
+                 specify a specific subtype, separate the two with  a  slash,  
e.g.,
+                 "audio/basic".   Note  that  regardless  of the values given 
to the
+                 `-type' switch, a multipart content is always acted upon.   
Further
+                 note that if the `-type' switch is used, and it is desirable 
to act
+                 on a message/external-body content, then the `-type' switch 
must be
+                 used twice: once for message/external-body and once for the 
content
+                 externally referenced.
+
+
+              _L_i_s_t_i_n_g _t_h_e _C_o_n_t_e_n_t_s
+
+                 The `-list' switch tells _m_h_n to list the table of 
contents  associ-
+                 ated with the named messages.  The `-headers' switch 
indicates that
+                 a one-line banner should  be  displayed  above  the  listing. 
  The
+                 `-realsize'  switch  tells  _m_h_n  to evaluate the 
"native" (decoded)
+                 format of each content prior to listing.  This provides an 
accurate
+                 count at the expense of a small delay.
+
+
+              _S_h_o_w_i_n_g _t_h_e _C_o_n_t_e_n_t_s
+
+                 The `-show' switch tells _m_h_n to display the contents of 
 the  named
+                 messages.   The  headers  of  the  message  are  displayed 
with the
+                 _m_h_l_p_r_o_c, using format file 
_m_h_l._h_e_a_d_e_r_s.  (The choice of format file
+                 can be overridden by the `-form formfile' switch.)
+
+                 _m_h_n will look for information in the user's  profile  
to  determine
+                 how  the  different  contents  should be displayed.  This is 
accom-
+                 plished by consulting a display  string,  and  executing  it  
under
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -56-                            
MHN(1)
+
+
+                 /bin/sh,  with  the standard input set to the content.  The 
display
+                 string may contain these escapes:
+
+                      %a  additional arguments
+                      %e  exclusive execution
+                      %f  filename containing content
+                      %F  %e, %f, and stdin is terminal not content
+                      %l  display listing prior to displaying content
+                      %p  %l, and ask for confirmation
+                      %s  subtype
+
+                 For those display strings containing the e- or F-escape,  
_m_h_n  will
+                 execute  at  most  one of these at any given time.  Although 
the F-
+                 escape expands to be the filename containing the  content,  
the  e-
+                 escape has no expansion as far as the shell is concerned.
+
+                 When the p-escape prompts for confirmation,  typing  INTR  
(usually
+                 control-C)  will  tell  _m_h_n  not to display that 
content.  Further,
+                 when _m_h_n is display a content, typing QUIT (usually 
control-\) will
+                 tell _m_h_n to wrap things up immediately.
+
+                 First, _m_h_n will look for an entry of the form:
+
+                      mhn-show-<type>/<subtype>
+
+                 to determine the command to use to display the  content.   If 
 this
+                 isn't found, _m_h_n will look for an entry of the form:
+
+                      mhn-show-<type>
+
+                 to determine the display command.  If this isn't found, 
_m_h_n has two
+                 default values:
+
+                      mhn-show-text/plain: %pmoreproc '%F'
+                      mhn-show-message/rfc822: %pshow -file '%F'
+
+                 If neither apply, _m_h_n will check  to  see  if  the  
message  has  a
+                 application/octet-stream content with parameter "type=tar".  
If so,
+                 _m_h_n will use an appropriate command.  If not, _m_h_n 
will complain.
+
+                 Example entries might be:
+
+                      mhn-show-audio/basic: raw2audio 2>/dev/null | play
+                      mhn-show-image: xv '%f'
+                      mhn-show-application/PostScript: lpr -Pps
+
+                 Note that when using the f- or F-escape, it's a good  idea  
to  use
+                 single-quotes  around  the escape.  This prevents 
misinterpretation
+                 by the shell of any funny characters that might be present  
in  the
+                 filename.
+
+                 Because the text content might be in  a  non-ASCII  character 
 set,
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -57-                            
MHN(1)
+
+
+                 when  _m_h_n  encounters  a  "charset"  parameter for this 
content, it
+                 checks to see whether the environment variable $MM_CHARSET  
is  set
+                 and  whether the value of this environment variable is equal 
to the
+                 value of the charset parameter.  If not, then _m_h_n will 
look for  an
+                 entry of the form:
+
+                      mhn-charset-<charset>
+
+                 which should contain a command creating an  environment  to  
render
+                 the  character set.  This command string should containing a 
single
+                 "%s", which will be filled-in with the command to display the 
 con-
+                 tent.
+
+                 An example entry might be:
+
+                      mhn-charset-iso-8859-1: xterm  -fn  
'-*-*-medium-r-normal-*-*-
+                      120-*-*-c-*-iso8859-*' -e %s
+
+                 Note that many pagination programs strip off  the  high-order 
 bit.
+                 However, newer releases of the _l_e_s_s program have 
modest support for
+                 single-octet character sets.  The source to _l_e_s_s 
version 177, which
+                 has   such   support,   is  found  in  the  MH  source  tree  
under
+                 miscellany/less-177.  In order to view messages  sent  in  
the  ISO
+                 8859/1  character  set  using  _l_e_s_s, put these lines 
in your .login
+                 file:
+
+                      setenv LESSCHARSET latin1
+                      setenv LESS "-f"
+
+                 The first line tells _l_e_s_s to use 8859/1  definition  
for  determing
+                 whether  a  character  is  "normal",  "control",  or 
"binary".  The
+                 second line tells _l_e_s_s not to warn you if it 
encounters a file that
+                 has  non-ASCII  characters.   Then, simply set the moreproc 
profile
+                 entry to _l_e_s_s, and it will get called  automatically. 
  (To  handle
+                 other  single-octet  character  sets,  look  at the 
_l_e_s_s (1) manual
+                 entry for information about the LESSCHARDEF environment 
variable.)
+
+                 Finally, _m_h_n will process each message serially -- it  
won't  start
+                 showing the next message until all the commands executed to 
display
+                 the current message have terminated.  In the case  of  a  
multipart
+                 content, the content contains advice indicating if the parts 
should
+                 be displayed serially or in parallel.  Because this may cause 
 con-
+                 fusion,  particularly  on  uni-window  displays,  the 
`-serialonly'
+                 switch can be given to tell _m_h_n to never display parts 
in parallel.
+
+
+              _S_t_o_r_i_n_g _t_h_e _C_o_n_t_e_n_t_s
+
+                 The `-store' switch tells _m_h_n to store the contents  of 
 the  named
+                 messages  in  "native" (decoded) format.  Two things must be 
deter-
+                 mined: the directory to  store  the  content,  and  the  
filenames.
+                 Files are written in the directory given by the mhn-storage 
profile
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -58-                            
MHN(1)
+
+
+                 entry, e.g.,
+
+                      mhn-storage: /tmp
+
+                 If this entry isn't present, the current working directory is 
used.
+
+                 _m_h_n will look for information in the user's  profile  
to  determine
+                 how  the  different  contents  should  be stored.  This is 
achieved
+                 through the use of a formatting string,  which  may  contain  
these
+                 escapes:
+
+                      %m  message number
+                      %P  .part
+                      %p  part
+                      %s  subtype
+
+                 If the content isn't part of a multipart content, the 
p-escapes are
+                 ignored.   Note  that  if  the  formatting string starts with 
a "+"
+                 character, then these escapes  are  ignored,  and  the  
content  is
+                 stored in the named folder.  (A formatting string consisting 
solely
+                 of a "+" character indicates the current folder.) Further,  a 
 for-
+                 matting  string  consisting solely of a "-" character 
indicates the
+                 standard-output.
+
+                 First, _m_h_n will look for an entry of the form:
+
+                      mhn-store-<type>/<subtype>
+
+                 to determine the formatting string.  If this isn't found, 
_m_h_n  will
+                 look for an entry of the form:
+
+                      mhn-store-<type>
+
+                 to determine the formatting string.  If this isn't found, 
_m_h_n  will
+                 check to see if the content is application/octet-stream with 
param-
+                 eter "type=tar".  If so, _m_h_n will choose an  
appropriate  filename.
+                 If the content is not application/octet-stream, then 
_m_h_n will check
+                 to see if the content is a message.  If so, _m_h_n will 
use the  value
+                 "+".  If not, _m_h_n will use the value "%m%P.%s".
+
+                 Note that if the formatting string starts with a '/', then  
content
+                 will  be stored in the full path given (rather than using the 
value
+                 of mhn-storage or the current working directory.) Similarly, 
if the
+                 formatting  string  starts with a '|', then _m_h_n will 
execute a com-
+                 mand which should ultimately store the content.  Note  that  
before
+                 executing  the  command,  _m_h_n will change to the 
appropriate direc-
+                 tory.  Also note that if the formatting string starts with  a 
 '|',
+                 then  _m_h_n  will also honor the a-escape when processing 
the format-
+                 ting string.
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -59-                            
MHN(1)
+
+
+                 Example entries might be:
+
+                      mhn-store-text: %m%P.txt
+                      mhn-store-audio/basic: | raw2audio -e ulaw -s 8000 -c 1 
> %m%P.au
+                      mhn-store-application/PostScript: %m%P.ps
+
+                 Further, note that when asked to store a content containing a 
 par-
+                 tial  message,  _m_h_n will try to locate all of the 
portions and com-
+                 bine them accordingly.  Thus, if someone's sent you  a  
message  in
+                 several parts, you might put them all in their own folder and 
do:
+
+                      mhn all -store
+
+                 This will store exactly one message,  containing  the  sum  
of  the
+                 parts.   Note  that  if  _m_h_n  can not locate each part, 
it will not
+                 store anything.
+
+                 Finally, if the `-auto' switch is given and  the  content  
contains
+                 information indicating the filename the content should be 
stored as
+                 (and if the filename doesn't begin with a '/'), then  the  
filename
+                 from the content will be used instead.
+
+
+              _E_x_t_e_r_n_a_l _A_c_c_e_s_s
+
+                 For contents of  type  message/external-body,  _m_h_n  
supports  these
+                 access-types:
+
+                      afs
+                      anon-ftp
+                      ftp
+                      local-file
+                      mail-server
+
+                 If your system supports a SOCKETs interface  to  TCP/IP,  
then  _m_h_n
+                 will  use  a built-in FTP client.  Otherwise, _m_h_n will 
look for the
+                 mhn-access-ftp profile entry, e.g.,
+
+                      mhn-access-ftp: myftp.sh
+
+                 to  determine  the  pathname  of  a  program  to  perform  
the  FTP
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -60-                            
MHN(1)
+
+
+                 retrieval.  This program is invoked with these arguments:
+
+                      domain name of FTP-site
+                      username
+                      password
+                      remote directory
+                      remote filename
+                      local filename
+                      "ascii" or "binary"
+
+                 The program should terminate with a zero-valued exit-status 
if  the
+                 retrieval is success.
+
+
+              _T_h_e _C_o_n_t_e_n_t _C_a_c_h_e
+
+                 When _m_h_n encounters an external content containing a  
"Content-ID:"
+                 field,  and  if  the content allows caching, then _m_h_n 
looks for the
+                 profile entry mhn-cache to determine if the content should be 
 read
+                 from/written to a cache.  Any content written to the cache 
will, by
+                 default, be world-readable.  (To prevent this, use a 
directory name
+                 with  the desired read and execute permissions.) The 
mhn-cache pro-
+                 file entry names the directory used for caching, e.g.,
+
+                      mhn-cache: /tmp
+
+                 might be used if you didn't care that the  cache  got  wiped  
after
+                 each reboot of the system.
+
+
+              _C_o_m_p_o_s_i_n_g _t_h_e _C_o_n_t_e_n_t_s
+
+                 The _m_h_n program can also be used as a simple editor to 
aid in  com-
+                 posing  multi-media  messages.   When invoked by a 
_w_h_a_t_n_o_w program,
+                 _m_h_n will expect the body of the draft to be formatted  
as  an  "_m_h_n
+                 composition file."
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -61-                            
MHN(1)
+
+
+                 The syntax of this is straight-forward:
+
+                         body         ::=     1*(content | EOL)
+
+                         content      ::=     directive | plaintext
+
+                         directive    ::=     "#" type "/" subtype
+                                                  0*(";" attribute "=" value)
+                                                  [ "(" comment ")" ]
+                                                  [ "[" description "]" ]
+                                                  [ filename ]
+                                                  EOL
+
+                                            | "#@" type "/" subtype
+                                                  0*(";" attribute "=" value)
+                                                  [ "(" comment ")" ]
+                                                  [ "[" description "]" ]
+                                                  external-parameters
+                                                  EOL
+
+                                            | "#forw"
+                                                  [ "[" description "]" ]
+                                                  [ "+"folder ] [ 0*msg ]
+                                                  EOL
+
+                                            | "#begin"
+                                                    [ "[" description "]" ]
+                                                    [   "alternative"
+                                                      | "parallel"    ]
+                                                    EOL
+                                                  1*body
+                                              "#end" EOL
+
+                         plaintext    ::=     [ "Content-Description:"
+                                                    description EOL EOL ]
+                                                  1*line
+                                              [ "#" EOL ]
+
+                                            | "#<" type "/" subtype
+                                                  0*(";" attribute "=" value)
+                                                  [ "(" comment ")" ]
+                                                  [ "[" description "]" ]
+                                                  EOL
+                                                  1*line
+                                              [ "#" EOL ]
+
+                         line         ::=     "##" text EOL
+                                              -- interpreted as "#"text EOL
+                                            | text EOL
+
+                 Basically, the body contains one or more contents.  A content 
 con-
+                 sists  of  either  a  directive,  indicated with a "#" as the 
first
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -62-                            
MHN(1)
+
+
+                 character of a line; or, plaintext (one or  more  lines  of  
text).
+                 The  continuation  character,  "\",  may  be used to enter a 
single
+                 directive on more than one line, e.g.,
+
+                      address@hidden/octet-stream; \
+                          type=tar; \
+                          conversions=x-compress
+
+                 There are four kinds of directives: "type" directives,  which 
 name
+                 the  type  and  subtype of the content; "external-type" 
directives,
+                 which also name the type and subtype of  the  content;  the  
"forw"
+                 directive,  which is used to forward a digest of messages; 
and, the
+                 "begin" directive, which is used to create a multipart 
content.
+
+                 For the type directives, the user may optionally specify  the 
 name
+                 of  a  file  containing  the contents in "native" (decoded) 
format.
+                 (If the filename starts with the "|" character, then this  
gives  a
+                 command whose output is captured accordingly.) If a filename 
is not
+                 given, _m_h_n will look for  information  in  the  user's  
profile  to
+                 determine  how  the different contents should be composed.  
This is
+                 accomplished by consulting a composition string, and  
executing  it
+                 under  /bin/sh,  with  the standard output set to the 
content.  The
+                 composition string may contain these escapes:
+
+                      %a  additional arguments
+                      %f  filename containing content
+                      %F  %f, and stdout is not re-directed
+                      %s  subtype
+
+                 First, _m_h_n will look for an entry of the form:
+
+                      mhn-compose-<type>/<subtype>
+
+                 to determine the command to use to compose the  content.   If 
 this
+                 isn't found, _m_h_n will look for an entry of the form:
+
+                      mhn-compose-<type>
+
+                 to determine the composition command.  If  this  isn't  
found,  _m_h_n
+                 will complain.
+
+                 An example entry might be:
+
+                      mhn-compose-audio/basic: record | raw2audio -F
+
+                 Because commands like these will vary,  depending  on  the  
display
+                 environment  used for login, composition strings for 
different con-
+                 tents should probably be put in the  file  specified  by  the 
 $MHN
+                 environment variable, instead of directly in your user 
profile.
+
+                 The external-type directives are used to provide a reference  
to  a
+                 content, rather than enclosing the contents itself.  Hence, 
instead
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -63-                            
MHN(1)
+
+
+                 of providing a filename as  with  the  type  directives,  
external-
+                 parameters  are  supplied.   These look like regular 
parameters, so
+                 they must be separated accordingly, e.g.,
+
+                      address@hidden/octet-stream; \
+                          type=tar; \
+                          conversions=x-compress [] \
+                          access-type=anon-ftp; \
+                          name="mh-mime.tar.Z"; \
+                          directory="mrose/mh-mime"; \
+                          site="ftp.ics.uci.edu"
+
+                 By specifying "[]", an empty description string is given,  
and  the
+                 start  of  the external-parameters is identified.  These 
parameters
+                 are of the form:
+
+                      access-type=  usually _a_n_o_n-_f_t_p or 
_m_a_i_l-_s_e_r_v_e_r
+                      name=         filename
+                      directory=    directoryname (optional)
+                      site=         hostname
+                      mode=         usually _a_s_c_i_i or _i_m_a_g_e 
(optional)
+                      server=       mailbox
+                      body=         command to send for retrieval
+
+
+                 For the forw directive, the user may optionally specify the 
name of
+                 the  folder and which messages are to be forwarded.  if a 
folder is
+                 not given, it defaults to the current folder.  Similarly, if 
a mes-
+                 sage  is not given, it defaults to the current message.  
Hence, the
+                 forw directive is similar to the _f_o_r_w (1) command, 
except that  the
+                 former  uses  the  MIME  rules  for encapsulation rather than 
those
+                 specified in RFC 934.  Usage of the `-rfc934mode' switch  
indicates
+                 whether  _m_h_n  should  attempt to utilize the 
encapsulation rules in
+                 such a way as to appear that RFC 934 is being used.  If 
given, then
+                 RFC  934-compliant  user-agents should be able to burst the 
message
+                 on reception -- providing that the messages being  
encapsulated  do
+                 not contain encapsulated messages themselves.  The drawback 
of this
+                 approach is that the encapsulations are  generated  by  
placing  an
+                 extra newline at the end of the body of each message.
+
+                 For the begin directive, the user must specify at least one 
content
+                 between the begin and end pairs.
+
+                 For all of these directives, the user may include a brief  
descrip-
+                 tion  of  the content between the "[" character and the "]" 
charac-
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -64-                            
MHN(1)
+
+
+                 ter.  Putting this all together, here is a brief example of 
what  a
+                 user's components file might look like:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+                      #audio/basic [Flint phone]  \
+                          |raw2audio -F < /home/mrose/lib/multi-media/flint.au
+                      #image/gif   [MTR's photo] \
+                                          /home/mrose/lib/multi-media/mrose.gif
+
+                 For a later example, we'll call this components file 
_m_h_n_c_o_m_p_s.
+
+                 As noted earlier, in  addition  to  directives,  plaintext  
can  be
+                 present.   Plaintext is gathered, until a directive is found 
or the
+                 draft is exhausted, and this is made to form a  text  
content.   If
+                 the plaintext must contain a "#" at the beginning of a line, 
simply
+                 double it, e.g.,
+
+                      ##when sent, this line will start with only one #
+
+                 If you want to end the plaintext prior to  a  directive,  
e.g.,  to
+                 have two plaintext contents adjacent, simply insert a line 
contain-
+                 ing a single "#" character, e.g.,
+
+                      this is the first content
+                      #
+                      and this is the second
+
+                 Finally, if the plaintext starts with a line of the form:
+
+                      Content-Description: text
+
+                 then this will be used to describe  the  plaintext  content.  
 NOTE
+                 WELL:  you  must follow this line with a blank line before 
starting
+                 your text.
+
+                 By default, plaintext is captured as a text/plain content.  
You can
+                 override  this  by  starting  the plaintext with "#<" 
followed by a
+                 content-type specification, e.g.,
+
+                      #<text/richtext
+                      this content will be tagged as text/richtext
+                      #
+                      and this content will be tagged as text/plain
+
+                 Note that if you use the "#<"  plaintext-form,  then  the  
content-
+                 description  must  be on the same line which identifies the 
content
+                 type of the plaintext.
+
+                 If _m_h_n is successful, it renames the original draft to  
start  with
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -65-                            
MHN(1)
+
+
+                 the "," character and end with the string ".orig", e.g., if 
you are
+                 editing the file "draft", it  will  be  renamed  to  
",draft.orig".
+                 This allows you to easily recover the _m_h_n composition 
file.
+
+
+              _A_u_t_o_m_a_t_i_c _C_o_m_p_o_s_i_t_i_o_n
+
+                 Note that MH will not invoke _m_h_n automatically, unless 
you add this
+                 line to your .mh_profile file:
+
+                      automhnproc: mhn
+
+                 Otherwise, you must specifically give the command
+
+                      What now? edit mhn
+
+                 prior to sending the draft.
+
+                 You can easily tailor MH to help you remember to do this.   
Suppose
+                 you have these lines in your profile:
+
+                      mcomp:          -editor mprompter -form mhncomps
+                      mprompter:      -noprepend -norapid
+                      mprompter-next: mhn
+
+                 where _m_c_o_m_p is a link to _c_o_m_p (1),  and  
_m_p_r_o_m_p_t_e_r  is  a  link  to
+                 _p_r_o_m_p_t_e_r (1).  Then to send a message using 
the _m_h_n_c_o_m_p_s components
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -66-                            
MHN(1)
+
+
+                 file above, the sequence is:
+
+                      % mcomp
+                      To: address@hidden
+                      cc:
+                      Subject: multi-media message
+                      --------
+                      #audio/basic [Flint phone]  \
+                          |raw2audio -F < /home/mrose/lib/multi-media/flint.au
+                      #image/gif   [MTR's photo] \
+                                          /home/mrose/lib/multi-media/mrose.gif
+
+                      --------Enter additional text
+
+                      This message contains three contents.
+                      <CTRL-D>
+                      --------
+
+                      What now? edit (this invokes _m_h_n)
+
+                      What now? send
+
+                 You have to remember to type the additional edit  command,  
but  it
+                 should be fairly obvious from the interaction.
+
+                 Finally, you should consider adding this line to your profile:
+
+                      lproc: show
+
+                 This way, if you decide to list after invoking _m_h_n as 
your  editor,
+                 the command
+
+                      What now? list
+
+                 will work as you expect.
+
+
+              _S_e_n_d_i_n_g _F_i_l_e_s _v_i_a _M_a_i_l
+
+                 When you want to send a bunch of files to someone, you can 
run  the
+                 _v_i_a_m_a_i_l shell script, which is similar the 
tarmail command:
+
+                      /usr/bs/mh-6.8/lib/viamail mailpath "subject" files ...
+
+                 _v_i_a_m_a_i_l will archive the directories/files you 
name  with  _t_a_r (1),
+                 and  then  mail  the  compressed archive to the `mailpath' 
with the
+                 given `subject'.  The archive will be automatically split  up 
 into
+                 as many messages as necessary in order to get past most 
mailers.
+
+                 Sometimes you want _v_i_a_m_a_i_l to pause after 
posting  a  partial  mes-
+                 sage.   This  is usually the case when you are running 
_s_e_n_d_m_a_i_l and
+                 expect to generate  a  lot  of  partial  messages.   If  the  
first
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -67-                            
MHN(1)
+
+
+                 argument  given  to  _v_i_a_m_a_i_l  starts with a 
dash, then it is inter-
+                 preted as the number of seconds to pause in between postings, 
e.g.,
+
+                      /usr/bs/mh-6.8/lib/viamail -300 mailpath "subject" files 
...
+
+                 will pause 5 minutes in between each posting.
+
+                 When these messages are received, invoke _m_h_n once, with 
the list of
+                 messages,  and  the  `-store'  command.   The _m_h_n 
program will then
+                 store exactly one message containing the archive.  You can 
then use
+                 `-show'  to  find out what's inside; possibly  followed by 
`-store'
+                 to  write  the  archive  to  a  file  where  you  can  
subsequently
+                 uncompress and untar it, e.g.,
+
+                      % mhn -list all
+                       msg part  type/subtype             size description
+                         1       message/partial           47K part 1 of 4
+                         2       message/partial           47K part 2 of 4
+                         3       message/partial           47K part 3 of 4
+                         4       message/partial           18K part 4 of 4
+                      % mhn -store all
+                      % mhn -list -verbose last
+                       msg part  type/subtype             size description
+                         5       application/octet-stream 118K
+                                   (extract with uncompress | tar xvpf -)
+                                   type=tar
+                                   conversions=x-compress
+                      % mhn -show last
+                       msg part  type/subtype             size description
+                         5       application/octet-stream 118K
+                      -- headers of message, followed by _t_a_r listing 
appears here
+                      % mhn -store last
+                      % uncompress < 5.tar.Z | tar xvpf -
+
+                 Alternately, by using the `-auto' switch, _m_h_n will 
automatically do
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -68-                            
MHN(1)
+
+
+                 the extraction for you, e.g.,
+
+                      % mhn -list all
+                       msg part  type/subtype             size description
+                         1       message/partial           47K part 1 of 4
+                         2       message/partial           47K part 2 of 4
+                         3       message/partial           47K part 3 of 4
+                         4       message/partial           18K part 4 of 4
+                      % mhn -store all
+                      % mhn -list -verbose last
+                       msg part  type/subtype             size description
+                         5       application/octet-stream 118K
+                                   (extract with uncompress | tar xvpf -)
+                                   type=tar
+                                   conversions=x-compress
+                      % mhn -show last
+                       msg part  type/subtype             size description
+                         5       application/octet-stream 118K
+                      -- headers of message, followed by _t_a_r listing 
appears here
+                      % mhn -store -auto last
+                      -- _t_a_r listing appears here as files are extracted
+
+                 As the second _t_a_r listing is generated, the files are 
extracted.  A
+                 prudent  user  will never put `-auto' in the .mh_profile 
file.  The
+                 correct procedure is to first use `-show', to find out what 
will be
+                 extracted.   Then  _m_h_n can be invoked with  `-store' 
and `-auto' to
+                 perform the extraction.
+
+
+              _U_s_e_r _E_n_v_i_r_o_n_m_e_n_t
+
+                 Because the display environment in which _m_h_n operates 
may vary  for
+                 a  user,  _m_h_n  will  look  for  the  environment 
variable $MHN.  If
+                 present, this specifies the name  of  an  additional  user  
profile
+                 which  should  be read.  Hence, when a user logs in on a 
particular
+                 display device, this environment variable should be set to 
refer to
+                 a  file containing definitions useful for the display device. 
 Nor-
+                 mally, only entries of the form
+
+                      mhn-show-<type>/<subtype>
+                      mhn-show-<type>
+
+                 need be present.  Finally, _m_h_n will attempt to  consult 
 one  other
+                 additional user profile, e.g.,
+
+                      /usr/bs/mh-6.8/lib/mhn_defaults
+
+                 which is created automatically during MH installation.
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHN(1)                            -69-                            
MHN(1)
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 $MHN                                 Additional profile 
entries
+                 /usr/bs/mh-6.8/lib/mhn_defaults      System-default profile 
entries
+                 /usr/bs/mh-6.8/lib/mhl.headers       The headers template
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 mhlproc:             Default program to display message 
headers
+                 mhn-access-ftp:      Program to retrieve contents via FTP
+                 mhn-cache            Directory to store cached external 
contents
+                 mhn-charset-<charset>Template for environment to  render  
character
+                 sets
+                 mhn-compose-<type>*  Template for composing contents
+                 mhn-show-<type>*     Template for displaying contents
+                 mhn-storage          Directory to store contents
+                 mhn-store-<type>*    Template for storing contents
+                 moreproc:            Default program to display text/plain 
content
+
+
+            _S_e_e _A_l_s_o
+                 mhl(1)
+                 _M_I_M_E: _M_e_c_h_a_n_i_s_m_s _f_o_r 
_S_p_e_c_i_f_y_i_n_g _a_n_d _D_e_s_c_r_i_b_i_n_g 
_t_h_e _F_o_r_m_a_t _o_f _I_n_t_e_r-
+                 _n_e_t _M_e_s_s_a_g_e _B_o_d_i_e_s (RFC 1341),
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (RFC 934).
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-noauto'
+                 `-noebcdicsafe'
+                 `-form mhl.headers'
+                 `-headers'
+                 `-realsize'
+                 `-rfc934mode'
+                 `-noserialonly'
+                 `-show'
+                 `-noverbose'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 last
+                 message selected will become the current message.
+
+
+            _B_u_g_s
+                 Partial messages contained  within  a  multipart  content  
are  not
+                 reassembled with the `-store' switch.
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHOOK(1)                          -70-                          
MHOOK(1)
+
+
+            _N_A_M_E
+                 mhook, rcvdist, rcvpack, rcvtty  - MH receive-mail hooks
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/rcvdist [-form formfile] [switches for 
_p_o_s_t_p_r_o_c]
+                      address ...  [-help]
+
+                 /usr/bs/mh-6.8/lib/rcvpack file [-help]
+
+                 /usr/bs/mh-6.8/lib/rcvtty [command] [-form formatfile]
+                      [-format string] [-bell] [-nobell] [-newline] 
[-nonewline]
+                      [-biff] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 A receive-mail hook is a program that is run whenever you 
receive a
+                 mail message.  You do NOT invoke the hook yourself, rather 
the hook
+                 is invoked on your behalf by your system's Message Transport 
Agent.
+                 See _s_l_o_c_a_l (1) for details on how to activate 
receive-mail hooks on
+                 your system.
+
+                 Four programs are  currently  available  as  part  of  
_M_H,  _r_c_v_d_i_s_t
+                 (redistribute  incoming messages to additional recipients), 
_r_c_v_p_a_c_k
+                 (save incoming messages in a _p_a_c_k_f'd file), and 
_r_c_v_t_t_y (notify user
+                 of   incoming  messages).   The  fourth  program,  
_r_c_v_s_t_o_r_e (1)  is
+                 described separately.  They all reside in  the  
/_u_s_r/_b_s/_m_h-_6._8/_l_i_b/
+                 directory.
+
+                 The _r_c_v_d_i_s_t program will resend a copy of the 
message to all of the
+                 addresses  listed  on  its command line.  It uses the format 
string
+                 facility described in _m_h-_f_o_r_m_a_t (5).
+
+                 The _r_c_v_p_a_c_k program will append a copy of the 
message to  the  file
+                 listed  on  its  command  line.  Its use is obsoleted by the 
"file"
+                 action of _s_l_o_c_a_l.
+
+                 The _r_c_v_t_t_y program executes the named file with 
the message as  its
+                 standard input, and writes the resulting output on your 
terminal.
+
+                 If no file is specified,  or  is  bogus,  etc.,  then  
_r_c_v_t_t_y  will
+                 instead    write    a    one-line   scan   listing.    Either 
  the
+                 `-form formatfile' or `-format string' option may be used to  
over-
+                 ride  the  default output format (see 
_m_h-_f_o_r_m_a_t (5)).  A newline is
+                 output before the message output, and the  terminal  bell  is 
 rung
+                 after  the  output.   The  `-nonewline'  and `-nobell' 
options will
+                 inhibit these functions.
+
+                 In addition to the  standard  _m_h-_f_o_r_m_a_t (5)  
escapes,  _r_c_v_t_t_y  also
+                 recognizes the following additional 
_c_o_m_p_o_n_e_n_t escapes:
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHOOK(1)                          -71-                          
MHOOK(1)
+
+
+                 _E_s_c_a_p_e    _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 body      string   the (compressed) first part of the body
+                 dtimenow  date     the current date
+                 folder    string   the name of the current folder
+
+                 Normally, _r_c_v_t_t_y obeys write permission  as  
granted  by  _m_e_s_g (1).
+                 With  the  `-biff' option, _r_c_v_t_t_y will obey the 
notification status
+                 set by _b_i_f_f (1) instead.  If the terminal access 
daemon  (TTYD)  is
+                 available  on  your system, then _r_c_v_t_t_y will give 
its output to the
+                 daemon for output instead of writing on the user's terminal.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+                 $HOME/.maildelivery                  The file controlling 
local delivery
+                 /usr/bs/mh-6.8/lib/maildelivery      Rather than the standard 
file
+
+
+            _S_e_e _A_l_s_o
+                 rcvstore (1), mh-format(5), slocal(1)
+
+
+            _B_u_g_s
+                 Only two return codes are meaningful, others should be.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPARAM(1)                        -72-                        
MHPARAM(1)
+
+
+            _N_A_M_E
+                 mhparam - print MH profile components
+
+            _S_Y_N_O_P_S_I_S
+                 mhparam [components] [-all] [-component] [-nocomponent] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_p_a_r_a_m writes the value of the specified 
profile component to  the
+                 standard output separated by newlines.  If the profile 
component is
+                 not present, the default value (or nothing if there is no  
default)
+                 is printed.
+
+                 If more than one component is specified in the  `components'  
list,
+                 the  component  value is preceded by the component name.  If 
`-com-
+                 ponent' is specified, the component name  is  displayed  even 
 when
+                 only  one  component is specified.  If `-nocomponent' is 
specified,
+                 the component name is not displayed even when more  than  one 
 com-
+                 ponent is specified.
+
+                 If `-all' is specified,  all  components  if  the  MH  
profile  are
+                 displayed and other arguments are ignored.
+
+                 Examples:
+
+                      % mhparam path
+                      Mail
+
+                      % mhparam mhlproc
+                      /usr/bs/mh-6.8/lib/mhl
+
+                      % mhparam -component path
+                      Path:       Mail
+
+                      % mhparam AliasFile rmmproc
+                      AliasFile:  aliases
+                      rmmproc:    rmmproc
+
+                      % mhparam -nocomponent AliasFile rmmproc
+                      aliases
+                      rmmproc
+
+                 _M_h_p_a_r_a_m is also useful in back-quoted 
operations:
+
+                      % fgrep cornell.edu `mhpath +`/`mhparam aliasfile`
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPARAM(1)                        -73-                        
MHPARAM(1)
+
+
+            _S_e_e _A_l_s_o
+                 mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-nocomponent' if only one component is specified
+                 `-component' if more than one component is specified
+                 `components' defaults to none
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -74-                         
MHPATH(1)
+
+
+            _N_A_M_E
+                 mhpath - print full pathnames of MH messages and folders
+
+            _S_Y_N_O_P_S_I_S
+                 mhpath [+folder] [msgs] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_p_a_t_h expands and sorts the message list  `msgs' 
 and  writes  the
+                 full  pathnames of the messages to the standard output 
separated by
+                 newlines.  If no `msgs' are specified, _m_h_p_a_t_h  
outputs  the  folder
+                 pathname  instead.   If  the  only argument is `+', your MH 
_P_a_t_h is
+                 output; this can be useful is shell scripts.
+
+                 Contrasted with other MH commands, a message argument to 
_m_h_p_a_t_h may
+                 often be intended for _w_r_i_t_i_n_g.  Because of this:
+
+                 1) the name "new" has been added to _m_h_p_a_t_h's list 
of reserved  mes-
+                 sage  names (the others are "first", "last", "prev", "next", 
"cur",
+                 and "all").  The new message is equivalent to the message 
after the
+                 last  message  in a folder (and equivalent to 1 in a folder 
without
+                 messages).  The "new" message may not be used as part of a  
message
+                 range.
+
+                 2) Within a message list, the following designations may  
refer  to
+                 messages that do not exist: a single numeric message name, 
the sin-
+                 gle message name "cur", and (obviously)  the  single  message 
 name
+                 "new".   All  other message designations must refer to at 
least one
+                 existing message.
+
+                 3) An empty folder is not in itself an error.
+
+                 Message numbers greater than the  highest  existing  message  
in  a
+                 folder  as  part  of a range designation are replaced with 
the next
+                 free message number.
+
+                 Examples: The current folder foo contains messages 3 5 6.   
Cur  is
+                 4.
+
+                      % mhpath
+                      /r/phyl/Mail/foo
+
+                      % mhpath all
+                      /r/phyl/Mail/foo/3
+                      /r/phyl/Mail/foo/5
+                      /r/phyl/Mail/foo/6
+
+                      % mhpath 2001
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath 1-2001
+                      /r/phyl/Mail/foo/3
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -75-                         
MHPATH(1)
+
+
+                      /r/phyl/Mail/foo/5
+                      /r/phyl/Mail/foo/6
+
+                      % mhpath new
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath last new
+                      /r/phyl/Mail/foo/6
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath last-new
+                      bad message list "last-new".
+
+                      % mhpath cur
+                      /r/phyl/Mail/foo/4
+
+                      % mhpath 1-2
+                      no messages in range "1-2".
+
+                      % mhpath first:2
+                      /r/phyl/Mail/foo/3
+                      /r/phyl/Mail/foo/5
+
+                      % mhpath 1 2
+                      /r/phyl/Mail/foo/1
+                      /r/phyl/Mail/foo/2
+
+                 _M_H_p_a_t_h is also useful in back-quoted operations:
+
+                      % cd `mhpath +inbox`
+
+                      % echo `mhpath +`
+                      /r/phyl/Mail
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 folder(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to none
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -76-                         
MHPATH(1)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 Like all MH commands, _m_h_p_a_t_h expands and sorts  
[msgs].   So  don't
+                 expect
+
+                      mv `mhpath 501 500`
+
+                 to move 501 to 500.  Quite the reverse.  But
+
+                      mv `mhpath 501` `mhpath 500`
+
+                 will do the trick.
+
+                 Out of range message 0 is treated far more severely than 
large  out
+                 of range message numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSGCHK(1)                         -77-                         
MSGCHK(1)
+
+
+            _N_A_M_E
+                 msgchk - check for messages
+
+            _S_Y_N_O_P_S_I_S
+                 msgchk [-date] [-nodate] [-notify all/mail/nomail]
+                      [-nonotify all/mail/nomail] [-host host] [-user user] 
[-apop]
+                      [-noapop] [-rpop] [-norpop] [users ...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _m_s_g_c_h_k program checks all known mail drops 
for mail waiting for
+                 you.  For those drops which have mail for you, 
_m_s_g_c_h_k will indicate
+                 if it believes that you have seen the mail in question before.
+
+                 The `-notify type' switch indicates under what circumstances 
_m_s_g_c_h_k
+                 should  produce a message.  The default is `-notify all' 
which says
+                 that _m_s_g_c_h_k should always report the status of 
the users  maildrop.
+                 Other  values  for  `type'  include  `mail'  which says that 
_m_s_g_c_h_k
+                 should report the status of waiting mail; and, `nomail' which 
 says
+                 that  _m_s_g_c_h_k  should  report  the  status  of 
empty maildrops.  The
+                 `-nonotify type' switch has the inverted sense, so  
`-nonotify all'
+                 directs  _m_s_g_c_h_k  to  never report the status of 
maildrops.  This is
+                 useful if the  user  wishes  to  check  _m_s_g_c_h_k's  
exit  status.   A
+                 non-zero  exit  status  indicates  that mail was not waiting 
for at
+                 least one of the indicated users.
+
+                 If _m_s_g_c_h_k produces output, then the `-date' 
switch  directs  _m_s_g_c_h_k
+                 to  print  out  the  last date mail was read, if this can be 
deter-
+                 mined.
+
+                 If the local host  is  configured  as  a  POP  client,  or  
if  the
+                 `-host host'  switch  is  given,  _m_s_g_c_h_k will 
query the POP service
+                 host as to the status of mail waiting.  If the `-user user'  
switch
+                 is  not given, then the current username is used.  Normally, 
_m_s_g_c_h_k
+                 will prompt for a password to use.  However, if the `-apop'  
switch
+                 is  given,  _m_s_g_c_h_k will generate authentication 
credentials to pro-
+                 vide for origin authentication and replay protection, but 
which  do
+                 not involve sending a password in the clear over the network. 
 Oth-
+                 erwise, if the `-rpop' switch is given, then 
_m_s_g_c_h_k will try to use
+                 a "trusted" connection (ala the BSD r-commands).
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+                 /usr/spool/mail/$USER                Location of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSGCHK(1)                         -78-                         
MSGCHK(1)
+
+
+            _S_e_e _A_l_s_o
+                 _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - 
_v_e_r_s_i_o_n _3 (aka RFC-1081),
+                 inc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `user' defaults to the current user
+                 `-date'
+                 `-notify all'
+                 `-rpop'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -79-                            
MSH(1)
+
+
+            _N_A_M_E
+                 msh - MH shell (and BBoard reader)
+
+            _S_Y_N_O_P_S_I_S
+                 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] 
[file]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _m_s_h is an interactive program that implements a subset 
of the  nor-
+                 mal _M_H commands operating on a single file in 
_p_a_c_k_f'd format.  That
+                 is, _m_s_h is used to read a file that contains a number 
of  messages,
+                 as  opposed  to the standard _M_H style of reading a number 
of files,
+                 each file being a separate message in a folder.  _m_s_h's 
chief advan-
+                 tage is that the normal _M_H style does not allow a file to 
have more
+                 than one message in it.  Hence, _m_s_h is ideal for  
reading  _B_B_o_a_r_d_s,
+                 as  these  files are delivered by the transport system in 
this for-
+                 mat.  In addition, _m_s_h can be used on other files, such 
as  message
+                 archives  which  have been _p_a_c_ked (see 
_p_a_c_k_f (1)).  Finally, _m_s_h is
+                 an excellent _M_H tutor.  As the only commands available to 
the  user
+                 are  _M_H  commands,  this  allows _M_H beginners to 
concentrate on how
+                 commands to _M_H are formed and (more or less) what they 
mean.
+
+                 When invoked, _m_s_h reads the named file, and enters a 
command  loop.
+                 The  user  may type most of the normal _M_H commands.  The 
syntax and
+                 semantics of these commands typed to _m_s_h are identical 
to their  _M_H
+                 counterparts.   In  cases  where  the nature of _m_s_h 
would be incon-
+                 sistent (e.g., specifying a `+folder' with some commands), 
_m_s_h will
+                 duly inform the user.  The commands that _m_s_h currently 
supports (in
+                 some slightly modified or restricted forms) are:
+
+                      ali
+                      burst
+                      comp
+                      dist
+                      folder
+                      forw
+                      inc
+                      mark
+                      mhmail
+                      mhn
+                      msgchk
+                      next
+                      packf
+                      pick
+                      prev
+                      refile
+                      repl
+                      rmm
+                      scan
+                      send
+                      show
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -80-                            
MSH(1)
+
+
+                      sortm
+                      whatnow
+                      whom
+
+                 In addition, _m_s_h has a "help" command which gives a 
brief overview.
+                 To  terminate  _m_s_h, type CTRL-D, or use the "quit" 
command.  If _m_s_h
+                 is being invoked from _b_b_c, then typing CTRL-D will also 
tell _b_b_c to
+                 exit as well, while using the "quit" command will return 
control to
+                 _b_b_c, and _b_b_c will continue examining the list of 
BBoards that it is
+                 scanning.
+
+                 If the file is writable and has been modified,  then  using  
"quit"
+                 will query the user if the file should be updated.
+
+                 The `-prompt string' switch sets the prompting string for 
_m_s_h.
+
+                 You may wish to use an alternate _M_H profile for the  
commands  that
+                 _m_s_h  executes; see _m_h-_p_r_o_f_i_l_e (5) for 
details about the $MH envari-
+                 able.
+
+                 When invoked from _b_b_c, two special features are 
enabled: First, the
+                 `-scan' switch directs _m_s_h to do a `scan unseen' on 
start-up if new
+                 items are present in the BBoard.  This feature is  best  used 
 from
+                 _b_b_c,  which  correctly sets the stage.  Second, the 
_m_a_r_k command in
+                 _m_s_h acts specially when you are reading a BBoard,  
since  _m_s_h  will
+                 consult the sequence "unseen" in determining what messages 
you have
+                 actually read.  When _m_s_h exits, it reports this 
information to _b_b_c.
+                 In  addition,  if  you give the _m_a_r_k command with no 
arguments, _m_s_h
+                 will interpret  it  as  `mark -sequence unseen -delete 
-nozero all'
+                 Hence,  to discard all of the messages in the current BBoard 
you're
+                 reading, just use the _m_a_r_k command with no arguments.
+
+                 Normally, the "exit" command is identical to the "quit" 
command  in
+                 _m_s_h.   When  run  under _b_b_c however, "exit" 
directs _m_s_h to mark all
+                 messages as seen and then "quit".  For speedy type-in, this 
command
+                 is often abbreviated as just "e".
+
+                 When invoked from _v_m_h, another  special  feature  is  
enabled:  The
+                 `topcur' switch directs _m_s_h to have the current message 
"track" the
+                 top line of the _v_m_h scan window.  Normally,  _m_s_h  
has  the  current
+                 message  "track" the center of the window (under `-notopcur', 
which
+                 is the default).
+
+                 _m_s_h supports an output redirection facility.  Commands 
may be  fol-
+                 lowed by one of
+
+                      > _f_i_l_e     write output to _f_i_l_e
+                      >> _f_i_l_e    append output to _f_i_l_e
+                      | _c_o_m_m_a_n_d  pipe output to UNIX 
_c_o_m_m_a_n_d
+
+                 If _f_i_l_e starts with a `~' (tilde), then a 
_c_s_h-like expansion  takes
+                 place.  Note that _c_o_m_m_a_n_d is interpreted by 
_s_h (1).  Also note that
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -81-                            
MSH(1)
+
+
+                 _m_s_h does NOT support history substitutions, variable 
substitutions,
+                 or alias substitutions.
+
+                 When parsing commands to the left of any  redirection  
symbol,  _m_s_h
+                 will honor `\' (back-slash) as the quote next-character 
symbol, and
+                 `"' (double-quote)  as  quote-word  delimiters.   All  other  
input
+                 tokens are separated by whitespace (spaces and tabs).
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Msg-Protect:         To set mode when creating a new `file'
+                 fileproc:            Program to file messages
+                 showproc:            Program to show messages
+
+
+            _S_e_e _A_l_s_o
+                 bbc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to "./msgbox"
+                 `-prompt (msh) '
+                 `-noscan'
+                 `-notopcur'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -82-                            
MSH(1)
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _m_s_h.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+                 There is a strict limit of messages  per  file  in  
_p_a_c_k_f'd  format
+                 which _m_s_h can handle.  Usually, this limit is 1000 
messages.
+
+                 Please remember that _m_s_h is not the _C_S_h_e_l_l, 
and that a lot  of  the
+                 nice facilities provided by the latter are not present in the 
form-
+                 er.
+
+                 In particular, _m_s_h does not understand back-quoting,  
so  the  only
+                 effective  way  to  use  _p_i_c_k  inside  _m_s_h  is  
to  always  use the
+                 `-seq select' switch.  Clever users of _M_H will put the 
line
+
+                      pick: -seq select -list
+
+                 in their .mh_profile file so that _p_i_c_k works equally 
well from both
+                 the shell and _m_s_h.
+
+                 _s_o_r_t_m always uses "-noverbose" and if "-textfield 
field"  is  used,
+                 "-limit 0".
+
+                 The _m_s_h program inherits most (if not all) of the bugs 
from the  _M_H
+                 commands it implements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            NEXT(1)                           -83-                           
NEXT(1)
+
+
+            _N_A_M_E
+                 next - show the next message
+
+            _S_Y_N_O_P_S_I_S
+                 next [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _N_e_x_t performs a _s_h_o_w on the  next  message  
in  the  specified  (or
+                 current)  folder.  Like _s_h_o_w, it passes any switches 
on to the pro-
+                 gram _s_h_o_w_p_r_o_c, which is called to list the 
message.   This  command
+                 is  almost  exactly  equivalent to "show next".  Consult the 
manual
+                 entry for _s_h_o_w (1) for all the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 showproc:            Program to show the message
+
+
+            _S_e_e _A_l_s_o
+                 show(1), prev(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is specified, it will become the current  folder. 
  The
+                 message that is shown (i.e., the next message in sequence) 
will be-
+                 come the current message.
+
+
+            _B_u_g_s
+                 _n_e_x_t is really a link to the _s_h_o_w program.  
As  a  result,  if  you
+                 make  a  link  to  _n_e_x_t and that link is not called 
_n_e_x_t, your link
+                 will  act  like  _s_h_o_w  instead.   To   circumvent   
this,   add   a
+                 profile-entry  for the link to your _M_H profile and add 
the argument
+                 _n_e_x_t to the entry.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PACKF(1)                          -84-                          
PACKF(1)
+
+
+            _N_A_M_E
+                 packf - compress an MH folder into a single file
+
+            _S_Y_N_O_P_S_I_S
+                 packf [+folder] [msgs] [-file name] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_a_c_k_f takes messages from a folder and  copies  
them  to  a  single
+                 file.  Each message in the file is separated by four CTRL-A's 
and a
+                 newline (identical to the way messages are stored in your 
receiving
+                 mail drop).  Messages packed can be unpacked using _i_n_c.
+
+                 If the _n_a_m_e given to the `-file name' switch exists, 
then the  mes-
+                 sages  specified will be appended to the end of the file, 
otherwise
+                 the file will be created and the messages appended.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 .msgbox.map                          A binary index of the 
file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Msg-Protect:         To set mode when creating a new `file'
+
+
+            _S_e_e _A_l_s_o
+                 inc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-file ./msgbox'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message packed will become the current message.
+
+
+            _B_u_g_s
+                 _P_a_c_k_f doesn't handle the old  UUCP-style  "mbox"  
format  (used  by
+                 _S_e_n_d_M_a_i_l).   To  pack  messages  into  this  
format, use the script
+                 
/_u_s_r/_b_s/_m_h-_6._8/_l_i_b/_p_a_c_k_m_b_o_x.  Note that 
_p_a_c_k_m_b_o_x does not take  the
+                 `-file' option of _p_a_c_k_f, and instead writes its 
output on _s_t_d_o_u_t.
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -85-                           
PICK(1)
+
+
+            _N_A_M_E
+                 pick - select messages by content
+
+            _S_Y_N_O_P_S_I_S
+                 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+                      [-lbrace ... -rbrace] [--component pattern] [-cc pattern]
+                      [-date pattern] [-from pattern] [-search pattern]
+                      [-subject pattern] [-to pattern] [-after date] [-before 
date]
+                      [-datefield field] [-sequence name ...] [-public] 
[-nopublic]
+                      [-zero] [-nozero] [-list] [-nolist] [-help]
+
+                 typically:
+                      scan `pick -from jones`
+                      pick -to holloway -sequence select
+                      show `pick -before friday`
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_i_c_k searches messages within a folder for the 
specified  contents,
+                 and then identifies those messages.  Two types of search 
primitives
+                 are available: pattern matching and date constraint 
operations.
+
+                 A modified _g_r_e_p(1) is used to perform the  matching,  
so  the  full
+                 regular  expression  (see _e_d(1)) facility is available 
within `pat-
+                 tern'.  With `-search', `pattern' is used directly,  and  
with  the
+                 others, the grep pattern constructed is:
+
+                      "component[ \t]*:.*pattern"
+
+                 This means that the pattern specified for a `-search' will be 
found
+                 everywhere in the message, including the header and the body, 
while
+                 the other pattern matching  requests  are  limited  to  the  
single
+                 specified component.  The expression
+
+                      `--component pattern'
+
+                 is a shorthand for specifying
+
+                      `-search "component[ \t]*:.*pattern" '
+
+                 It is used to pick a component which is not one  of  "To:",  
"cc:",
+                 "Date:",     "From:",     or    "Subject:".     An    example 
   is
+                 `pick --reply-to pooh'.
+
+                 Pattern matching is performed on  a  per-line  basis.   
Within  the
+                 header  of the message, each component is treated as one long 
line,
+                 but in the body, each line is separate.  Lower-case letters 
in  the
+                 search  pattern  will  match either lower or upper case in 
the mes-
+                 sage, while upper case will match only upper case.
+
+                 Note that since the `-date' switch is a pattern matching  
operation
+                 (as  described  above), to find messages sent on a certain 
date the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -86-                           
PICK(1)
+
+
+                 pattern string must match the text of the "Date:" field of 
the mes-
+                 sage.
+
+                 Independent of  any  pattern  matching  operations  
requested,  the
+                 switches `-after date' or `-before date' may also be used to 
intro-
+                 duce date/time contraints on all of the messages.  By 
default,  the
+                 "Date:"  field  is  consulted,  but  if another date yielding 
field
+                 (such as "BB-Posted:" or  "Delivery-Date:")  should  be  
used,  the
+                 `-datefield field' switch may be used.
+
+                 With `-before' and `-after', _p_i_c_k  will  actually  
parse  the  date
+                 fields in each of the messages specified in `msgs' and 
compare them
+                 to the date/time specified.  If `-after' is given, then only  
those
+                 messages  whose  "Date:"  field  value is chronologically 
after the
+                 date specified will be considered.  The `-before' switch  
specifies
+                 the complimentary action.
+
+                 Both the `-after' and `-before' switches take legal 822-style 
 date
+                 specifications  as  arguments.   _P_i_c_k  will default 
certain missing
+                 fields so that the entire date need not be specified.  These 
fields
+                 are  (in  order  of defaulting): timezone, time and timezone, 
date,
+                 date and timezone.  All defaults are taken from the  current  
date,
+                 time, and timezone.
+
+                 In addition to 822-style dates, _p_i_c_k will also 
recognize any of the
+                 days  of  the week ("sunday", "monday", and so on), and the 
special
+                 dates "today", "yesterday" (24 hours ago), and "tomorrow" (24 
hours
+                 from  now).   All  days of the week are judged to refer to a 
day in
+                 the past (e.g.,  telling  _p_i_c_k  "saturday"  on  a  
"tuesday"  means
+                 "last saturday" not "this saturday").
+
+                 Finally, in addition to these  special  specifications,  
_p_i_c_k  will
+                 also  honor a specification of the form "-dd", which means 
"dd days
+                 ago".
+
+                 _P_i_c_k supports complex boolean operations on  the  
searching  primi-
+                 tives  with  the  `-and',  `-or', `-not', and `-lbrace ... 
-rbrace'
+                 switches.  For example,
+
+                      pick -after yesterday -and
+                           -lbrace -from freida -or -from fear -rbrace
+
+                 identifies messages recently sent by "frieda" or "fear".
+
+                 The matching primitives take precedence  over  the  `-not'  
switch,
+                 which in turn takes precedence over `-and' which in turn 
takes pre-
+                 cedence over  `-or'.   To  override  the  default  
precedence,  the
+                 `-lbrace'  and `-rbrace' switches are provided, which act 
just like
+                 opening and closing parentheses in logical expressions.
+
+                 If no search criteria are given, all the messages specified 
on  the
+                 command line are selected (this defaults to "all").
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -87-                           
PICK(1)
+
+
+                 Once the search has been performed, if the `-list' switch is 
given,
+                 the  message  numbers  of  the selected messages are written 
to the
+                 standard output separated by newlines.  This  is  
_e_x_t_r_e_m_e_l_y  useful
+                 for quickly generating arguments for other _M_H programs by 
using the
+                 "backquoting" syntax of the shell.  For example, the command
+
+                      scan `pick +todo -after "31 Mar 83 0123 PST"`
+
+                 says to _s_c_a_n those messages in the indicated folder 
which meet  the
+                 appropriate criterion.  Note that since _p_i_c_k 's 
context changes are
+                 written out prior to _s_c_a_n 's invocation,  you  need  
not  give  the
+                 folder argument to _s_c_a_n as well.
+
+                 Regardless of the operation of the `-list' switch,  the  
`-sequence
+                 name' switch may be given once for each sequence the user 
wishes to
+                 define.  For each sequence named, that sequence will be 
defined  to
+                 mean exactly those messages selected by _p_i_c_k.  For 
example,
+
+                      pick -from frated -seq fred
+
+                 defines a new message sequence for the current folder called 
"fred"
+                 which contains exactly those messages that were selected.
+
+                 Note that whenever _p_i_c_k processes  a  `-sequence 
name'  switch,  it
+                 sets `-nolist'.
+
+                 By default, _p_i_c_k will zero the sequence  before  
adding  it.   This
+                 action  can be disabled with the `-nozero' switch, which 
means that
+                 the messages selected by _p_i_c_k will be added to the 
sequence, if  it
+                 already  exists,  and  any messages already a part of that 
sequence
+                 will remain so.
+
+                 The `-public' and `-nopublic' switches are used by 
_p_i_c_k in the same
+                 way _m_a_r_k uses them.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 mark(1)
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -88-                           
PICK(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-datefield date'
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-zero'
+                 `-list' is the default if no `-sequence', `-nolist' otherwise
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the _p_i_c_k command 
would _s_h_o_w,  _s_c_a_n,  or
+                 _r_e_f_i_l_e  the  selected  messages.   This was 
rather "inverted logic"
+                 from the UNIX point of view, so _p_i_c_k  was  changed  
to  define  se-
+                 quences  and  output  those  sequences.  Hence, _p_i_c_k 
can be used to
+                 generate the arguments for all other _M_H commands, instead 
of giving
+                 _p_i_c_k endless switches for invoking those commands 
itself.
+
+                 Also, previous versions of _p_i_c_k balked  if  you  
didn't  specify  a
+                 search  string or a date/time constraint.  The current 
version does
+                 not, and merely matches the messages you specify.   This  
lets  you
+                 type something like:
+
+                      show `pick last:20 -seq fear`
+
+                 instead of typing
+
+                      mark -add -nozero -seq fear last:20
+                      show fear
+
+                 Finally, timezones used to be ignored when  comparing  dates: 
 they
+                 aren't any more.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 Use "pick sequence -list" to enumerate the messages in  a  
sequence
+                 (such as for use by a shell script).
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -89-                           
PICK(1)
+
+
+            _B_u_g_s
+                 The argument to the `-after' and `-before' switches must be  
inter-
+                 preted  as  a  single token by the shell that invokes 
_p_i_c_k.  There-
+                 fore, one must usually place the argument  to  this  switch  
inside
+                 double-quotes.  Furthermore, any occurance of `-datefield' 
must oc-
+                 cur prior to the `-after' or `-before' switch it applies to.
+
+                 If _p_i_c_k is used in a back-quoted operation, such as
+
+                      scan `pick -from jones`
+
+                 and _p_i_c_k selects no messages (e.g., no messages are 
from  "jones"),
+                 then  the  shell  will  still run the outer command (e.g., 
"scan").
+                 Since no messages were matched, _p_i_c_k produced no  
output,  and  the
+                 argument given to the outer command as a result of 
backquoting _p_i_c_k
+                 is empty.  In the case of _M_H programs, the outer command  
now  acts
+                 as  if  the  default `msg' or `msgs' should be used (e.g., 
"all" in
+                 the case of  _s_c_a_n ).   To  prevent  this  unexpected  
behavior,  if
+                 `-list'  was  given,  and if its standard output is not a 
tty, then
+                 _p_i_c_k outputs the illegal message number "0" when  it  
fails.   This
+                 lets the outer command fail gracefully as well.
+
+                 The pattern syntax "[l-r]" is not  supported;  each  letter  
to  be
+                 matched must be included within the square brackets.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PREV(1)                           -90-                           
PREV(1)
+
+
+            _N_A_M_E
+                 prev - show the previous message
+
+            _S_Y_N_O_P_S_I_S
+                 prev [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [-switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_r_e_v performs a _s_h_o_w on the previous message 
in the  specified  (or
+                 current)  folder.  Like _s_h_o_w, it passes any switches 
on to the pro-
+                 gram named by _s_h_o_w_p_r_o_c, which is called to 
list the message.   This
+                 command  is  almost exactly equivalent to "show prev".  
Consult the
+                 manual entry for _s_h_o_w (1) for all the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 showproc:            Program to show the message
+
+
+            _S_e_e _A_l_s_o
+                 show(1), next(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is specified, it will become the current  folder. 
  The
+                 message that is shown (i.e., the previous message in 
sequence) will
+                 become the current message.
+
+
+            _B_u_g_s
+                 _p_r_e_v is really a link to the _s_h_o_w program.  
As  a  result,  if  you
+                 make  a  link  to  _p_r_e_v and that link is not called 
_p_r_e_v, your link
+                 will  act  like  _s_h_o_w  instead.   To   circumvent   
this,   add   a
+                 profile-entry  for the link to your _M_H profile and add 
the argument
+                 _p_r_e_v to the entry.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -91-                       
PROMPTER(1)
+
+
+            _N_A_M_E
+                 prompter - prompting editor front-end for MH
+
+            _S_Y_N_O_P_S_I_S
+                 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] 
[-rapid]
+                      [-norapid] [-doteof] [-nodoteof] file [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 This program is normally not invoked directly by  users  but  
takes
+                 the  place  of  an  editor  and  acts  as  an editor 
front-end.  It
+                 operates on an 822-style message draft skeleton specified by  
file,
+                 normally provided by _c_o_m_p, _d_i_s_t, 
_f_o_r_w, or _r_e_p_l.
+
+                 _P_r_o_m_p_t_e_r is an editor which allows rapid 
composition  of  messages.
+                 It  is particularly useful to network and low-speed (less 
than 2400
+                 baud) users of _M_H.  It is an _M_H program in that it 
can have its own
+                 profile  entry with switches, but it is not invoked directly 
by the
+                 user.  The commands _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l invoke  _p_r_o_m_p_t_e_r  as
+                 an  editor,  either when invoked with `-editor prompter', or 
by the
+                 profile  entry  "Editor: prompter",  or  when  given  the   
command
+                 `edit prompter' at "What now?" level.
+
+                 For each empty component _p_r_o_m_p_t_e_r finds in 
the draft, the  user  is
+                 prompted  for a response; A <RETURN> will cause the whole 
component
+                 to be left out.  Otherwise, a `\' preceding a  <RETURN>  will 
 con-
+                 tinue  the  response  on the next line, allowing for 
multiline com-
+                 ponents.  Continuation lines must begin with a space or tab.
+
+                 Each non-empty component is copied to the draft  and  
displayed  on
+                 the terminal.
+
+                 The start of the message body is denoted by a blank line or a 
 line
+                 of dashes.  If the body is non-empty, the prompt, which isn't 
writ-
+                 ten to the file, is
+
+                     "--------Enter additional text",
+
+                 or (if `-prepend' was given)
+
+                     "--------Enter initial text".
+
+                 Message-body typing is  terminated  with  an  end-of-file  
(usually
+                 CTRL-D).   With  the  `-doteof'  switch,  a period on a line 
all by
+                 itself also  signifies  end-of-file.   At  this  point  
control  is
+                 returned  to  the  calling  program,  where the user is asked 
"What
+                 now?".  See _w_h_a_t_n_o_w for the valid options to 
this query.
+
+                 By using the `-prepend' switch, the user can  add  type-in  
to  the
+                 beginning of the message body and have the rest of the body 
follow.
+                 This is useful for the _f_o_r_w command.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -92-                       
PROMPTER(1)
+
+
+                 By using the `-rapid' switch, if the draft already contains 
text in
+                 the message-body, it is not displayed on the user's terminal. 
 This
+                 is useful for low-speed terminals.
+
+                 The line editing characters for kill and erase may be 
specified  by
+                 the  user via the arguments `-kill chr' and `-erase chr', 
where chr
+                 may be a character; or `\nnn', where "nnn" is the octal  
value  for
+                 the character.
+
+                 An interrupt (usually CTRL-C) during component  typing  will  
abort
+                 _p_r_o_m_p_t_e_r  and  the _M_H command that 
invoked it.  An interrupt during
+                 message-body typing is equivalent to CTRL-D,  for  historical 
 rea-
+                 sons.  This means that _p_r_o_m_p_t_e_r should finish 
up and exit.
+
+                 The first non-flag argument to _p_r_o_m_p_t_e_r is 
taken as the name of the
+                 draft file, and subsequent non-flag arguments are ignored.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /tmp/prompter*                       Temporary copy of message
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 prompter-next:       To name the editor to be  used  on  exit 
 from
+                 _p_r_o_m_p_t_e_r
+                 Msg-Protect:         To set mode when creating a new draft
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), repl(1), whatnow(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prepend'
+                 `-norapid'
+                 `-nodoteof'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 The  `-rapid'  option  is  particularly  useful  with   
_f_o_r_w,   and
+                 `-noprepend' is useful with _c_o_m_p -_u_s_e.
+
+                 The user may wish to link _p_r_o_m_p_t_e_r under 
several names (e.g.,  "ra-
+                 pid")  and  give  appropriate switches in the profile entries 
under
+                 these names (e.g., "rapid:  -rapid").   This  facilitates  
invoking
+                 prompter  differently for different _M_H commands (e.g., 
"forw: -edi-
+                 tor rapid").
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -93-                       
PROMPTER(1)
+
+
+            _B_u_g_s
+                 _P_r_o_m_p_t_e_r uses _s_t_d_i_o (3), so it will 
lose if  you  edit  files  with
+                 nulls in them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RCVSTORE(1)                       -94-                       
RCVSTORE(1)
+
+
+            _N_A_M_E
+                 rcvstore - incorporate new mail asynchronously
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/rcvstore [+folder] [-create] [-nocreate]
+                      [-sequence name ...] [-public] [-nopublic] [-zero] 
[-nozero]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_c_v_s_t_o_r_e incorporates a message from the 
standard input into an  _M_H
+                 folder.   If  `+folder'  isn't specified, a folder in the 
user's _M_H
+                 directory will be used, either that specified by the "Inbox:" 
entry
+                 in  the  user's profile, or the folder named "inbox".  The 
new mes-
+                 sage being incorporated is assigned the next highest number 
in  the
+                 folder.   If  the specified (or default) folder doesn't 
exist, then
+                 it will be created if the `-create' option is specified,  
otherwise
+                 _r_c_v_s_t_o_r_e will exit.
+
+                 If the user's profile contains a "Msg-Protect: nnn" entry, it 
 will
+                 be  used as the protection on the newly created messages, 
otherwise
+                 the _M_H default of 0644 will be used.  During all 
operations on mes-
+                 sages,  this  initially  assigned  protection will be 
preserved for
+                 each message, so _c_h_m_o_d(1) may be used to set  a  
protection  on  an
+                 individual   message,   and   its   protection  will  be  
preserved
+                 thereafter.
+
+                 _R_c_v_s_t_o_r_e will incorporate anything except 
zero length messages into
+                 the user's MH folder.
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+                 then  _r_c_v_s_t_o_r_e  will  add  the  newly  
incorporated message to each
+                 sequence named by the  profile  entry.   This  is  similar  
to  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.  Note that 
_r_c_v_s_t_o_r_e will  not
+                 zero each sequence prior to adding messages.
+
+                 Furthermore, the incoming messages may  be  added  to  
user-defined
+                 sequences  as  they  arrive  by  appropriate use of the 
`-sequence'
+                 option.  As with _p_i_c_k, use of the `-zero'  and  
`-nozero'  switches
+                 can  also  be used to zero old sequences or not.  Similarly, 
use of
+                 the `-public' and `-nopublic switches may be used  to  force  
addi-
+                 tions to public and private sequences.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RCVSTORE(1)                       -95-                       
RCVSTORE(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Folder-Protect:      To set mode when creating a new folder
+                 Inbox:               To find the default inbox
+                 Msg-Protect:         To set mode when creating a new message
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), pick(1), mh-mail(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to "inbox"
+                 `-create'
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-nozero'
+
+
+            _C_o_n_t_e_x_t
+                 No context changes will be attempted, with  the  exception  
of  se-
+                 quence manipulation.
+
+
+            _B_u_g_s
+                 If you use the "Unseen-Sequence" profile entry, 
_r_c_v_s_t_o_r_e could  try
+                 to update the context while another _M_H process is also 
trying to do
+                 so.  This can cause the context  to  become  corrupted.   To  
avoid
+                 this,  do not use _r_c_v_s_t_o_r_e if you use the 
"Unseen-Sequence" profile
+                 entry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REFILE(1)                         -96-                         
REFILE(1)
+
+
+            _N_A_M_E
+                 refile - file message in other folders
+
+            _S_Y_N_O_P_S_I_S
+                 refile [msgs] [-draft] [-link] [-nolink] [-preserve] 
[-nopreserve]
+                      [-src +folder] [-file file] [-rmmproc program] 
[-normmproc]
+                      +folder ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_e_f_i_l_e moves (_m_v (1)) or links  (_l_n (1))  
messages  from  a  source
+                 folder  into  one  or  more destination folders.  If you 
think of a
+                 message as a sheet of paper, this operation is  not  unlike  
filing
+                 the  sheet  of  paper  (or copies) in file cabinet folders.  
When a
+                 message is filed, it is linked into the  destination  
folder(s)  if
+                 possible,  and  is  copied  otherwise.   As long as the 
destination
+                 folders are all on the same file  system,  multiple  filing  
causes
+                 little  storage  overhead.   This  facility  provides a good 
way to
+                 cross-file or multiply-index messages.  For example, if  a  
message
+                 is received from Jones about the ARPA Map Project, the command
+
+                      refile cur +jones +Map
+
+                 would allow the message to be found in either of  the  two  
folders
+                 `jones' or `Map'.
+
+                 The option `-file file' directs _r_e_f_i_l_e to use the 
specified file as
+                 the  source  message  to  be  filed,  rather  than a message 
from a
+                 folder.  Note that the file should be a validly formatted  
message,
+                 just like any other _M_H message.  It should NOT be in mail 
drop for-
+                 mat (to convert a file in mail drop format to a folder of  
_M_H  mes-
+                 sages, see _i_n_c (1)).
+
+                 If a destination folder doesn't exist, _r_e_f_i_l_e 
will ask if you  want
+                 to  create  it.  A negative response will abort the file 
operation.
+                 If the standard input for _r_e_f_i_l_e is _n_o_t a 
tty, then _r_e_f_i_l_e will not
+                 ask  any  questions  and  will  proceed as if the user's 
answer was
+                 "yes" for all questions.
+
+                 The option `-link' preserves the source folder copy of the  
message
+                 (i.e.,  it  does  a  _l_n(1) rather than a _m_v(1)), 
whereas, `-nolink'
+                 deletes the filed messages from the source folder.  Normally, 
 when
+                 a  message  is filed, it is assigned the next highest number 
avail-
+                 able in each of the destination folders.  Use  of  the  
`-preserve'
+                 switch  will override this message renaming, but name 
conflicts may
+                 occur, so use this switch cautiously.
+
+                 If `-link' is not specified (or `-nolink' is specified), the  
filed
+                 messages  will  be removed from the source folder, by 
renaming them
+                 with a site-dependent prefix (usually a comma).
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REFILE(1)                         -97-                         
REFILE(1)
+
+
+                 If the user has a profile component such as
+
+                         rmmproc:        /bin/rm
+
+                 then _r_e_f_i_l_e will instead call the named program 
to delete the  mes-
+                 sage files.  The user may specify `-rmmproc program' on the 
command
+                 line to override  this  profile  specification.   The  
`-normmproc'
+                 option  forces  the message files to be deleted by renaming 
them as
+                 described above.
+
+                 The `-draft' switch tells _r_e_f_i_l_e to file the 
<mh-dir>/draft.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Folder-Protect:      To set mode when creating a new folder
+                 rmmproc:             Program to delete the message
+
+
+            _S_e_e _A_l_s_o
+                 folder(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-src +folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-nolink'
+                 `-nopreserve'
+
+
+            _C_o_n_t_e_x_t
+                 If `-src +folder' is given, it will become the current 
folder.   If
+                 neither  `-link' nor `all' is specified, the current message 
in the
+                 source folder will be set to the last message specified; 
otherwise,
+                 the current message won't be changed.
+
+                 If the Previous-Sequence profile entry is set, in addition  
to  de-
+                 fining the named sequences from the source folder, 
_r_e_f_i_l_e will also
+                 define  those  sequences  for   the   destination   folders.  
  See
+                 _m_h-_s_e_q_u_e_n_c_e (5) for information 
concerning the previous sequence.
+
+
+            _B_u_g_s
+                 Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to 
delete the message,  the  _r_m_m_p_r_o_c
+                 must  NOT  call _r_e_f_i_l_e without specifying 
`-normmproc', or you will
+                 create an infinte loop.
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -98-                           
REPL(1)
+
+
+            _N_A_M_E
+                 repl - reply to a message
+
+            _S_Y_N_O_P_S_I_S
+                 repl [+folder] [msg] [-annotate] [-noannotate] [-cc 
all/to/cc/me]
+                      [-nocc all/to/cc/me] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-editor editor]
+                      [-noedit] [-fcc +folder] [-filter filterfile] [-form 
formfile]
+                      [-inplace] [-noinplace] [-query] [-noquery] [-width 
columns]
+                      [-whatnowproc program] [-nowhatnowproc] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_e_p_l aids a user in producing a reply to an existing 
message.  _R_e_p_l
+                 uses  a  reply  template to guide its actions when 
constructing the
+                 message draft of the reply.  In its simplest form  (with  no  
argu-
+                 ments),  it  will  set  up  a message-form skeleton in reply 
to the
+                 current message in the  current  folder,  and  invoke  the  
whatnow
+                 shell.   The  default  reply template will direct 
_r_e_p_l to construct
+                 the composed message as follows:
+
+                      To: <Reply-To> or <From>
+                      cc: <cc>, <To>, and yourself
+                      Subject: Re: <Subject>
+                      In-reply-to: Your message of <Date>.
+                                   <Message-Id>
+
+                 where field names enclosed in angle  brackets  (< >)  
indicate  the
+                 contents  of the named field from the message to which the 
reply is
+                 being made.  A  reply  template  is  simply  a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 The `-cc type' switch takes an argument which  specifies  who 
 gets
+                 placed  on  the "cc:" list of the reply.  The `-query' switch 
modi-
+                 fies the action of `-cc type' switch by interactively asking 
you if
+                 each  address  that normally would be placed in the "To:" and 
"cc:"
+                 list  should  actually  be  sent  a  copy.   (This  is  
useful  for
+                 special-purpose  replies.)  Note that the position of the 
`-cc' and
+                 `-nocc' switches, like all other switches which take a 
positive and
+                 negative form, is important.
+
+                 Lines beginning with the fields "To:", "cc:", and  "Bcc:"  
will  be
+                 standardized  and  have  duplicate addresses removed.  In 
addition,
+                 the `-width columns' switch will guide _r_e_p_l's 
formatting  of  these
+                 fields.
+
+                 If the file named "replcomps" exists in the user's MH 
directory, it
+                 will be used instead of the default form.  In either case, 
the file
+                 specified by `-form formfile' will be used if given.
+
+                 If the draft already exists, _r_e_p_l will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_r_e_p_l, leaving the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -99-                           
REPL(1)
+
+
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.  Note that while in the editor, the message being 
replied
+                 to is available through a link  named  "@"  (assuming  the  
default
+                 _w_h_a_t_n_o_w_p_r_o_c ).   In addition, the 
actual pathname of the message is
+                 stored in the envariable $editalt, and the pathname of  the  
folder
+                 containing the message is stored in the envariable $mhfolder.
+
+                 Although _r_e_p_l uses the `-form formfile' switch to 
direct it how  to
+                 construct  the  beginning  of  the  draft, the `-filter 
filterfile'
+                 switch directs _r_e_p_l as to how the message being  
replied-to  should
+                 be  formatted in the body of the draft.  If `-filter' is not 
speci-
+                 fied, then the message being replied-to is not included in 
the body
+                 of  the draft.  If `-filter filterfile' is specified, then 
the mes-
+                 sage being replied-to is filtered  (re-formatted)  prior  to  
being
+                 output  to  the body of the draft.  The filter file for 
_r_e_p_l should
+                 be a standard form file for _m_h_l, as _r_e_p_l will 
invoke _m_h_l to  format
+                 the  message  being replied-to.  There is no default message 
filter
+                 (`-filter' must be followed by a file name).  A filter file 
that is
+                 commonly used is:
+
+                      :
+                      body:nocomponent,compwidth=9,offset=9
+
+                 which says to output a blank line and then the body of the  
message
+                 being replied-to, indented by one tab-stop.  Another format 
popular
+                 on USENET is:
+
+
+                      message-id:nocomponent,nonewline,\
+                      formatfield="In message %{text}, "
+                      from:nocomponent,formatfield="%(friendly{text}) writes:"
+                      body:component=">",overflowtext=">",overflowoffset=0
+
+                 Which  cites  the  Message-ID  and  author  of  the  message  
being
+                 replied-to,  and  then  outputs each line of the body 
prefaced with
+                 the ">" character.
+
+                 If the `-annotate' switch is given, the  message  being  
replied-to
+                 will be annotated with the lines
+
+                      Replied: date
+                      Replied: addrs
+
+                 where the address list contains one line for each  addressee. 
  The
+                 annotation  will  be done only if the message is sent 
directly from
+                 _r_e_p_l.   If  the  message  is  not  sent  immediately  
 from   _r_e_p_l,
+                 "comp -use"  may  be  used to re-edit and send the 
constructed mes-
+                 sage, but the annotations won't take place.  The `-inplace'  
switch
+                 causes annotation to be done in place in order to preserve 
links to
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                          -100-                           
REPL(1)
+
+
+                 the annotated message.
+
+                 The `-fcc +folder' switch can be used to  automatically  
specify  a
+                 folder  to  receive Fcc:s.  More than one folder, each 
preceeded by
+                 `-fcc' can be named.
+
+                 In addition to the standard _m_h-_f_o_r_m_a_t (5) 
escapes, _r_e_p_l also recog-
+                 nizes the following additional _c_o_m_p_o_n_e_n_t 
escape:
+
+                 _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 _f_c_c     string   Any folders specified with `-fcc 
folder'
+
+                 To avoid reiteration, _r_e_p_l strips any leading `Re: '  
strings  from
+                 the _s_u_b_j_e_c_t component.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _r_e_p_l will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/replcomps         The reply template
+                 or <mh-dir>/replcomps                Rather than the standard 
template
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/draft                       The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 mhlproc:             Program to filter message being 
replied-to
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), send(1), whatnow(1), mh-format(5)
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                          -101-                           
REPL(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to cur
+                 `-nocc all' at ATHENA sites, `-cc all' otherwise
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noinplace'
+                 `-noquery'
+                 `-width 72'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 mes-
+                 sage replied-to will become the current message.
+
+
+            _H_i_s_t_o_r_y
+                 Prior to using the format string  mechanism,  `-noformat'  
used  to
+                 cause  address  headers to be output as-is.  Now all address 
fields
+                 are formatted using Internet standard guidelines.
+
+
+            _B_u_g_s
+                 If any addresses occur in the reply template, addresses in 
the tem-
+                 plate that do not contain hosts are defaulted incorrectly.  
Instead
+                 of using the localhost for the  default,  _r_e_p_l  uses  
the  sender's
+                 host.   Moral of the story: if you're going to include 
addresses in
+                 a reply template, include the host portion of the address.
+
+                 The `-width columns' switch is only  used  to  do  
address-folding;
+                 other headers are not line-wrapped.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _r_e_p_l uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _r_e_p_l  won't  run
+                 it.
+
+                 If your current working directory is not writable, the  link  
named
+                 "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMF(1)                           -102-                            
RMF(1)
+
+
+            _N_A_M_E
+                 rmf - remove an MH folder
+
+            _S_Y_N_O_P_S_I_S
+                 rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_m_f removes all of the messages (files) within  the  
specified  (or
+                 default)  folder,  and  then removes the folder (directory) 
itself.
+                 If there are any files within the folder which are not  a  
part  of
+                 _M_H,  they  will  _n_o_t be removed, and an error will 
be produced.  If
+                 the folder is given explicitly or the  `-nointeractive'  
option  is
+                 given,  then the folder will be removed without confirmation. 
 Oth-
+                 erwise, the user will be asked for confirmation.  If 
_r_m_f can't find
+                 the  current  folder,  for  some  reason,  the folder to be 
removed
+                 defaults to `+inbox' (unless overridden  by  user's  profile  
entry
+                 "Inbox") with confirmation.
+
+                 _R_m_f irreversibly deletes messages that don't have other 
 links,  so
+                 use it with caution.
+
+                 If the folder being removed is a subfolder, the parent folder 
 will
+                 become  the new current folder, and _r_m_f will produce a 
message tel-
+                 ling the user this has happened.  This provides an  easy  
mechanism
+                 for selecting a set of messages, operating on the list, then 
remov-
+                 ing the list and returning to the current  folder  from  
which  the
+                 list was extracted.
+
+                 _R_m_f of a read-only folder will delete the private 
sequence and  cur
+                 information  (i.e.,  "atr-_s_e_q-_f_o_l_d_e_r"  
entries)  from  the  profile
+                 without affecting the folder itself.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Inbox:               To find the default inbox
+
+
+            _S_e_e _A_l_s_o
+                 rmm(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder, usually with 
confirmation
+                 `-interactive' if +folder' not given, `-nointeractive' 
otherwise
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMF(1)                           -103-                            
RMF(1)
+
+
+            _C_o_n_t_e_x_t
+                 _R_m_f will set the current folder to the parent folder if 
a subfolder
+                 is  removed; or if the current folder is removed, it will 
make "in-
+                 box" current.  Otherwise, it doesn't change the current  
folder  or
+                 message.
+
+
+            _B_u_g_s
+                 Although intuitively one would suspect that _r_m_f works  
recursively,
+                 it  does  not.   Hence if you have a sub-folder within a 
folder, in
+                 order to _r_m_f the parent, you must first _r_m_f each 
of the children.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMM(1)                           -104-                            
RMM(1)
+
+
+            _N_A_M_E
+                 rmm - remove messages
+
+            _S_Y_N_O_P_S_I_S
+                 rmm [+folder] [msgs] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_m_m removes the specified messages by renaming  the  
message  files
+                 with preceding commas.  Many sites consider files that start 
with a
+                 comma to be a temporary backup, and arrange for _c_r_o_n 
(8) to  remove
+                 such files once a day.
+
+                 If the user has a profile component such as
+
+                         rmmproc:        /bin/rm
+
+                 then instead of simply renaming the message file, _r_m_m 
will call the
+                 named program to delete the file.  Note that at most 
installations,
+                 _c_r_o_n (8) is told to remove files that begin with  a  
comma  once  a
+                 night.
+
+                 Some users of csh prefer the following:
+
+                         alias rmm 'refile +d'
+
+                 where folder +d is a folder for deleted messages, and
+
+                         alias mexp 'rm `mhpath +d all`'
+
+                 is used to "expunge" deleted messages.
+
+                 The current message is not changed by _r_m_m, so a 
_n_e_x_t  will  advance
+                 to the next message in the folder as expected.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 rmmproc:             Program to delete the message
+
+
+            _S_e_e _A_l_s_o
+                 rmf(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMM(1)                           -105-                            
RMM(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _B_u_g_s
+                 Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to 
delete the message,  the  _r_m_m_p_r_o_c
+                 must  NOT  call _r_e_f_i_l_e without specifying 
`-normmproc', or you will
+                 create an infinte loop.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                          -106-                           
SCAN(1)
+
+
+            _N_A_M_E
+                 scan - produce a one line per message scan listing
+
+            _S_Y_N_O_P_S_I_S
+                 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+                      [-format string] [-header] [-noheader] [-width columns]
+                      [-reverse] [-noreverse] [-file filename] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_c_a_n produces a one-line-per-message listing of the 
specified  mes-
+                 sages.   Each  _s_c_a_n  line  contains  the message 
number (name), the
+                 date, the "From:" field, the "Subject" field, and, if room  
allows,
+                 some of the body of the message.  For example:
+
+                      15+  7/ 5  Dcrocker  nned  <<Last week I asked some of
+                      16 - 7/ 5  dcrocker  message id format  <<I recommend
+                      18   7/ 6  Obrien    Re: Exit status from mkdir
+                      19   7/ 7  Obrien    "scan" listing format in MH
+
+                 The `+' on message 15 indicates that it  is  the  current  
message.
+                 The  `-'  on  message  16 indicates that it has been replied 
to, as
+                 indicated by a "Replied:"  component  produced  by  an  
`-annotate'
+                 switch to the _r_e_p_l command.
+
+                 If there is sufficient room left on the _s_c_a_n line  
after  the  sub-
+                 ject,  the line will be filled with text from the body, 
preceded by
+                 <<, and terminated by >> if the body is sufficiently  short.  
 _S_c_a_n
+                 actually  reads  each  of the specified messages and parses 
them to
+                 extract the desired fields.  During parsing, appropriate 
error mes-
+                 sages  will  be  produced  if there are format errors in any 
of the
+                 messages.
+
+                 The `-header' switch produces a header line prior to the 
_s_c_a_n list-
+                 ing.   Currently,  the  name of the folder and the current 
date and
+                 time are output (see the HISTORY section for more 
information).
+
+                 If the `-clear' switch is used and _s_c_a_n'_s output is 
directed  to  a
+                 terminal, then _s_c_a_n will consult the $TERM and 
$TERMCAP envariables
+                 to determine your terminal type in order to find out how  to  
clear
+                 the  screen  prior  to exiting.  If the `-clear' switch is 
used and
+                 _s_c_a_n'_s output is not directed to a terminal  (e.g., 
 a  pipe  or  a
+                 file), then _s_c_a_n will send a formfeed prior to 
exiting.
+
+                 For example, the command:
+
+                      (scan -clear -header; show all -show pr -f) | lpr
+
+                 produces a scan listing  of  the  current  folder,  followed  
by  a
+                 formfeed,  followed  by  a formatted listing of all messages 
in the
+                 folder, one per page.  Omitting `-show pr -f' will cause  the 
 mes-
+                 sages  to  be  concatenated, separated by a one-line header 
and two
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                          -107-                           
SCAN(1)
+
+
+                 blank lines.
+
+                 If _s_c_a_n encounters a message without a "Date:" field, 
 rather  than
+                 leaving  that  portion  of  the  scan  listing  blank,  the 
date is
+                 filled-in with the last write date of the message,  and  
post-fixed
+                 with  a  `*'.   This  is  particularly  handy  for scanning a 
_d_r_a_f_t
+                 _f_o_l_d_e_r, as message drafts usually aren't allowed 
to have  dates  in
+                 them.
+
+                 To override the output format used by _s_c_a_n, the 
`-format string' or
+                 `-format file'  switches  are used.  This permits individual 
fields
+                 of the scan listing to be extracted with ease.  The string is 
 sim-
+                 ply  a  format  string  and  the file is simply a format 
file.  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 In addition to the standard _m_h-_f_o_r_m_a_t (5) 
escapes, _s_c_a_n also recog-
+                 nizes the following additional _c_o_m_p_o_n_e_n_t 
escapes:
+
+                 _E_s_c_a_p_e    _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 body      string   the (compressed) first part of the body
+                 dtimenow  date     the current date
+                 folder    string   the name of the current folder
+
+                 Also, if no date header was present in the  message,  the  
_f_u_n_c_t_i_o_n
+                 escapes  which operate on {_d_a_t_e} will return values 
for the date of
+                 last modification of the message file itself.
+
+                 _s_c_a_n will update the _M_H context prior to starting 
the  listing,  so
+                 interrupting  a  long  _s_c_a_n  listing preserves the 
new context.  _M_H
+                 purists hate this idea.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), pick(1), show(1), mh-format(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the folder current
+                 `msgs' defaults to all
+                 `-format' defaulted as described above
+                 `-noheader'
+                 `-width' defaulted to the width of the terminal
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                          -108-                           
SCAN(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _H_i_s_t_o_r_y
+                 Prior to using the format string mechanism, `-header' used to 
 gen-
+                 erate a heading saying what each column in the listing was.  
Format
+                 strings prevent this from happening.
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _s_c_a_n.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+                 The value of each _c_o_m_p_o_n_e_n_t escape is set 
by _s_c_a_n to  the  contents
+                 of  the first message header _s_c_a_n encounters with the 
corresponding
+                 component name; any following headers with the same component 
 name
+                 are ignored.
+
+                 The switch `-reverse', makes _s_c_a_n list the messages 
in reverse ord-
+                 er; this should be considered a bug.
+
+                 The `-file filename' switch allows the user to obtain a 
_s_c_a_n  list-
+                 ing of a maildrop file as produced by _p_a_c_k_f.  This 
listing includes
+                 every message in the file.  The user should use _m_s_h for 
more selec-
+                 tive  processing  of the file.  `-reverse' is ignored with 
this op-
+                 tion.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                          -109-                           
SEND(1)
+
+
+            _N_A_M_E
+                 send - send a message
+
+            _S_Y_N_O_P_S_I_S
+                 send [-alias aliasfile] [-draft] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+                      [-mime] [-nomime] [-msgid] [-nomsgid] [-push] [-nopush]
+                      [-split seconds] [-verbose] [-noverbose] [-watch] 
[-nowatch]
+                      [-width columns] [file ...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_e_n_d will cause each of the specified files to  be  
delivered  (via
+                 _p_o_s_t (8))  to each of the destinations in the "To:", 
"cc:", "Bcc:",
+                 and "Fcc:" fields of the message.  If  _s_e_n_d  is  
re-distributing  a
+                 message,  as invoked from _d_i_s_t, then the 
corresponding "Resent-xxx"
+                 fields are examined instead.
+
+                 If `-push' is specified, _s_e_n_d will detach itself  
from  the  user's
+                 terminal and perform its actions in the background.  If 
_p_u_s_h 'd and
+                 the draft can't be sent, then the `-forward' switch says that 
draft
+                 should be forwarded with the failure notice sent to the user. 
 This
+                 differs from putting _s_e_n_d in the background because 
the  output  is
+                 trapped and analyzed by _M_H.
+
+                 If `-verbose' is specified, _s_e_n_d  will  indicate  the 
 interactions
+                 occurring  with the transport system, prior to actual 
delivery.  If
+                 `-watch' is specified _s_e_n_d will monitor the delivery 
of  local  and
+                 network  mail.   Hence, by specifying both switches, a large 
detail
+                 of information can be gathered about each  step  of  the  
message's
+                 entry into the transport system.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 If `-split' is specified, _s_e_n_d will split the  draft  
into  one  or
+                 more  partial  messages  prior  to  sending.  This makes use 
of the
+                 multi-media content feature in MH.  Note however that  if  
_s_e_n_d  is
+                 invoked  under _d_i_s_t (1), then this switch is ignored 
-- it makes no
+                 sense to redistribute a message in  this  fashion.   
Sometimes  you
+                 want  _s_e_n_d  to pause after posting a partial message. 
 This is usu-
+                 ally the case when you are running _s_e_n_d_m_a_i_l 
and expect to  generate
+                 a  lot  of partial messages.  The argument to `-split' tells 
it how
+                 long to pause between postings.
+
+                 _S_e_n_d with no _f_i_l_e argument will query  
whether  the  draft  is  the
+                 intended  file, whereas `-draft' will suppress this question. 
 Once
+                 the transport system has successfully accepted custody of the 
 mes-
+                 sage,  the  file will be renamed with a leading comma, which 
allows
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                          -110-                           
SEND(1)
+
+
+                 it to be retrieved until the next draft message is sent.  If  
there
+                 are errors in the formatting of the message, _s_e_n_d 
will abort with a
+                 (hopefully) helpful error message.
+
+                 If a "Bcc:" field is encountered, its addresses will  be  
used  for
+                 delivery,  and  the  "Bcc:"  field will be removed from the 
message
+                 sent to sighted recipients.  The blind recipients will  
receive  an
+                 entirely  new  message  with a minimal set of headers.  
Included in
+                 the body of the message will be a copy of the message sent  
to  the
+                 sighted  recipients.   If  `-filter filterfile'  is 
specified, then
+                 this copy is filtered (re-formatted) prior to  being  sent  
to  the
+                 blind  recipients.  Otherwise, to use the MIME rules for 
encapsula-
+                 tion, specify the `-mime' switch.
+
+                 Prior to sending the message, the  fields  "From: 
address@hidden",  and
+                 "Date: now" will be appended to the headers in the message.  
If the
+                 envariable $SIGNATURE is set, then its value is used as  your 
 per-
+                 sonal  name  when constructing the "From:" line of the 
message.  If
+                 this envariable is not set, then  _s_e_n_d  will  consult 
 the  profile
+                 entry "Signature" for this information.  On hosts where 
_M_H was con-
+                 figured with the UCI option, if $SIGNATURE is not set and the 
"Sig-
+                 nature"   profile   entry   is   not   present,   then   the  
 file
+                 $HOME/.signature is consulted.  If `-msgid' is  specified,  
then  a
+                 "Message-ID:" field will also be added to the message.
+
+                 If _s_e_n_d is re-distributing a message (when invoked by 
_d_i_s_t ),  then
+                 "Resent-"  will  be  prepended  to  each  of these fields: 
"From:",
+                 "Date:", and "Message-ID:".  If  the  message  already  
contains  a
+                 "From:"  field,  then a "Sender: address@hidden" field will 
be added as
+                 well.  (An already existing "Sender:" field is an error!)
+
+                 By using the `-format' switch, each of the entries in the 
"To:" and
+                 "cc:" fields will be replaced with "standard" format entries. 
 This
+                 standard format is designed to be usable  by  all  of  the  
message
+                 handlers  on  the various systems around the Internet.  If 
`-nofor-
+                 mat' is given, then headers are output exactly as  they  
appear  in
+                 the message draft.
+
+                 If an "Fcc: folder" is encountered, the message will be  
copied  to
+                 the  specified folder for the sender in the format in which 
it will
+                 appear to any non-Bcc receivers of the message.  That is,  it 
 will
+                 have the appended fields and field reformatting.  The "Fcc:" 
fields
+                 will be removed from all outgoing copies of the message.
+
+                 By using the `-width columns' switch, the user can direct  
_s_e_n_d  as
+                 to how long it should make header lines containing addresses.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read (more than one file,  each   preceeded  by  `-alias',  
can  be
+                 named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                          -111-                           
SEND(1)
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Aliasfile:           For a default alias file
+                 Signature:           To determine the user's mail signature
+                 mailproc:            Program to post failure notices
+                 postproc:            Program to post the message
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to <mh-dir>/draft
+                 `-alias /usr/bs/mh-6.8/lib/MailAliases'
+                 `-nodraftfolder'
+                 `-nofilter'
+                 `-format'
+                 `-forward'
+                 `-nomime'
+                 `-nomsgid'
+                 `-nopush'
+                 `-noverbose'
+                 `-nowatch'
+                 `-width 72'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 Under some configurations, it is not possible to mointor  the 
 mail
+                 delivery transaction; `-watch' is a no-op on those systems.
+
+                 Using `-split 0' doesn't work correctly.
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                          -112-                           
SHOW(1)
+
+
+            _N_A_M_E
+                 show - show (list) messages
+
+            _S_Y_N_O_P_S_I_S
+                 show [+folder] [msgs] [-draft] [-header] [-noheader]
+                      [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_h_o_w lists each of the specified messages to  the  
standard  output
+                 (typically,  the  terminal).   Typically,  the  messages are 
listed
+                 exactly as they are, with no reformatting.  A program named 
by  the
+                 _s_h_o_w_p_r_o_c  profile  component  is invoked to 
do the listing, and any
+                 switches not recognized by _s_h_o_w are passed along to  
that  program.
+                 The  default program is known as _m_o_r_e (1).  To 
override the default
+                 and the _s_h_o_w_p_r_o_c profile  component,  use  
the  `-showproc program'
+                 switch.   For  example, `-show pr' will cause the _p_r (1) 
program to
+                 list the messages.  The _M_H command _m_h_l can be used 
as a _s_h_o_w_p_r_o_c to
+                 show  messages in a more uniform format.  Normally, this 
program is
+                 specified as the _s_h_o_w_p_r_o_c is the user's 
.mh_profile.   See  _m_h_l (1)
+                 for  the  details.   If  the  `-noshowproc'  option  is  
specified,
+                 `/bin/cat' is used instead of _s_h_o_w_p_r_o_c.
+
+                 If you have messages with multi-media content,  you  should  
define
+                 the  profile entry _m_h_n_p_r_o_c, which is the name 
of a program to mani-
+                 pulate multi-media messages.  The _m_h_n (1) program is  
suitable  for
+                 this  purpose.   Note that if the _m_h_n_p_r_o_c 
profile entry is defined,
+                 the `-noshowproc' option is NOT specified, and if one or more 
named
+                 messages  has  a multi-media content, then the program 
indicated by
+                 _m_h_n_p_r_o_c will be run instead of 
_s_h_o_w_p_r_o_c.  The use  of  the  _m_h_n_p_r_o_c
+                 can also be disabled if the environment variable $NOMHNPROC 
is set.
+
+                 The `-header' switch tells _s_h_o_w to display a  
one-line  description
+                 of  the  message being shown.  This description includes the 
folder
+                 and the message number.
+
+                 If no `msgs' are specified, the current message is used.   If 
 more
+                 than  one  message  is  specified,  _m_o_r_e will prompt 
for a <RETURN>
+                 prior to listing each message.  _m_o_r_e will list each 
message, a page
+                 at  a  time.   When  the end of page is reached, _m_o_r_e 
will ring the
+                 bell and wait for a <SPACE> or <RETURN>.  If a <RETURN> is 
entered,
+                 _m_o_r_e  will print the next line, whereas <SPACE> will 
print the next
+                 screenful.  To exit _m_o_r_e, type "q".
+
+                 If the standard output is not a terminal, no queries are 
made,  and
+                 each file is listed with a one-line header and two lines of 
separa-
+                 tion.
+
+                 "show -draft" will list the file <mh-dir>/draft if it exists.
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                          -113-                           
SHOW(1)
+
+
+                 then _s_h_o_w will remove each of the messages shown from 
each sequence
+                 named  by  the   profile   entry.    This   is   similar   to 
  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+                 showproc:            Program to show messages
+                 mhnproc:             Program to show messages with 
multi-media con-
+                 tent
+
+
+            _S_e_e _A_l_s_o
+                 mhl(1), more(1), next(1), pick(1), prev(1), scan(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 last
+                 message shown will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                          -114-                           
SHOW(1)
+
+
+            _B_u_g_s
+                 The `-header' switch doesn't work when `msgs' expands to more 
 than
+                 one  message.   If the _s_h_o_w_p_r_o_c is _m_h_l, 
then is problem can be cir-
+                 cumvented by referencing the "messagename" field in the 
_m_h_l  format
+                 file.
+
+                 _S_h_o_w updates the user's context before showing the 
message.   Hence
+                 _s_h_o_w  will  mark messages as seen prior to the user 
actually seeing
+                 them.  This is generally not a problem, unless the user  
relies  on
+                 the  "unseen"  messages  mechanism, and interrupts 
_s_h_o_w while it is
+                 showing "unseen" messages.
+
+                 If _s_h_o_w_p_r_o_c is _m_h_l, then _s_h_o_w 
uses a built-in _m_h_l: it does not  ac-
+                 tually  run  the  _m_h_l  program.   Hence,  if  you  
define  your own
+                 _s_h_o_w_p_r_o_c, don't call it _m_h_l since 
_s_h_o_w won't run it.
+
+                 If _m_o_r_e (1) is your showproc (the default), then 
avoid running _s_h_o_w
+                 in  the  background  with only its standard output piped to 
another
+                 process, as in
+
+                      show | imprint &
+
+                 Due to a bug in _m_o_r_e, show will go into a "tty  
input"  state.   To
+                 avoid  this  problem,  re-direct  _s_h_o_w's diagnostic 
output as well.
+                 For users of _c_s_h:
+
+                      show |& imprint &
+
+                 For users of _s_h:
+
+                      show 2>&1 | imprint &
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -115-                         
SLOCAL(1)
+
+
+            _N_A_M_E
+                 slocal - special local mail delivery
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/slocal [address info sender]
+                      [-addr address] [-info data] [-sender sender]
+                      [-user username] [-mailbox mbox] [-file file]
+                      [-maildelivery deliveryfile] [-verbose] [-noverbose] 
[-debug]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_l_o_c_a_l is a program designed to allow you to have 
your inbound mail
+                 processed according to a complex set of selection criteria.  
You do
+                 not normally invoke _s_l_o_c_a_l yourself, rather 
_s_l_o_c_a_l  is  invoked  on
+                 your behalf by your system's Message Transfer Agent.
+
+                 The message selection criteria used by _s_l_o_c_a_l is 
specified  in  the
+                 file  ._m_a_i_l_d_e_l_i_v_e_r_y  in  the  user's 
home directory.  The format of
+                 this file is given below.
+
+                 The message delivery address and message sender are 
determined from
+                 the  Message  Transfer  Agent  envelope  information,  if 
possible.
+                 Under _S_e_n_d_M_a_i_l, the sender will  obtained  
from  the  UUCP  "From "
+                 line,  if present.  The user may override these values with 
command
+                 line arguments, or arguments to the `-addr' and `-sender' 
switches.
+
+                 The message is normally read from the standard input.  The  
`-file'
+                 switch  sets  the name of the file from which the message 
should be
+                 read, instead of reading stdin.  The `-user'  switch  tells  
_s_l_o_c_a_l
+                 the  name  of the user for whom it is delivering mail.  The 
`-mail-
+                 box' switch tells _s_l_o_c_a_l the name of the user's 
maildrop file.
+
+                 The `-info' switch may be used to pass  an  arbitrary  
argument  to
+                 sub-processes  which  _s_l_o_c_a_l may invoke on your 
behalf.  The `-ver-
+                 bose' switch causes _s_l_o_c_a_l to give information on 
stdout about  its
+                 progress.  The `-debug' switch produces more verbose 
debugging out-
+                 put on stderr.
+
+
+              _M_e_s_s_a_g_e _T_r_a_n_s_f_e_r _A_g_e_n_t_s
+
+                 If your MTA is _S_e_n_d_M_a_i_l, you should include 
the line
+
+                          "| /usr/bs/mh-6.8/lib/slocal -user username"
+
+                 in your .forward file in your  home  directory.   This  will  
cause
+                 _S_e_n_d_M_a_i_l to invoke _s_l_o_c_a_l on your 
behalf.
+
+                 If your MTA is _M_M_D_F-_I, you should (symbolically)  
link  /usr/bs/mh-
+                 6.8/lib/slocal  to  the  file  bin/rcvmail  in your home 
directory.
+                 This will cause _M_M_D_F-_I to invoke _s_l_o_c_a_l 
on  your  behalf  with  the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -116-                         
SLOCAL(1)
+
+
+                 correct "_a_d_d_r_e_s_s _i_n_f_o 
_s_e_n_d_e_r" arguments.
+
+                 If your MTA is  _M_M_D_F-_I_I,  then  you  should  not  
use  _s_l_o_c_a_l.   An
+                 equivalent  functionality is already provided by 
_M_M_D_F-_I_I; see mail-
+                 delivery(5) for details.
+
+
+              _T_h_e _M_a_i_l_d_e_l_i_v_e_r_y _F_i_l_e
+
+
+                 The ._m_a_i_l_d_e_l_i_v_e_r_y file controls how 
local  delivery  is  performed.
+                 Each  line  of  this  file  consists  of  five fields, 
separated by
+                 white-space or comma.  Since double-quotes are honored, these 
char-
+                 acters may be included in a single argument by enclosing the 
entire
+                 argument in double-quotes.   A  double-quote  can  be  
included  by
+                 preceding  it  with  a  backslash.   Lines  beginning  with 
`#' are
+                 ignored.  The format of each line in the 
._m_a_i_l_d_e_l_i_v_e_r_y file is:
+
+
+                         header  pattern action  result  string
+
+                 header:
+                      The name of a header field that is to be searched for  a 
 pat-
+                      tern.   This  is  any field in the headers of the 
message that
+                      might be present.   The  following  special  fields  are 
 also
+                      defined:
+
+                      _s_o_u_r_c_e    the out-of-band sender information
+                      _a_d_d_r      the address that was used to cause 
delivery  to  the
+                                recipient
+                      _d_e_f_a_u_l_t   this  matches  _o_n_l_y  if  
the  message  hasn't   been
+                                delivered yet
+                      *         this always matches
+
+                 pattern:
+                      The sequence of characters to match in  the  specified  
header
+                      field.  Matching is case-insensitive, but does not use 
regular
+                      expressions.
+
+                 action:
+                      The action to take to deliver the message:
+
+                      _d_e_s_t_r_o_y   This action always succeeds.
+
+                      _f_i_l_e or > Append the message to the file named 
by string.  The
+                                message is appended to the file in the 
maildrop for-
+                                mat which is used by your message transport  
system.
+                                If  the  message  can  be appended to the 
file, then
+                                this action succeeds.  When writing to the  
file,  a
+                                "Delivery-Date: date"  header  is  added which 
indi-
+                                cates the date and time that message was 
appended to
+                                the file.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -117-                         
SLOCAL(1)
+
+
+                      _m_b_o_x      Identical to _f_i_l_e, but always  
appends  the  message
+                                using  the  format  used  by _p_a_c_k_f 
(the MMDF mailbox
+                                format).
+
+                      _p_i_p_e or | Pipe the message as the standard input 
to  the  com-
+                                mand  named  by string, using the Bourne shell 
_s_h(1)
+                                to interpret the string.  Prior to giving the 
string
+                                to  the  shell,  it  is  expanded with the 
following
+                                built-in variables:
+
+                                $(sender) the out-of-band sender information
+                                $(address)  the  address  that  was  used  to  
cause
+                                          delivery to the recipient
+                                $(size)   the size of the message in bytes
+                                $(reply-to) either the "Reply-To:" or "From:"  
field
+                                          of the message
+                                $(info)   the out-of-band information specified
+                      _q_p_i_p_e or
+                      <_c_a_r_e_t>   Similar to _p_i_p_e, but 
executes the command  directly,
+                                after  built-in  variable  expansion, without 
assis-
+                                tance from the shell.  This action can  be  
used  to
+                                avoid  quoting  special  characters which your 
shell
+                                might interpret.
+
+                 result:
+                      Indicates how the action should be performed:
+
+                      _A         Perform the action.  If the  action  
succeeds,  then
+                                the message is considered delivered.
+
+                      _R         Perform the action.  Regardless of  the  
outcome  of
+                                the action, the message is not considered 
delivered.
+
+                      ?         Perform the action only if the message has not 
 been
+                                delivered.  If the action succeeds, then the 
message
+                                is considered delivered.
+
+                      _N         Perform the action only if the message has 
not  been
+                                delivered  and  the  previous  action 
succeeded.  If
+                                this action succeeds, then the message is 
considered
+                                delivered.
+
+                 To summarize, here's an example:
+
+                 #_f_i_e_l_d   _p_a_t_t_e_r_n   _a_c_t_i_o_n 
 _r_e_s_u_l_t    _s_t_r_i_n_g
+                 # lines starting with a '#' are ignored, as are blank lines
+                 #
+                 # file mail with mmdf2 in the "To:" line into file mmdf2.log
+                 _T_o       _m_m_d_f_2      _f_i_l_e     _A       
_m_m_d_f_2._l_o_g
+                 # Messages from mmdf pipe to the program err-message-archive
+                 _F_r_o_m     _m_m_d_f       _p_i_p_e     _A      
 /_b_i_n/_e_r_r-_m_e_s_s_a_g_e-_a_r_c_h_i_v_e
+                 # Anything with the "Sender:" address "mh-workers"
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -118-                         
SLOCAL(1)
+
+
+                 # file in mh.log if not filed already
+                 _S_e_n_d_e_r   _m_h-_w_o_r_k_e_r_s 
_f_i_l_e     ?       _m_h._l_o_g
+                 # "To:" unix - put in file unix-news
+                 _T_o       _U_n_i_x        >       _A       
_u_n_i_x-_n_e_w_s
+                 # if the address is jpo=ack - send an acknowledgement copy 
back
+                 _a_d_d_r     _j_p_o=_a_c_k     |       _R       
"/_b_i_n/_r_e_s_e_n_d -_r $(_r_e_p_l_y-_t_o)"
+                 # anything from steve - destroy!
+                 _F_r_o_m     _s_t_e_v_e    _d_e_s_t_r_o_y    
_A       -
+                 # anything not matched yet - put into mailbox
+                 _d_e_f_a_u_l_t  -           >       ?       
_m_a_i_l_b_o_x
+                 # always run rcvtty
+                 *        -           |       _R       
/_m_h/_l_i_b/_r_c_v_t_t_y
+
+                 The file is always read completely, so that several matches 
can  be
+                 made and several actions can be taken.  The 
._m_a_i_l_d_e_l_i_v_e_r_y file must
+                 be owned either by the user or by root, and must be  writable 
 only
+                 by  the  owner.  If the ._m_a_i_l_d_e_l_i_v_e_r_y 
file cannot be found, or does
+                 not perform an action which delivers the  message,  then  the 
 file
+                 /usr/bs/mh-6.8/lib/maildelivery  is  read  according  to  the 
 same
+                 rules.  This file must be owned by the root and  must  be  
writable
+                 only by the root.  If this file cannot be found or does not 
perform
+                 an action which delivers the message, then standard delivery 
to the
+                 user's maildrop is performed.
+
+
+              _S_u_b-_p_r_o_c_e_s_s _e_n_v_i_r_o_n_m_e_n_t
+
+                 When a process is invoked, its environment is:  the  
user/group-ids
+                 are   set   to  recipient's  ids;  the  working  directory  
is  the
+                 recipient's home directory; the umask is 0077; the process  
has  no
+                 /dev/tty;  the  standard  input is set to the message; the 
standard
+                 output and diagnostic output are set to /dev/null; all other  
file-
+                 descriptors  are  closed;  the envariables $USER, $HOME, 
$SHELL are
+                 set appropriately, and no other envariables exist.
+
+                 The process is given a certain amount of time to execute.   
If  the
+                 process  does  not exit within this limit, the process will 
be ter-
+                 minated with extreme prejudice.  The amount of time  is  
calculated
+                 as  ((size  x 60) + 300) seconds, where size is the number of 
bytes
+                 in the message.
+
+                 The exit status of the process is consulted in determining 
the suc-
+                 cess  of  the action.  An exit status of zero means that the 
action
+                 succeeded.  Any other exit status (or abnormal  termination)  
means
+                 that the action failed.
+
+                 In order to avoid any time limitations, you might implement a 
 pro-
+                 cess  that began by _f_o_r_k_i_n_g.  The parent would 
return the appropri-
+                 ate value immediately, and the child could continue on, doing 
what-
+                 ever it wanted for as long as it wanted.  This approach is 
somewhat
+                 risky if the parent is going to return an exit status of 
zero.   If
+                 the  parent  is  going  to return a non-zero exit status, 
then this
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -119-                         
SLOCAL(1)
+
+
+                 approach can lead to quicker delivery into your maildrop.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/mtstailor         MH tailor file
+                 $HOME/.maildelivery                  The file controlling 
local delivery
+                 /usr/bs/mh-6.8/lib/maildelivery      Rather than the standard 
file
+                 /usr/spool/mail/$USER                The default maildrop
+
+
+            _S_e_e _A_l_s_o
+                 rcvstore(1), mhook(1), mh-format(5) , maildelivery(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-noverbose'
+                 `-maildelivery .maildelivery'
+                 `-mailbox /usr/spool/mail/$USER'
+                 `-file' defaults to stdin
+                 `-user' defaults to the current user
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 _S_l_o_c_a_l is designed to be backward-compatible with 
the  _m_a_i_l_d_e_l_i_v_e_r_y
+                 facility  provided by _M_M_D_F-_I_I.  Thus, the 
._m_a_i_l_d_e_l_i_v_e_r_y file syntax
+                 is limited, as is the functionality of _s_l_o_c_a_l.
+
+                 In addition to an exit status of zero, the _M_M_D_F 
values _R_P__M_O_K  (32)
+                 and  _R_P__O_K (9) mean that the message has been fully 
delivered.  Any
+                 other non-zero exit status, including abnormal termination, 
is  in-
+                 terpreted  as the _M_M_D_F value _R_P__M_E_C_H 
(200), which means "use an al-
+                 ternate route" (deliver the message to the maildrop).
+
+
+            _B_u_g_s
+                 Only two return codes are meaningful, others should be.
+
+                 _S_l_o_c_a_l is designed to be backwards-compatible 
with the _m_a_i_l_d_e_l_i_v_e_r_y
+                 functionality provided by MMDF-II.
+
+                 Versions of _M_M_D_F with the 
_m_a_i_l_d_e_l_i_v_e_r_y  mechanism  aren't  entirely
+                 backwards-compatible with earlier versions of _M_M_D_F.  
If you have an
+                 _M_M_D_F-_I old-style hook, the best you can do is to  
have  a  one-line
+                 ._m_a_i_l_d_e_l_i_v_e_r_y file:
+
+                      default - pipe A "bin/rcvmail $(address) $(info) 
$(sender)"
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SORTM(1)                         -120-                          
SORTM(1)
+
+
+            _N_A_M_E
+                 sortm - sort messages
+
+            _S_Y_N_O_P_S_I_S
+                 sortm [+folder] [msgs] [-datefield field] [-textfield field]
+                      [-notextfield] [-limit days] [-nolimit] [-verbose]
+                      [-noverbose] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_o_r_t_m sorts the specified messages in the named 
folder according to
+                 the chronological order of the "Date:" field of each message.
+
+                 The `-verbose' switch directs _s_o_r_t_m to tell the  
user  the  general
+                 actions that it is taking to place the folder in sorted order.
+
+                 The `-datefield field' switch tells _s_o_r_t_m the name 
of the field  to
+                 use  when  making  the  date comparison.  If the user has a 
special
+                 field in each message, such as  "BB-Posted:"  or  
"Delivery-Date:",
+                 then  the  `-datefield'  switch  can  be used to direct 
_s_o_r_t_m which
+                 field to examine.
+
+                 The `-textfield field' switch causes _s_o_r_t_m to sort 
messages by  the
+                 specified  text  field.   If  this  field is "subject", any 
leading
+                 "re:" is stripped off.  In any case, all characters except  
letters
+                 and  numbers  are  stripped  and  the  resulting strings are 
sorted
+                 datefield-major, textfield-minor, using  a  case  insensitive 
 com-
+                 parison.
+
+                 With `-textfield field', if `-limit days'  is  specified,  
messages
+                 with  similar textfields that are dated within `days' of each 
other
+                 appear together.  Specifying `-nolimit' makes the  limit  
infinity.
+                 With   `-limit  0',  the  sort  is  instead  made  
textfield-major,
+                 date-minor.
+
+                 For example, to order a folder by date-major, subject-minor, 
use:
+
+                      sortm -textfield subject +folder
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 folder (1)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SORTM(1)                         -121-                          
SORTM(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-datefield date'
+                 `-notextfield'
+                 `-noverbose'
+                 `-nolimit'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current  folder.   
If  the
+                 current  message  is  moved,  _s_o_r_t_m  will  preserve 
 its  status as
+                 current.
+
+
+            _H_i_s_t_o_r_y
+                 Timezones used to be ignored when comparing dates: they 
aren't  any
+                 more.
+
+                 Messages which were in the folder, but  not  specified  by  
`msgs',
+                 used  to  be  moved to the end of the folder; now such 
messages are
+                 left untouched.
+
+                 Previously, _s_o_r_t_m would try to fill any gaps in a 
folder within the
+                 range  of  messages  it  sorted.  To improve performance, 
_s_o_r_t_m now
+                 minimizes the number of message  moves.   To  pack  a  
folder,  use
+                 "_f_o_l_d_e_r -_p_a_c_k" instead.
+
+
+            _B_u_g_s
+                 If _s_o_r_t_m encounters a message without a date-field, 
or if the  mes-
+                 sage  has a date-field that _s_o_r_t_m cannot parse, 
then _s_o_r_t_m attempts
+                 to keep the message in the same relative position.  This  
does  not
+                 always  work.  For instance, if the first message encountered 
lacks
+                 a date which can be parsed, then it will usually be placed  
at  the
+                 end of the messages being sorted.
+
+                 When _s_o_r_t_m complains about a message which it can't 
temporally ord-
+                 er,  it  complains  about  the message number _p_r_i_o_r 
to sorting.  It
+                 should indicate what the message number will be 
_a_f_t_e_r sorting.
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            VMH(1)                           -122-                            
VMH(1)
+
+
+            _N_A_M_E
+                 vmh - visual front-end to MH
+
+            _S_Y_N_O_P_S_I_S
+                 vmh [-prompt string] [-vmhproc program] [-novmhproc]
+                      [switches for _v_m_h_p_r_o_c] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _v_m_h is a program which implements the server side of 
the _M_H  window
+                 management  protocol  and  uses  _c_u_r_s_e_s (3)  
routines to maintain a
+                 split-screen interface to any program which implements  the  
client
+                 side  of the protocol.  This latter program, called the 
_v_m_h_p_r_o_c, is
+                 specified using the `-vmhproc program' switch.
+
+                 The upshot of all this is that one can run _m_s_h on a 
display  termi-
+                 nal and get a nice visual interface.  To do this, for 
example, just
+                 add the line
+
+                      mshproc: vmh
+
+                 to your .mh_profile.  (This takes advantage of the fact that 
_m_s_h is
+                 the default _v_m_h_p_r_o_c for _v_m_h.)
+
+                 In order to facilitate things, if the `-novmhproc' switch is 
given,
+                 and  _v_m_h  can't  run  on  the  user's  terminal, the 
_v_m_h_p_r_o_c is run
+                 directly without the window management protocol.
+
+                 After initializing the protocol, _v_m_h prompts the user 
for a command
+                 to  be  given to the client.  Usually, this results in output 
being
+                 sent to one or more windows.  If a output to a window  would  
cause
+                 it  to  scroll, _v_m_h prompts the user for instructions, 
roughly per-
+                 mitting the capabilities of _l_e_s_s or  _m_o_r_e  
(e.g.,  the  ability  to
+                 scroll backwards and forwards):
+
+                      SPACE      advance to the next windowful
+                      RETURN  *  advance to the next line
+                      y       *  retreat to the previous line
+                      d       *  advance to the next ten lines
+                      u       *  retreat to the previous ten lines
+                      g       *  go to an arbitrary line
+                                 (preceed g with the line number)
+                      G       *  go to the end of the window
+                                 (if a line number is given, this acts like 
`g')
+                      CTRL-L     refresh the entire screen
+                      h          print a help message
+                      q          abort the window
+
+                 (A `*' indicates that a numeric prefix is meaningful for this 
 com-
+                 mand.)
+
+                 Note that if a command resulted in more than one window's 
worth  of
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            VMH(1)                           -123-                            
VMH(1)
+
+
+                 information  being  displayed,  and  you allow the command 
which is
+                 generating information for the window to gracefully  finish  
(i.e.,
+                 you  don't  use  the `q' command to abort information being 
sent to
+                 the window), then _v_m_h will give you one last change to  
peruse  the
+                 window.   This  is  useful for scrolling back and forth.  
Just type
+                 `q' when you're done.
+
+                 To abnormally terminate _v_m_h (without core dump), use  
<QUIT>  (usu-
+                 ally  CTRL-\).   For instance, this does the "right" thing 
with _b_b_c
+                 and _m_s_h.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+
+
+            _S_e_e _A_l_s_o
+                 msh(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prompt (vmh) '
+                 `-vmhproc msh'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _v_m_h.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+                 At present, there is no way to pass signals (e.g., interrupt, 
quit)
+                 to the client.  However, generating QUIT when _v_m_h is 
reading a com-
+                 mand from the terminal is sufficient to tell the client to go 
 away
+                 quickly.
+
+                 Acts strangely (loses peer or botches  window  management  
protocol
+                 with peer) on random occasions.
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -124-                        
WHATNOW(1)
+
+
+            _N_A_M_E
+                 whatnow - prompting front-end for send
+
+            _S_Y_N_O_P_S_I_S
+                 whatnow [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-prompt string] [file] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _W_h_a_t_n_o_w is the default program that  queries  
the  user  about  the
+                 disposition  of a composed draft.  It is normally invoked by 
one of
+                 _c_o_m_p, _d_i_s_t, _f_o_r_w, or _r_e_p_l 
after the initial edit.
+
+                 When started, the editor is started on the draft (unless  
`-noedit'
+                 is  given,  in  which  case the initial edit is suppressed).  
Then,
+                 _w_h_a_t_n_o_w repetitively prompts the user with 
"What now?" and awaits a
+                 response.  The valid responses are:
+
+                 display         to list the message being 
distributed/replied-to on
+                                 the terminal
+                 edit            to re-edit using the same editor that was 
used on the
+                                 preceding round unless a profile entry
+                                 "<lasteditor>-next: <editor>" names an 
alternate editor
+                 edit <editor>   to invoke <editor> for further editing
+                 list            to list the draft on the terminal
+                 push            to send the message in the background
+                 quit            to terminate the session and preserve the 
draft
+                 quit -delete    to terminate, then delete the draft
+                 refile +folder  to refile the draft into the given folder
+                 send            to send the message
+                 send -watch     to cause the delivery process to be monitored
+                 whom            to list the addresses that the message will 
go to
+                 whom -check     to list the addresses and verify that they are
+                                 acceptable to the transport service
+
+                 For the edit response, any valid switch to  the  editor  is  
valid.
+                 Similarly,  for  the  send  and whom responses, any valid 
switch to
+                 _s_e_n_d (1) and _w_h_o_m (1) commands, respectively, 
are valid.   For  the
+                 push  response,  any  valid  switch  to  _s_e_n_d (1) is 
valid (as this
+                 merely invokes _s_e_n_d with  the  `-push'  option).   
For  the  _r_e_f_i_l_e
+                 response,  any  valid  switch  to  the  
_f_i_l_e_p_r_o_c is valid.  For the
+                 display and list responses, any valid  argument  to  the  
_l_p_r_o_c  is
+                 valid.   If any non-switch arguments are present, then the 
pathname
+                 of the draft will be excluded from the argument list given  
to  the
+                 _l_p_r_o_c (this is useful for listing another _M_H 
message).
+
+                 See _m_h-_p_r_o_f_i_l_e (5) for further information 
about  how  editors  are
+                 used  by MH.  It also discusses how complex envariables can 
be used
+                 to direct _w_h_a_t_n_o_w's actions.
+
+                 The `-prompt string' switch sets the prompting string for 
_w_h_a_t_n_o_w.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -125-                        
WHATNOW(1)
+
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/draft                       The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 <lasteditor>-next:   To name an editor to be used after  exit 
 from
+                 <lasteditor>
+                 automhnproc:         Program to automatically run prior to  
sending
+                                      if the draft is an _m_h_n composition 
file
+                 fileproc:            Program to refile the message
+                 lproc:               Program to list the contents of a message
+                 sendproc:            Program to use to send the message
+                 whomproc:            Program to determine who a message would 
go to
+
+
+            _S_e_e _A_l_s_o
+                 send(1), whom(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prompt "What Now? "'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -126-                        
WHATNOW(1)
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token  by the shell that invokes _w_h_a_t_n_o_w.  
Therefore, one must
+                 usually place the argument to this switch inside 
double-quotes.
+
+                 If the initial edit fails, _w_h_a_t_n_o_w deletes your 
draft (by  renaming
+                 it  with  a  leading  comma); failure of a later edit 
preverves the
+                 draft.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _c_o_m_p, _d_i_s_t, _f_o_r_w, and  
_r_e_p_l  use  a
+                 built-in  _w_h_a_t_n_o_w,  and  do  not  actually run 
the _w_h_a_t_n_o_w program.
+                 Hence, if you define your own 
_w_h_a_t_n_o_w_p_r_o_c, don't  call  it  _w_h_a_t_n_o_w
+                 since it won't be run.
+
+                 If _s_e_n_d_p_r_o_c is _s_e_n_d, then 
_w_h_a_t_n_o_w uses a built-in _s_e_n_d, it does not
+                 actually  run  the  _s_e_n_d  program.   Hence,  if you 
define your own
+                 _s_e_n_d_p_r_o_c, don't call it _s_e_n_d since 
_w_h_a_t_n_o_w won't run it.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHOM(1)                          -127-                           
WHOM(1)
+
+
+            _N_A_M_E
+                 whom - report to whom a message would go
+
+            _S_Y_N_O_P_S_I_S
+                 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [file] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _W_h_o_m is used to expand the headers of  a  message  
into  a  set  of
+                 addresses  and  optionally verify that those addresses are 
deliver-
+                 able at that time (if `-check' is given).
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read (more than one file,  each   preceeded  by  `-alias',  
can  be
+                 named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Aliasfile:           For a default alias file
+                 postproc:            Program to post the message
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to <mh-dir>/draft
+                 `-nocheck'
+                 `-alias /usr/bs/mh-6.8/lib/MailAliases'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHOM(1)                          -128-                           
WHOM(1)
+
+
+            _B_u_g_s
+                 With the `-check' option, _w_h_o_m makes no  guarantees  
that  the  ad-
+                 dresses  listed  as being ok are really deliverable, rather, 
an ad-
+                 dress being listed as ok means that at the time that 
_w_h_o_m  was  run
+                 the address was thought to be deliverable by the transport 
service.
+                 For local addresses, this is absolute; for  network  
addresses,  it
+                 means  that the host is known; for uucp addresses, it (often) 
means
+                 that the _U_U_C_P network is available for use.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+                                                  -129-
+
+
+                 _M_O_R_E _D_E_T_A_I_L_S
+
+                      This section describes some of the more intense points  
of  the  _M_H
+                 system,  by  expanding  on  topics  previously  discussed.   
The  format
+                 presented conforms to the standard form  for  the  
description  of  UNIX
+            documentation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -130-                       
MH-ALIAS(5)
+
+
+            _N_A_M_E
+                 mh-alias - alias file for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 any _M_H command
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 This describes both _M_H personal alias files and the 
(primary) alias
+                 file for mail delivery, the file
+
+                         /usr/bs/mh-6.8/lib/MailAliases
+
+                 It does not describe aliases files used by  the  message  
transport
+                 system.  Each line of the alias file has the format:
+
+                         alias : address-group
+                 or
+                         alias ; address-group
+                 or
+                         < alias-file
+                 or
+                         ; comment
+
+                 where:
+
+                         address-group  :=  address-list
+                                        |   "<" file
+                                        |   "=" UNIX-group
+                                        |   "+" UNIX-group
+                                        |   "*"
+
+                         address-list   :=  address
+                                        |   address-list, address
+
+                 Continuation lines in alias files end with `\' followed by 
the new-
+                 line character.
+
+                 Alias-file and file are UNIX file names.   UNIX-group  is  a  
group
+                 name  (or  number)  from  /_e_t_c/_g_r_o_u_p.   An  
address  is  a "simple"
+                 Internet-style address.  Througout  this  file,  case  is  
ignored,
+                 except for alias-file names.
+
+                 If the line starts with a `<', then the file named after the 
`<' is
+                 read  for more alias definitions.  The reading is done 
recursively,
+                 so a `<' may occur in the beginning  of  an  alias  file  
with  the
+                 expected results.
+
+                 If the address-group starts with a `<', then the file  named  
after
+                 the  `<' is read and its contents are added to the 
address-list for
+                 the alias.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -131-                       
MH-ALIAS(5)
+
+
+                 If the address-group starts with an `=', then the  file  
/_e_t_c/_g_r_o_u_p
+                 is  consulted  for  the UNIX-group named after the `='.  Each 
login
+                 name  occurring  as  a  member  of  the  group  is  added  to 
  the
+                 address-list for the alias.
+
+                 In contrast, if the address-group starts with a `+', then the 
 file
+                 /_e_t_c/_g_r_o_u_p is consulted to determine the 
group-id of the UNIX-group
+                 named after the `+'.  Each login name occurring in the  
/_e_t_c/_p_a_s_s_w_d
+                 file  whose  group-id  is  indicated  by this group is added 
to the
+                 address-list for the alias.
+
+                 If the address-group is simply `*', then the  file  
/_e_t_c/_p_a_s_s_w_d  is
+                 consulted and all login names with a userid greater than some 
magic
+                 number (usually 200) are added to the address-list for the 
alias.
+
+                 In match, a trailing * on an alias will match just  about  
anything
+                 appropriate.  (See example below.)
+
+                 An approximation of the way aliases are resolved at posting 
time is
+                 (it's not really done this way):
+
+                      1) Build a list of  all  addresses  from  the  message  
to  be
+                      delivered, eliminating duplicate addresses.
+
+                      2) If this draft originated on the local host, then for  
those
+                      addresses  in the message that have no host specified, 
perform
+                      alias resolution.
+
+                      3) For each line in the alias file,  compare  "alias"  
against
+                      all of the existing addresses.  If a match, remove the 
matched
+                      "alias" from the address list, and add each new address 
in the
+                      address-group  to the address list if it is not already 
on the
+                      list.  The alias itself is  not  usually  output,  
rather  the
+                      address-group  that  the  alias maps to is output 
instead.  If
+                      "alias" is terminated with a `;' instead of a `:',  then 
 both
+                      the  "alias" and the address are output in the correct 
format.
+                      (This makes replies possible since  _M_H  aliases  and 
 personal
+                      aliases are unknown to the mail transport system.)
+
+                 Since the alias file is read line by line, forward references 
work,
+                 but  backward  references  are  not  recognized,  thus, there 
is no
+                 recursion.
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -132-                       
MH-ALIAS(5)
+
+
+                 Example:
+                      </usr/bs/mh-6.8/lib/BBoardAliases
+                      sgroup: fred, fear, freida
+                      b-people: Blind List: bill, betty;
+                      fred: address@hidden
+                      UNIX-committee: <unix.aliases
+                      staff: =staff
+                      wheels: +wheel
+                      everyone: *
+                      news.*: news
+
+                 The first line says that more aliases should  immediately  be 
 read
+                 from  the  file  
/_u_s_r/_b_s/_m_h-_6._8/_l_i_b/_B_B_o_a_r_d_A_l_i_a_s_e_s.
  Following this,
+                 "fred" is defined as an alias for  "address@hidden",  and  
"sgroup"  is
+                 defined  as  an alias for the three names "address@hidden", 
"fear", and
+                 "freida".
+
+                 The alias "b-people" is a blind list which includes  the  
addresses
+                 "bill"   and  "betty";  the  message  will  be  delieved  to  
those
+                 addresses, but the message header will  show only "Blind  
List:  ;"
+                 (not the addresses).
+
+                 Next, the definition of "UNIX-committee" is given  by  
reading  the
+                 file  _u_n_i_x._a_l_i_a_s_e_s in the users _M_H 
directory, "staff" is defined as
+                 all users who are listed as members of the  group  "staff"  
in  the
+                 /_e_t_c/_g_r_o_u_p  file,  and  "wheels"  is  defined 
 as  all  users whose
+                 group-id in /_e_t_c/_p_a_s_s_w_d is equivalent to 
the "wheel" group.
+
+                 Finally, "everyone" is defined as  all  users  with  a  
user-id  in
+                 /_e_t_c/_p_a_s_s_w_d   greater  than  200,  and  all 
 aliases  of  the  form
+                 "news.<anything>" are defined to be "news".
+
+                 The key thing to understand about aliasing in _M_H is that 
aliases in
+                 _M_H  alias  files  are expanded into the headers of 
messages posted.
+                 This aliasing occurs first, at posting time, without the  
knowledge
+                 of  the  message  transport  system.  In contrast, once the 
message
+                 transport system is given  a  message  to  deliver  to  a  
list  of
+                 addresses, for each address that appears to be local, a 
system-wide
+                 alias file is consulted.  These aliases are NOT expanded  
into  the
+                 headers of messages delivered.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 To use aliasing in _M_H quickly, do the following:
+
+                      First, in your ._m_h__p_r_o_f_i_l_e, choose a 
name for your alias file,
+                      say "aliases", and add the line:
+
+                           Aliasfile: aliases
+
+                      Second, create the file "aliases" in your _M_H 
directory.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -133-                       
MH-ALIAS(5)
+
+
+                      Third,  start  adding  aliases  to  your  "aliases"  
file   as
+                      appropriate.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/MailAliases       Primary alias file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Aliasfile:           For a default alias file
+
+
+            _S_e_e _A_l_s_o
+                 ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), 
post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 In previous releases of _M_H, only  a  single,  system-wide 
 mh-alias
+                 file  was  supported.  Now that _M_H uses _M_M_D_F as a 
transport system,
+                 the system-wide aliasing facility can  be  more  consistently 
 con-
+                 trolled  by  the  latter.   This  means  that  at  most  
sites, the
+                 system-wide mh-alias file will  be  empty  (or  trivial  at  
best).
+                 Hence,  the semantics of mh-alias were extended to support 
personal
+                 alias files.  Users of _M_H no longer need to bother 
mail-system  ad-
+                 ministrators for keeping information in the system-wide alias 
file,
+                 as each _M_H user can create/modify/remove aliases at will  
from  any
+                 number of personal files.
+
+
+            _B_u_g_s
+                 Although  the  forward-referencing  semantics  of  
_m_h-_a_l_i_a_s   files
+                 prevent  recursion,  the  "< alias-file"  command  may defeat 
this.
+                 Since the number of file descriptors is finite (and very  
limited),
+                 such  infinite recursion will terminate with a meaningless 
diagnos-
+                 tic when all the fds are used up.
+
+                 Forward references do not work correctly inside blind lists.
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -134-                      
MH-FORMAT(5)
+
+
+            _N_A_M_E
+                 mh-format - format file for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 some _M_H commands
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Several _M_H commands utilize either a _f_o_r_m_a_t 
string or a _f_o_r_m_a_t file
+                 during their execution.  For example, _s_c_a_n (1) uses a 
format string
+                 which directs it how to generate the scan listing for each 
message;
+                 _r_e_p_l (1)  uses  a  format file which directs it how 
to generate the
+                 reply to a message, and so on.
+
+                 Format strings are designed to be efficiently parsed  by  
_M_H  which
+                 means  they  are  not  necessarily  simple to write and 
understand.
+                 This means that novice, casual, or even advanced users of 
_M_H should
+                 not  have  to deal with them.  Some canned scan listing 
formats are
+                 in /usr/bs/mh-6.8/lib/scan.time, 
/usr/bs/mh-6.8/lib/scan.size,  and
+                 /usr/bs/mh-6.8/lib/scan.timely.   Look  in  
/usr/bs/mh-6.8/lib  for
+                 other _s_c_a_n and _r_e_p_l format files which may  
have  been  written  at
+                 your site.
+
+                 It suffices to have your local _M_H expert actually write 
new  format
+                 commands or modify existing ones.  This manual section 
explains how
+                 to do that.   Note:  familiarity  with  the  C  
_p_r_i_n_t_f  routine  is
+                 assumed.
+
+                 A format string consists  of  ordinary  text,  and  special  
multi-
+                 character _e_s_c_a_p_e sequences which begin with `%'.  
When specifying a
+                 format string, the usual C backslash characters are honored:  
`\b',
+                 `\f', `\n', `\r', and `\t'.  Continuation lines in format 
files end
+                 with `\' followed by the newline character.  There are three  
types
+                 of  _e_s_c_a_p_e  sequences:  header  
_c_o_m_p_o_n_e_n_t_s, built-in _f_u_n_c_t_i_o_n_s, and
+                 flow _c_o_n_t_r_o_l.
+
+                 A _c_o_m_p_o_n_e_n_t escape is specified as 
`%{_c_o_m_p_o_n_e_n_t}', and  exists  for
+                 each  header  found  in  the  message being processed.  For 
example
+                 `%{date}' refers to the "Date:" field of the  appropriate  
message.
+                 All  component  escapes  have  a string value.  Normally, 
component
+                 values are compressed by converting any control characters 
(tab and
+                 newline  included)  to spaces, then eliding any leading or 
multiple
+                 spaces.  However, commands may give  different  
interpretations  to
+                 some  component  escapes; be sure to refer to each command's 
manual
+                 entry for complete details.
+
+                 A _f_u_n_c_t_i_o_n escape is specified as 
`%(_f_u_n_c_t_i_o_n)'.  All functions are
+                 built-in, and most have a string or numeric value.
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -135-                      
MH-FORMAT(5)
+
+
+              _C_o_n_t_r_o_l-_f_l_o_w _e_s_c_a_p_e_s
+
+                 A _c_o_n_t_r_o_l escape is one of: `%<', `%?', `%|', 
or  `%>'.  These  are
+                 combined into the conditional execution construct:
+
+                         %<condition
+                                 _f_o_r_m_a_t _t_e_x_t _1
+                         %?condition2
+                                 _f_o_r_m_a_t _t_e_x_t _2
+                         %?condition3
+                                 _f_o_r_m_a_t _t_e_x_t _3
+                         ...
+                         %|
+                                 _f_o_r_m_a_t _t_e_x_t _N
+                         %>
+
+                 Extra white space is shown here only for clarity.  These 
constructs
+                 may   be   nested   without   ambiguity.    They   form  a  
general
+                 if-elseif-else-endif block where only one of the 
_f_o_r_m_a_t  _t_e_x_t  seg-
+                 ments is interpreted.
+
+                 The `%<'  and  `%?'  control  escapes  causes  a  condition  
to  be
+                 evaluated.  This condition may be either a 
_c_o_m_p_o_n_e_n_t or a _f_u_n_c_t_i_o_n.
+                 The four constructs have the following syntax:
+
+                         %<{component}
+                         %<(function)
+                         %?{component}
+                         %?(function)
+
+                 These control escapes test whether the function or component  
value
+                 is   non-zero  (for  integer-valued  escapes),  or  non-empty 
 (for
+                 string-valued escapes).
+
+                 If this test evaulates true, then the format text up  to  the 
 next
+                 corresponding control escape (one of `%|', `%?', or `%>') is 
inter-
+                 preted normally.   Next,  all  format  text  (if  any)  up  
to  the
+                 corresponding  `%>'  control  escape  is skipped.  The `%>' 
control
+                 escape is not interpreted; normal interpretation resumes 
after  the
+                 `%>' escape.
+
+                 If the test evaluates false, however, then the format  text  
up  to
+                 the next corresponding control escape (again, one of `%|', 
`%?', or
+                 `%>') is skipped, instead of being  interpreted.   If  the  
control
+                 escape  encountered  was  `%?',  then the condition 
associated with
+                 that control escape is evaluated, and interpretation proceeds 
after
+                 that  test  as described in the previous paragraph.  If the 
control
+                 escape encountered was  `%|',  then  the  format  text  up  
to  the
+                 corresponding  `%>'  escape is interpreted normally.  As 
above, the
+                 `%>' escape is not interpreted and  normal  interpretation  
resumes
+                 after the `%>' escape.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -136-                      
MH-FORMAT(5)
+
+
+                 The `%?' control escape and its following format text is  
optional,
+                 and  may  be  included zero or more times.  The `%|' control 
escape
+                 and its following format text is also optional, and may be 
included
+                 zero or one times.
+
+
+              _F_u_n_c_t_i_o_n _e_s_c_a_p_e_s
+
+                 Most functions expect an argument of a particular type:
+
+                 _A_r_g_u_m_e_n_t _D_e_s_c_r_i_p_t_i_o_n    
        _E_x_a_m_p_l_e _S_y_n_t_a_x
+                 literal  A literal number,      %(_f_u_n_c 1234)
+                          or string              %(_f_u_n_c text string)
+                 comp     Any header component   
%(_f_u_n_c{_i_n-_r_e_p_l_y-_t_o})
+                 date     A date component       %(_f_u_n_c{_d_a_t_e})
+                 addr     An address component   %(_f_u_n_c{_f_r_o_m})
+                 expr     An optional component, 
%(_f_u_n_c(_f_u_n_c_2))
+                          function or control,   %(_f_u_n_c 
%<{_r_e_p_l_y-_t_o}%|%{_f_r_o_m}%>)
+                          perhaps nested         
%(_f_u_n_c(_f_u_n_c_2{_c_o_m_p}))
+
+                 The types _d_a_t_e and _a_d_d_r have the same syntax 
as _c_o_m_p,  but  require
+                 that  the  header  component  be  a date string, or address 
string,
+                 respectively.
+
+                 All arguments except those of type _e_x_p_r are required. 
 For the _e_x_p_r
+                 argument  type,  the  leading `%' must be omitted for 
component and
+                 function escape arguments, and must  be  present  (with  a  
leading
+                 space) for control escape arguments.
+
+                 The evaluation of format strings is based on a simple machine 
 with
+                 an  integer  register  _n_u_m, and a text string register 
_s_t_r.  When a
+                 function escape is processed, if it accepts an optional 
_e_x_p_r  argu-
+                 ment which is not present, it reads the current value of 
either _n_u_m
+                 or _s_t_r as appropriate.
+
+
+              _R_e_t_u_r_n _v_a_l_u_e_s
+
+                 Component escapes write the value of their message header  in 
 _s_t_r.
+                 Function  escapes  write  their  return  value in _n_u_m 
for functions
+                 returning _i_n_t_e_g_e_r or _b_o_o_l_e_a_n  
values,  and  in  _s_t_r  for  functions
+                 returning string values.  (The _b_o_o_l_e_a_n type is 
a subset of integers
+                 with usual values 0=false and 1=true.)  Control  escapes  
return  a
+                 _b_o_o_l_e_a_n value, and set _n_u_m.
+
+                 All component escapes, and those function escapes which  
return  an
+                 _i_n_t_e_g_e_r  or  _s_t_r_i_n_g  value, pass 
this value back to their caller in
+                 addition to setting _s_t_r or _n_u_m.  These escapes 
will print out  this
+                 value  unless  called  as  part  of  an  argument to another 
escape
+                 sequence.  Escapes which return a _b_o_o_l_e_a_n value 
do pass this  value
+                 back to their caller in _n_u_m, but will never print out 
the value.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -137-                      
MH-FORMAT(5)
+
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 msg                 integer  message number
+                 cur                 integer  message is current
+                 size                integer  size of message
+                 strlen              integer  length of _s_t_r
+                 width               integer  output buffer size in bytes
+                 charleft            integer  bytes left in output buffer
+                 timenow             integer  seconds since the UNIX epoch
+                 me                  string   the user's mailbox
+                 eq         literal  boolean  _n_u_m == _a_r_g
+                 ne         literal  boolean  _n_u_m != _a_r_g
+                 gt         literal  boolean  _n_u_m > _a_r_g
+                 match      literal  boolean  _s_t_r contains _a_r_g
+                 amatch     literal  boolean  _s_t_r starts with _a_r_g
+                 plus       literal  integer  _a_r_g plus _n_u_m
+                 minus      literal  integer  _a_r_g minus _n_u_m
+                 divide     literal  integer  _n_u_m divided by _a_r_g
+                 modulo     literal  integer  _n_u_m modulo _a_r_g
+                 num        literal  integer  Set _n_u_m to _a_r_g
+                 lit        literal  string   Set _s_t_r to _a_r_g
+                 getenv     literal  string   Set _s_t_r to environment 
value of _a_r_g
+                 nonzero    expr     boolean  _n_u_m is non-zero
+                 zero       expr     boolean  _n_u_m is zero
+                 null       expr     boolean  _s_t_r is empty
+                 nonnull    expr     boolean  _s_t_r is non-empty
+                 void       expr              Set _s_t_r or _n_u_m
+                 comp       comp     string   Set _s_t_r to component text
+                 compval    comp     integer  _n_u_m set to 
"atoi(_c_o_m_p)"
+                 trim       expr              trim trailing white-space from 
_s_t_r
+                 putstr     expr              print _s_t_r
+                 putstrf    expr              print _s_t_r in a fixed width
+                 putnum     expr              print _n_u_m
+                 putnumf    expr              print _n_u_m in a fixed width
+
+                 These functions require a date component as an argument:
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 sec        date     integer  seconds of the minute
+                 min        date     integer  minutes of the hour
+                 hour       date     integer  hours of the day (0-23)
+                 wday       date     integer  day of the week (Sun=0)
+                 day        date     string   day of the week (abbrev.)
+                 weekday    date     string   day of the week
+                 sday       date     integer  day of the week known?
+                                              (0=implicit,-1=unknown)
+                 mday       date     integer  day of the month
+                 yday       date     integer  day of the year
+                 mon        date     integer  month of the year
+                 month      date     string   month of the year (abbrev.)
+                 lmonth     date     string   month of the year
+                 year       date     integer  year (may be > 100)
+                 zone       date     integer  timezone in hours
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -138-                      
MH-FORMAT(5)
+
+
+                 tzone      date     string   timezone string
+                 szone      date     integer  timezone explicit?
+                                              (0=implicit,-1=unknown)
+                 date2local date              coerce date to local timezone
+                 date2gmt   date              coerce date to GMT
+                 dst        date     integer  daylight savings in effect?
+                 clock      date     integer  seconds since the UNIX epoch
+                 rclock     date     integer  seconds prior to current time
+                 tws        date     string   official 822 rendering
+                 pretty     date     string   user-friendly rendering
+                 nodate     date     integer  _s_t_r not a date string
+
+                 These functions require an address component as  an  
argument.  The
+                 return  value of functions noted with `*' pertain only to the 
first
+                 address present in the header component.
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 proper     addr     string   official 822 rendering
+                 friendly   addr     string   user-friendly rendering
+                 addr       addr     string   address@hidden or host!mbox 
rendering*
+                 pers       addr     string   the personal name*
+                 note       addr     string   commentary text*
+                 mbox       addr     string   the local mailbox*
+                 mymbox     addr     integer  the user's addresses? 
(0=no,1=yes)
+                 host       addr     string   the host domain*
+                 nohost     addr     integer  no host was present*
+                 type       addr     integer  host type* (0=local,1=network,
+                                              -1=uucp,2=unknown)
+                 path       addr     string   any leading host route*
+                 ingrp      addr     integer  address was inside a group*
+                 gname      addr     string   name of group*
+                 formataddr expr              append _a_r_g to _s_t_r as 
a
+                                              (comma separated) address list
+                 putaddr    literal           print _s_t_r address list with
+                                              _a_r_g as optional label;
+                                              get line width from _n_u_m
+
+                 When escapes are nested, evaluation  is  done  from  
inner-most  to
+                 outer-most.   The  outer-most escape must begin with `%'; the 
inner
+                 escapes must not.  For example,
+
+                      %<(mymbox{from}) To: %{to}%>
+
+                 writes the value of the header component "From:" to 
_s_t_r; then (_m_y_m_-
+                 _b_o_x)  reads  _s_t_r  and  writes  its  result to 
_n_u_m; then the control
+                 escape evaluates _n_u_m.  If _n_u_m is non-zero, the  
string  "To:  "  is
+                 printed followed by the value of the header component "To:".
+
+                 A minor explanation of (_m_y_m_b_o_x{_c_o_m_p}) is 
in order.  In general,  it
+                 checks each of the addresses in the header component 
"_c_o_m_p" against
+                 the user's mailbox name and any  
_A_l_t_e_r_n_a_t_e-_M_a_i_l_b_o_x_e_s.   It  returns
+                 true  if  any address matches, however, it also returns true 
if the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -139-                      
MH-FORMAT(5)
+
+
+                 "_c_o_m_p" header is not present in the message.  If 
needed, the (_n_u_l_l)
+                 function can be used to explicitly test for this condition.
+
+                 When a function or component escape is interpreted and  the  
result
+                 will  be immediately printed, an optional field width can be 
speci-
+                 fied to print the field in exactly a given  number  of  
characters.
+                 For  example,  a  numeric escape like %4(_s_i_z_e) will 
print at most 4
+                 digits of the message size; overflow will be indicated by a 
`?'  in
+                 the first position (like `?234').  A string escape like 
%4(_m_e) will
+                 print the first 4 characters and truncate at the end. Short  
fields
+                 are  padded  at  the  right  with  the  fill character 
(normally, a
+                 blank).  If the field width argument begins with  a  leading  
zero,
+                 then the fill character is set to a zero.
+
+                 As above, the functions (_p_u_t_n_u_m_f) and 
(_p_u_t_s_t_r_f) print their  result
+                 in  exactly  the  number  of  characters specified by their 
leading
+                 field width argument. For example,  
%06(_p_u_t_n_u_m_f(_s_i_z_e))  will  print
+                 the message size in a field six characters wide filled with 
leading
+                 zeros; %14(_p_u_t_s_t_r_f{_f_r_o_m}) will print 
the "From:"  header  component
+                 in  fourteen  characters with trailing spaces added as 
needed.  For
+                 _p_u_t_s_t_r_f, using a negative value for the field 
width  causes  right-
+                 justification  of  the string within the field, with padding 
on the
+                 left up to the field width.  The functions  
(_p_u_t_n_u_m)  and  (_p_u_t_s_t_r)
+                 print  their  result  in the minimum number of characters 
required,
+                 and ignore any leading field width argument.
+
+                 The available output width is kept in  an  internal  
register;  any
+                 output past this width will be truncated.
+
+                 Comments may be inserted in most places where a  function  
argument
+                 is  not expected.  A comment begins with `%;' and ends with a 
(non-
+                 escaped) newline.
+
+                 With all this in mind, here's the default format string  for  
_s_c_a_n.
+                 It's  been  divided into several pieces for readability.  The 
first
+                 part is:
+
+                      %4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>
+
+                 which says that the  message  number  should  be  printed  in 
 four
+                 digits,  if  the  message  is the current message then a `+' 
else a
+                 space should be printed, and if a "Replied:" field is present 
 then
+                 a  `-'  else if an "Encrypted:" field is present then an `E' 
other-
+                 wise a space should be printed.  Next:
+
+                      %02(mon{date})/%02(mday{date})
+
+                 the month  and  date  are  printed  in  two  digits  (zero  
filled)
+                 separated by a slash.  Next,
+
+                      %<{date} %|*>
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -140-                      
MH-FORMAT(5)
+
+
+                 If a "Date:" field was present, then a space is printed,  
otherwise
+                 a `*'.  Next,
+
+                      %<(mymbox{from})%<{to}To:%14(friendly{to})%>%>
+
+                 if the message is from me, and there is a "To:" header, print 
`To:'
+                 followed by a "user-friendly" rendering of the first address 
in the
+                 "To:" field.  Continuing,
+
+                      %<(zero)%17(friendly{from})%>
+
+                 if either of the above two tests failed, then the  "From:"  
address
+                 is printed in a "user-friendly" format.  And finally,
+
+                      %{subject}%<{body}<<%{body}%>
+
+                 the subject and initial body (if any) are printed.
+
+                 For a more complicated example, next consider the default 
_r_e_p_l_c_o_m_p_s
+                 format file.
+
+                      %(lit)%(formataddr %<{reply-to}
+
+                 This clears _s_t_r and formats the "Reply-To:" header if 
present.   If
+                 not present, the else-if clause is executed.
+
+                      %?{from}%?{sender}%?{return-path}%>)\
+
+                 This formats the "From:",  "Sender:"  and  "Return-Path:"  
headers,
+                 stopping as soon as one of them is present.  Next:
+
+                      %<(nonnull)%(void(width))%(putaddr To: )\n%>\
+
+                 If the _f_o_r_m_a_t_a_d_d_r result is non-null, it 
is printed as  an  address
+                 (with  line folding if needed) in a field _w_i_d_t_h 
wide with a leading
+                 label of "To: ".
+
+                      
%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
+
+                 _s_t_r is cleared, and the "To:" and "Cc:"  headers,  
along  with  the
+                 user's  address  (depending  on  what  was specified with the 
"-cc"
+                 switch to _r_e_p_l) are formatted.
+
+                      %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
+
+                 If the result is non-null, it is printed as above  with  a  
leading
+                 label of "cc: ".
+
+                      %<{fcc}Fcc: %{fcc}\n%>\
+
+                 If a "-fcc folder" switch was given to _r_e_p_l (see 
_r_e_p_l (1) for  more
+                 details about %{_f_c_c}), an "Fcc:" header is output.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -141-                      
MH-FORMAT(5)
+
+
+                      %<{subject}Subject: Re: %{subject}\n%>\
+
+                 If a subject component was present, a  suitable  reply  
subject  is
+                 output.
+
+                      %<{date}In-reply-to: Your message of "\
+                      
%<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
+                                   %{message-id}%>\n%>\
+                      --------
+
+                 If a date component was present, an "In-Reply-To:" header is 
output
+                 with the preface "Your message of ".  If the date was 
parseable, it
+                 is output in a user-friendly format, otherwise it is output  
as-is.
+                 The message-id is included if present.  As with all 
plain-text, the
+                 row of dashes are output as-is.
+
+                 This last part is a good example for  a  little  more  
elaboration.
+                 Here's that part again in pseudo-code:
+
+                      if (comp_exists(date))  then
+                           print ("In-reply-to: Your message of \"")
+                           if (not_date_string(date.value) then
+                                print (date.value)
+                           else
+                                print (pretty(date.value))
+                           endif
+                           print ("\"")
+                           if (comp_exists(message-id)) then
+                                print ("\n\t")
+                                print (message-id.value)
+                           endif
+                           print ("\n")
+                      endif
+
+                 Although this seems complicated, in point of fact, this  
method  is
+                 flexible  enough to extract individual fields and print them 
in any
+                 format the user desires.
+
+            _F_i_l_e_s
+                 None
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 scan(1), repl(1), ap(8), dp(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -142-                      
MH-FORMAT(5)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 This software was contributed for MH 6.3.  Prior  to  this,  
output
+                 format  specifications  were much easier to write, but 
considerably
+                 less flexible.
+
+
+            _B_u_g_s
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -143-                        
MH-MAIL(5)
+
+
+            _N_A_M_E
+                 mh-mail - message format for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 any _M_H command
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_H processes messages in a particular format.  It should  
be  noted
+                 that  although  neither  Bell  nor Berkeley mailers produce 
message
+                 files in the format that _M_H prefers, _M_H can read 
message  files  in
+                 that antiquated format.
+
+                 Each user possesses a mail drop box which  initially  
receives  all
+                 messages  processed  by _p_o_s_t (8).  _I_n_c (1) will 
read from that drop
+                 box and incorporate the new messages found there  into  the  
user's
+                 own  mail folders (typically `+inbox').  The mail drop box 
consists
+                 of one or more messages.  To facilitate the separation of 
messages,
+                 each  message begins and ends with a line consisting of 
nothing but
+                 four CTRL-A (octal 001) characters.
+
+                 Messages are expected to consist of lines of  text.   
Graphics  and
+                 binary data are not handled.  No data compression is 
accepted.  All
+                 text is clear ASCII 7-bit data.
+
+                 The general "memo" framework of RFC-822 is used.   A  message 
 con-
+                 sists of a block of information in a rigid format, followed 
by gen-
+                 eral text with no specified format.  The  rigidly  formatted  
first
+                 part of a message is called the header, and the free-format 
portion
+                 is called the body.  The header must always exist, but the 
body  is
+                 optional.   These  parts  are separated by an empty line, 
i.e., two
+                 consecutive newline characters.  Within _M_H, the header 
and body may
+                 be separated by a line consisting of dashes:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 The header is composed of one or more header  items.   Each  
header
+                 item  can  be  viewed as a single logical line of ASCII 
characters.
+                 If the text of a header item extends across several real 
lines, the
+                 continuation lines are indicated by leading spaces or tabs.
+
+                 Each header item is called a component and is composed of a 
keyword
+                 or  name,  along  with  associated text.  The keyword begins 
at the
+                 left margin, may NOT contain spaces or  tabs,  may  not  
exceed  63
+                 characters  (as specified by RFC-822), and is terminated by a 
colon
+                 (`:').  Certain components (as identified by their  keywords) 
 must
+                 follow rigidly defined formats in their text portions.
+
+                 The  text  for  most  formatted  components  (e.g.,   "Date:" 
  and
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -144-                        
MH-MAIL(5)
+
+
+                 "Message-Id:") is produced automatically.  The only ones 
entered by
+                 the user are address fields such as "To:",  "cc:",  etc.   
Internet
+                 addresses  are  assigned mailbox names and host computer 
specifica-
+                 tions.  The rough format is "address@hidden", such  as  
"address@hidden",  or
+                 "address@hidden".  Multiple addresses are separated by 
commas.  A
+                 missing host/domain is assumed to be the local host/domain.
+
+                 As mentioned above, a blank line (or a line of dashes) 
signals that
+                 all  following text up to the end of the file is the body.  
No for-
+                 matting is expected or enforced within the body.
+
+                 Following is a list of header components that are considered  
mean-
+                 ingful to various MH programs.
+                 Date:
+                      Added by _p_o_s_t (8), contains date and  time  of  
the  message's
+                      entry into the transport system.
+
+                 From:
+                      Added by _p_o_s_t (8), contains  the  address  of  
the  author  or
+                      authors  (may  be  more  than  one  if  a  "Sender:"  
field is
+                      present).  Replies are typically directed to addresses 
in  the
+                      "Reply-To:"  or  "From:"  field  (the former has 
precedence if
+                      present).
+
+                 Sender:
+                      Added by _p_o_s_t (8) in the event that the message 
already has  a
+                      "From:"  line.   This  line contains the address of the 
actual
+                      sender.  Replies are never sent to addresses in the  
"Sender:"
+                      field.
+
+                 To:
+                      Contains addresses of primary recipients.
+
+                 cc:
+                      Contains addresses of secondary recipients.
+
+                 Bcc:
+                      Still more recipients.  However, the "Bcc:" line is not 
copied
+                      onto  the  message  as  delivered, so these recipients 
are not
+                      listed.  _M_H uses an encapsulation method for blind 
copies, see
+                      _s_e_n_d (1).
+
+                 Fcc:
+                      Causes _p_o_s_t (8) to copy the message into the 
specified  folder
+                      for  the  sender, if the message was successfully given 
to the
+                      transport system.
+
+                 Message-ID:
+                      A unique message identifier added by _p_o_s_t (8) if 
the  `-msgid'
+                      flag is set.
+
+                 Subject:
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -145-                        
MH-MAIL(5)
+
+
+                      Sender's commentary.  It is displayed by _s_c_a_n 
(1).
+
+                 In-Reply-To:
+                      A commentary line added by _r_e_p_l (1) when 
replying  to  a  mes-
+                      sage.
+
+                 Resent-Date:
+                      Added when redistributing a message by _p_o_s_t (8).
+
+                 Resent-From:
+                      Added when redistributing a message by _p_o_s_t (8).
+
+                 Resent-To:
+                      New recipients for a message resent by _d_i_s_t (1).
+
+                 Resent-cc:
+                      Still more recipients.  See "cc:" and "Resent-To:".
+
+                 Resent-Bcc:
+                      Even more recipients.  See "Bcc:" and "Resent-To:".
+
+                 Resent-Fcc:
+                      Copy  resent  message  into  a   folder.    See   "Fcc:" 
  and
+                      "Resent-To:".
+
+                 Resent-Message-Id:
+                      A unique identifier glued on by _p_o_s_t (8) if the 
`-msgid'  flag
+                      is set.  See "Message-Id:" and "Resent-To:".
+
+                 Resent:
+                      Annotation for _d_i_s_t (1) under the `-annotate' 
option.
+
+                 Forwarded:
+                      Annotation for _f_o_r_w (1) under the `-annotate' 
option.
+
+                 Replied:
+                      Annotation for _r_e_p_l (1) under the `-annotate' 
option.
+
+
+            _F_i_l_e_s
+                 /usr/spool/mail/$USER                Location of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -146-                        
MH-MAIL(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -147-                     
MH-PROFILE(5)
+
+
+            _N_A_M_E
+                 mh-profile - user profile customization for MH message handler
+
+            _S_Y_N_O_P_S_I_S
+                 ._m_h__p_r_o_f_i_l_e
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Each user of _M_H is expected to have a file named 
._m_h__p_r_o_f_i_l_e in his
+                 or her home directory.  This file contains a set of user 
parameters
+                 used by some or all of the _M_H family of programs.  Each 
line of the
+                 file is of the format
+
+                     _p_r_o_f_i_l_e-_c_o_m_p_o_n_e_n_t: 
_v_a_l_u_e
+
+                 The  possible  profile  components  are  exemplified  below.  
 Only
+                 `Path:'  is  mandatory.  The others are optional; some have 
default
+                 values if they are not present.  In the notation used below,  
(pro-
+                 file,  default)  indicates  whether  the information is kept 
in the
+                 user's _M_H profile or _M_H context, and  indicates  what 
 the  default
+                 value is.
+
+                 Path: Mail
+                           Locates _M_H transactions in directory  "Mail".   
(profile,
+                           no default)
+
+                 context: context
+                           Declares the location of the _M_H  context  file, 
 see  the
+                           HISTORY     section     below.      (profile,    
default:
+                           <mh-dir>/context)
+
+                 Current-Folder: inbox
+                           Keeps  track  of  the  current  open  folder.   
(context,
+                           default: folder specified by "Inbox")
+
+                 Inbox:  inbox
+                           Defines the  name  of  your  inbox.   (profile,  
default:
+                           inbox)
+
+                 Previous-Sequence: pseq
+                           Names the sequences which should be defined as the 
`msgs'
+                           or  `msg' argument given to the program.  If not 
present,
+                           or empty, no sequences are defined.  Otherwise, for 
 each
+                           name  given,  the  sequence is first zero'd and 
then each
+                           message is added to the sequence.  (profile, no 
default)
+
+                 Sequence-Negation: not
+                           Defines the string which, when  prefixed  to  a  
sequence
+                           name,  negates that sequence.  Hence, "notseen" 
means all
+                           those messages that are not  a  member  of  the  
sequence
+                           "seen".  (profile, no default)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -148-                     
MH-PROFILE(5)
+
+
+                 Unseen-Sequence: unseen
+                           Names the sequences which should be defined as 
those mes-
+                           sages recently incorporated by _i_n_c.  
_S_h_o_w knows to remove
+                           messages from this sequence once it thinks they 
have been
+                           seen.   If  not  present,  or  empty,  no  
sequences  are
+                           defined.   Otherwise,  each  message  is  added  to 
 each
+                           sequence name given.  (profile, no default)
+
+                 mh-sequences: .mh_sequences
+                           The name of the file in each folder which defines  
public
+                           sequences.  To disable the use of public sequences, 
leave
+                           the  value  portion  of  this  entry  blank.    
(profile,
+                           default: .mh_sequences)
+
+                 atr-_s_e_q-_f_o_l_d_e_r: 172 178-181 212
+                           Keeps track of the private sequence  called  
_s_e_q  in  the
+                           specified folder.  (context, no default)
+
+                 Editor: /usr/ucb/ex
+                           Defines  editor  to  be  used  by   _c_o_m_p 
(1),   _d_i_s_t (1),
+                           _f_o_r_w (1), and _r_e_p_l (1).  (profile, 
default: prompter)
+
+                 Msg-Protect: 644
+                           Defines octal protection bits  for  message  files. 
  See
+                           _c_h_m_o_d (1)  for an explanation of the 
octal number.  (pro-
+                           file, default: 0644)
+
+                 Folder-Protect: 711
+                           Defines protection bits for  folder  directories.   
(pro-
+                           file, default: 0711)
+
+                 _p_r_o_g_r_a_m: default switches
+                           Sets default switches to be used whenever the mh  
program
+                           _p_r_o_g_r_a_m  is invoked.  For example, 
one could override the
+                           _E_d_i_t_o_r: profile component when replying 
 to  messages  by
+                           adding a component such as:
+                                   repl: -editor /bin/ed
+                           (profile, no defaults)
+
+                 _l_a_s_t_e_d_i_t_o_r-next: nexteditor
+                           Names "nexteditor" to be the default editor  after  
using
+                           "lasteditor".   This takes effect at "What now?" 
level in
+                           _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l.  After editing the draft with
+                           "lasteditor",  the  default editor is set to be 
"nextedi-
+                           tor".  If the user types "edit" without any 
arguments  to
+                           "What  now?",  then  "nexteditor"  is used.  
(profile, no
+                           default)
+
+                 bboards: system
+                           Tells _b_b_c which BBoards you are interested 
in.  (profile,
+                           default: system)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -149-                     
MH-PROFILE(5)
+
+
+                 Folder-Stack: _f_o_l_d_e_r_s
+                           The contents of the folder-stack for the 
_f_o_l_d_e_r  command.
+                           (context, no default)
+
+                 mhe:
+                           If present, tells _i_n_c to  compose  an  
_M_H_E  auditfile  in
+                           addition  to  its other tasks.  _M_H_E is Brian 
Reid's _E_m_a_c_s
+                           front-end for _M_H.  An early version is supplied 
with  the
+                           _m_h._6 distribution.  (profile, no default)
+
+                 Alternate-Mailboxes: address@hidden, bug-mh*
+                           Tells _r_e_p_l and _s_c_a_n which addresses 
are really yours.  In
+                           this  way,  _r_e_p_l knows which addresses 
should be included
+                           in the reply, and _s_c_a_n knows if the message 
 really  ori-
+                           ginated  from  you.   Addresses  must  be  
separated by a
+                           comma, and the hostnames listed should be the  
"official"
+                           hostnames  for the mailboxes you indicate, as local 
nick-
+                           names for hosts are not replaced with their 
official site
+                           names.   For  each  address, if a host is not 
given, then
+                           that address on any host is considered  to  be  
you.   In
+                           addition,  an asterisk (`*') may appear at either 
or both
+                           ends of the mailbox and host to indicate wild-card 
match-
+                           ing.  (profile, default: your user-id)
+
+                 Aliasfile: aliases other-alias
+                           Indicates aliases files for _a_l_i, 
_w_h_o_m,  and  _s_e_n_d.   This
+                           may  be  used instead of the `-alias file' switch.  
(pro-
+                           file, no default)
+
+                 Draft-Folder: drafts
+                           Indicates a default draft folder for  _c_o_m_p, 
 _d_i_s_t,  _f_o_r_w,
+                           and _r_e_p_l.  (profile, no default)
+
+                 digest-issue-_l_i_s_t: 1
+                           Tells _f_o_r_w the last issue of the last 
volume sent for the
+                           digest _l_i_s_t.  (context, no default)
+
+                 digest-volume-_l_i_s_t: 1
+                           Tells _f_o_r_w the last volume  sent  for  the  
digest  _l_i_s_t.
+                           (context, no default)
+
+                 MailDrop: .mail
+                           Tells _i_n_c your maildrop, if different from  
the  default.
+                           This is superceded by the MAILDROP envariable.  
(profile,
+                           default: /usr/spool/mail/$USER)
+
+                 Signature: RAND MH System (agent: Marshall Rose)
+                           Tells _s_e_n_d your mail signature.  This  is  
superceded  by
+                           the  SIGNATURE envariable.  On hosts where _M_H 
was config-
+                           ured with the UCI option, if SIGNATURE  is  not  
set  and
+                           this   profile   entry   is   not   present,   the  
 file
+                           $HOME/.signature is consulted.  Your  signature  
will  be
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -150-                     
MH-PROFILE(5)
+
+
+                           added  to the address _s_e_n_d puts in the 
"From:" header; do
+                           not include an address in the signature text.   
(profile,
+                           no default)
+
+                 The following profile elements are  used  whenever  an  
_M_H  program
+                 invokes  some  other program such as _m_o_r_e (1).  The 
._m_h__p_r_o_f_i_l_e can
+                 be used to select alternate  programs  if  the  user  wishes. 
  The
+                 default values are given in the examples.
+
+                      fileproc:     /usr/bs/mh-6.8/bin/refile
+                      incproc:      /usr/bs/mh-6.8/bin/inc
+                      installproc:  /usr/bs/mh-6.8/lib/install-mh
+                      lproc:        /usr/ucb/more
+                      mailproc:     /usr/bs/mh-6.8/bin/mhmail
+                      mhlproc:      /usr/bs/mh-6.8/lib/mhl
+                      moreproc:     /usr/ucb/more
+                      mshproc:      /usr/bs/mh-6.8/bin/msh
+                      packproc:     /usr/bs/mh-6.8/bin/packf
+                      postproc:     /usr/bs/mh-6.8/lib/post
+                      rmmproc:      none
+                      rmfproc:      /usr/bs/mh-6.8/bin/rmf
+                      sendproc:     /usr/bs/mh-6.8/bin/send
+                      showproc:     /usr/ucb/more
+                      whatnowproc:  /usr/bs/mh-6.8/bin/whatnow
+                      whomproc:     /usr/bs/mh-6.8/bin/whom
+
+                 If you define the envariable MH, you can specify  a  profile  
other
+                 than ._m_h__p_r_o_f_i_l_e to be read by the _M_H 
programs that you invoke.  If
+                 the value of MH is not absolute, (i.e., does not begin with a 
 / ),
+                 it  will  be  presumed to start from the current working 
directory.
+                 This is one of the very few exceptions  in  _M_H  where  
non-absolute
+                 pathnames are not considered relative to the user's _M_H 
directory.
+
+                 Similarly, if you define the envariable MHCONTEXT, you can  
specify
+                 a  context  other than the normal context file (as specified 
in the
+                 _M_H profile).  As always, unless the value of MHCONTEXT is 
absolute,
+                 it will be presumed to start from your _M_H directory.
+
+                 _M_H programs also support other envariables:
+
+                 MAILDROP : tells _i_n_c the default maildrop
+                      This supercedes the "MailDrop:" profile entry.
+
+                 SIGNATURE : tells _s_e_n_d and _p_o_s_t your mail 
signature
+                      This supercedes the "Signature:" profile entry.
+
+                 HOME : tells all _M_H programs your home directory
+
+                 SHELL : tells _b_b_l the default shell to run
+
+                 TERM : tells _M_H your terminal type
+                      The TERMCAP envariable  is  also  consulted.   In  
particular,
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -151-                     
MH-PROFILE(5)
+
+
+                      these  tell  _s_c_a_n  and _m_h_l how to clear 
your terminal, and how
+                      many columns wide your terminal is.  They also  tell  
_m_h_l  how
+                      many lines long your terminal screen is.
+
+                 editalt : the alternate message
+                      This is set by _d_i_s_t and _r_e_p_l during edit 
sessions so  you  can
+                      peruse  the message being distributed or replied to.  
The mes-
+                      sage is also available  through  a  link  called  "@"  
in  the
+                      current  directory  if  your current working directory 
and the
+                      folder the message lives in are on the same UNIX 
filesystem.
+
+                 mhdraft : the path to the working draft
+                      This is set by _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l to  tell  the  _w_h_a_t_-
+                      _n_o_w_p_r_o_c  which  file  to  ask "What now?" 
questions about.  In
+                      addition, _d_i_s_t, _f_o_r_w, and _r_e_p_l 
set  mhfolder  if  appropriate.
+                      Further,  _d_i_s_t  and  _r_e_p_l set mhaltmsg 
to tell the _w_h_a_t_n_o_w_p_r_o_c
+                      about an alternate message associated with the draft 
(the mes-
+                      sage being distributed or replied to), and _d_i_s_t 
sets mhdist to
+                      tell the _w_h_a_t_n_o_w_p_r_o_c that message  
re-distribution  is  occur-
+                      ring.   Also,  mheditor  is  set  to  tell the 
_w_h_a_t_n_o_w_p_r_o_c the
+                      user's choice of  editor  (unless  overridden  by  
`-noedit').
+                      Similarly,  mhuse  may be set by _c_o_m_p.  Finally, 
mhmessages is
+                      set by _d_i_s_t, _f_o_r_w, and _r_e_p_l if 
annotations are to occur (along
+                      with  mhannotate, and mhinplace).  It's amazing all the 
infor-
+                      mation that has to get passed  via  envariables  to  
make  the
+                      "What now?" interface look squeaky clean to the _M_H 
user, isn't
+                      it?  The reason for all this is that the _M_H  user  
can  select
+                      _a_n_y  program as the 
_w_h_a_t_n_o_w_p_r_o_c, including one of the standard
+                      shells.  As a result, it's not possible  to  pass  
information
+                      via an argument list.
+                      If the WHATNOW option was set during  _M_H  
configuration  (type
+                      `-help'  to an _M_H command to find out), and if this 
envariable
+                      is set, if the commands _r_e_f_i_l_e, 
_s_e_n_d, _s_h_o_w, or  _w_h_o_m  are  not
+                      given  any  `msgs'  arguments, then they will default to 
using
+                      the file indicated by mhdraft.  This is useful for 
getting the
+                      default behavior supplied by the default 
_w_h_a_t_n_o_w_p_r_o_c.
+
+                 mhfolder : the folder containing the alternate message
+                      This is set by _d_i_s_t and _r_e_p_l during edit 
sessions so  you  can
+                      peruse  other  messages  in the current folder besides 
the one
+                      being distributed or replied to.  The mhfolder  
envariable  is
+                      also set by _s_h_o_w, _p_r_e_v, and _n_e_x_t 
for use by _m_h_l.
+
+                 MHBBRC :
+                      If you define the envariable MHBBRC, you can specify a 
BBoards
+                      information  file  other than ._b_b_r_c to be read 
by _b_b_c.  If the
+                      value of MHBBRC is not absolute, (i.e., does not begin 
with  a
+                      / ),  it  will  be  presumed to start from the current 
working
+                      directory.
+
+                 MHFD :
+                      If the OVERHEAD option was set during _M_H  
configuration  (type
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -152-                     
MH-PROFILE(5)
+
+
+                      `-help' to an _M_H command to find out), then if this 
envariable
+                      is set, _M_H considers it to be the number of a file  
descriptor
+                      which  is  opened, read-only to the _M_H profile.  
Similarly, if
+                      the envariable MHCONTEXTFD is set, this is  the  number  
of  a
+                      file  descriptor  which is opened read-only to the 
_M_H context.
+                      This feature of _M_H is experimental, and  is  used  
to  examine
+                      possible  speed  improvements for _M_H startup.  Note 
that these
+                      envariables must be set and non-empty to enable this  
feature.
+                      However,  if OVERHEAD is enabled during _M_H 
configuration, then
+                      when _M_H programs call other _M_H programs, this 
scheme is  used.
+                      These file descriptors are not closed throughout the 
execution
+                      of the _M_H program, so children may  take  advantage  
of  this.
+                      This approach is thought to be completely safe and does 
result
+                      in some performance enhancements.
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 or $MH                               Rather than the standard 
profile
+                 <mh-dir>/context                     The user context
+                 or $CONTEXT                          Rather than the standard 
context
+                 <folder>/.mh_sequences               Public sequences for 
<folder>
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 All
+
+
+            _S_e_e _A_l_s_o
+                 mh(1), environ(5), mh-sequence(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 All
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -153-                     
MH-PROFILE(5)
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the current-message value of 
a writable
+                 folder  was  kept  in a file called "cur" in the folder 
itself.  In
+                 _m_h._3, the ._m_h__p_r_o_f_i_l_e contained the 
current-message values for  all
+                 folders, regardless of their writability.
+
+                 In all versions of _M_H since _m_h._4,  the  
._m_h__p_r_o_f_i_l_e  contains  only
+                 static  information, which _M_H programs will NOT update.  
Changes in
+                 context are made to the _c_o_n_t_e_x_t file kept in 
the users MH  _d_i_r_e_c_t_o-
+                 _r_y.  This includes, but is not limited to: the 
"Current-Folder" en-
+                 try and all private sequence information.  Public sequence 
informa-
+                 tion is kept in a file called 
._m_h__s_e_q_u_e_n_c_e_s in each folder.
+
+                 To convert from the format used in releases of _M_H prior 
to the for-
+                 mat used in the _m_h._4 release, 
_i_n_s_t_a_l_l-_m_h should be invoked with the
+                 `-compat' switch.  This generally happens automatically on 
_M_H  sys-
+                 tems generated with the "COMPAT" option during _M_H 
configuration.
+
+                 The ._m_h__p_r_o_f_i_l_e may override the  path  of  
the  _c_o_n_t_e_x_t  file,  by
+                 specifying  a "context" entry (this must be in lower-case).  
If the
+                 entry is not absolute (does not start with a / ), then it is 
inter-
+                 preted  relative  to the user's _M_H directory.  As a 
result, you can
+                 actually have more than one set of private sequences by using 
 dif-
+                 ferent context files.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -154-                     
MH-PROFILE(5)
+
+
+            _B_u_g_s
+                 The shell quoting conventions are not available in the 
.mh_profile.
+                 Each token is separated by whitespace.
+
+                 There is some question as to  what  kind  of  arguments  
should  be
+                 placed  in  the  profile  as  options.  In order to provide a 
clear
+                 answer, recall command line semantics of all _M_H programs: 
conflict-
+                 ing  switches  (e.g., `-header and `-noheader') may occur 
more than
+                 one time on the command line, with the last switch  taking  
effect.
+                 Other  arguments, such as message sequences, filenames and 
folders,
+                 are always remembered on the invocation line and are not 
superseded
+                 by  following  arguments  of  the  same type.  Hence, it is 
safe to
+                 place only switches (and their arguments) in the profile.
+
+                 If one finds that an _M_H program is being invoked  again  
and  again
+                 with  the same arguments, and those arguments aren't 
switches, then
+                 there are a few possible solutions to this problem.  The  
first  is
+                 to  create a (soft) link in your $_H_O_M_E/_b_i_n 
directory to the _M_H pro-
+                 gram of your choice.  By giving this link a different name, 
you can
+                 create  a new entry in your profile and use an alternate set 
of de-
+                 faults for the _M_H command.  Similarly, you  could  create 
 a  small
+                 shell script which called the _M_H program of your choice 
with an al-
+                 ternate set of invocation line switches (using links and an  
alter-
+                 nate profile entry is preferable to this solution).
+
+                 Finally, the _c_s_h user could create an alias for the 
command of  the
+                 form:
+
+                      alias cmd 'cmd arg1 arg2 ...'
+
+                 In this way, the user can avoid lengthy type-in to the  
shell,  and
+                 still  give  _M_H commands safely.  (Recall that some 
_M_H commands in-
+                 voke others, and that in all cases, the profile  is  read,  
meaning
+                 that aliases are disregarded beyond an initial command 
invocation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -155-                    
MH-SEQUENCE(5)
+
+
+            _N_A_M_E
+                 mh-sequence - sequence specification for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 most _M_H commands
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Most _M_H commands accept a  `msg'  or  `msgs'  
specification,  where
+                 `msg'  indicates  one message and `msgs' indicates one or 
more mes-
+                 sages.  To designate a message,  you  may  use  either  its  
number
+                 (e.g., 1, 10, 234) or one of these "reserved" message names:
+
+                      _N_a_m_e      _D_e_s_c_r_i_p_t_i_o_n
+                      first     the first message in the folder
+                      last      the last message in the folder
+                      cur       the most recently accessed message
+                      prev      the message numerically preceding "cur"
+                      next      the message numerically following "cur"
+
+                 In commands that take a `msg' argument, the default is "cur". 
 As a
+                 shorthand, "." is equivalent to "cur".
+
+                 For example: In a folder containing five messages numbered  
5,  10,
+                 94,  177  and 325, "first" is 5 and "last" is 325.  If "cur" 
is 94,
+                 then "prev" is 10 and "next" is 177.
+
+                 The word `msgs' indicates that one or more messages may  be  
speci-
+                 fied.   Such a specification consists of one message 
designation or
+                 of several message designations separated  by  spaces.   A  
message
+                 designation  consists either of a message name as defined 
above, or
+                 a message range.
+
+                 A message range is specified as "name1-name2"  or  "name:n",  
where
+                 `name',  `name1'  and  `name2'  are  message  names,  and `n' 
is an
+                 integer.
+
+                 The specification "name1-name2" designates  all  
currently-existing
+                 messages from `name1' to `name2' inclusive.  The message name 
"all"
+                 is a shorthand for the message range "first-last".
+
+                 The specification "name:n" designates up to  `n'  messages.   
These
+                 messages  start with `name' if `name' is a message number or 
one of
+                 the reserved names "first" "cur", or "next", The messages end 
 with
+                 `name'  if  `name'  is "prev" or "last".  The interpretation 
of `n'
+                 may be overridden by preceding `n' with a plus or minus sign; 
 `+n'
+                 always  means  up  to  `n'  messages starting with `name', 
and `-n'
+                 always means up to `n' messages ending with `name'.
+
+                 In commands which accept a `msgs' argument, the default  is  
either
+                 "cur"  or  "all", depending on which makes more sense for 
each com-
+                 mand  (see  the  individual  man  pages  for  details).    
Repeated
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -156-                    
MH-SEQUENCE(5)
+
+
+                 specifications of the same message have the same effect as a 
single
+                 specification of the message.
+
+
+              _U_s_e_r-_D_e_f_i_n_e_d _M_e_s_s_a_g_e 
_S_e_q_u_e_n_c_e_s
+
+                 In addition to the "reserved"  (pre-defined)  message  names  
given
+                 above,  _M_H  supports  user-defined  sequence  names.   
User-defined
+                 sequences allow the _M_H user a tremendous amount of power 
in dealing
+                 with  groups of messages in the same folder by allowing the 
user to
+                 bind a group of messages to a meaningful symbolic name.
+
+                 The name used to denote a  message  sequence  must  consist  
of  an
+                 alphabetic  character followed by zero or more alphanumeric 
charac-
+                 ters, and can not be one of the  "reserved"  message  names  
above.
+                 After  defining  a  sequence, it can be used wherever an 
_M_H command
+                 expects a `msg' or `msgs' argument.
+
+                 Some  forms  of  message  ranges  are  allowed  with   
user-defined
+                 sequences.   The  specification "name:n" may be used, and it 
desig-
+                 nates up to the first `n' messages (or last `n' messages for  
`-n')
+                 which are elements of the user-defined sequence `name'.
+
+                 The specifications "name:next" and "name:prev" may  also  be  
used,
+                 and  they  designate  the next or previous message (relative 
to the
+                 current message) which is an element of the  user-defined  
sequence
+                 `name'.   The  specificaitions  "name:first"  and  
"name:last"  are
+                 equivalent to "name:1" and "name:-1", respectively.  The 
specifica-
+                 tion  "name:cur" is not allowed (use just "cur" instead).  
The syn-
+                 tax of these message range specifcations is subject  to  
change  in
+                 the future.
+
+                 User-defined sequence names are specific to each folder.  
They  are
+                 defined using the _p_i_c_k and _m_a_r_k commands.
+
+
+              _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+                 There are two varieties of sequences: _p_u_b_l_i_c 
sequences and  _p_r_i_v_a_t_e
+                 sequences.   _P_u_b_l_i_c  sequences of a folder are 
accessible to any _M_H
+                 user that can read that folder and are kept  in  the  
.mh_sequences
+                 file  in  the folder.  _P_r_i_v_a_t_e sequences are 
accessible only to the
+                 _M_H user that defined those sequences and are kept in the 
user's  _M_H
+                 context file.  By default, _p_i_c_k and _m_a_r_k 
create _p_u_b_l_i_c sequences if
+                 the folder for which the sequences are being defined is 
writable by
+                 the  _M_H  user.  Otherwise, _p_r_i_v_a_t_e 
sequences are created.  This can
+                 be overridden with the `-public' and `-private' switches to 
_m_a_r_k.
+
+
+              _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+                 _M_H provides the ability to select all messages not  
elements  of  a
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -157-                    
MH-SEQUENCE(5)
+
+
+                 user-defined  sequence.   To  do  this,  the user should 
define the
+                 entry "Sequence-Negation" in the _M_H profile file; its 
value may  be
+                 any  string.  This string is then used to preface an existing 
user-
+                 defined sequence name.  This specification  then  refers  to  
those
+                 messages not elements of the specified sequence name.  For 
example,
+                 if the profile entry is:
+
+                      Sequence-Negation: not
+
+                 then anytime an _M_H command is given "notfoo" as a `msg'  
or  `msgs'
+                 argument, it would substitute all messages that are not 
elements of
+                 the sequence "foo".
+
+                 Obviously, the user should beware of defining sequences with  
names
+                 that begin with the value of the "Sequence-Negation" profile 
entry.
+
+
+              _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+                 _M_H provides the ability to remember the `msgs'  or  `msg' 
 argument
+                 last  given to an _M_H command.  The entry 
"Previous-Sequence" should
+                 be defined in the _M_H profile; its value should be a  
sequence  name
+                 or  multiple  sequence names separated by spaces.  If this 
entry is
+                 defined, when when an _M_H  command  finishes,  it  will  
define  the
+                 sequence(s)  named  in the value of this entry to be those 
messages
+                 that were specified to the command.  Hence, a profile entry of
+
+                      Previous-Sequence: pseq
+
+                 directs any _M_H command that accepts a `msg' or `msgs'  
argument  to
+                 define the sequence "pseq" as those messages when it finishes.
+
+                 Note:  there  can  be  a   performance   penalty   in   using 
  the
+                 "Previous-Sequence"  facility.  If it is used, all _M_H 
programs have
+                 to write the sequence information to the .mh_sequences file 
for the
+                 folder  each  time  they  run.   If the "Previous-Sequence" 
profile
+                 entry is not included,  only  _p_i_c_k  and  _m_a_r_k 
 will  write  to  the
+                 .mh_sequences file.
+
+
+              _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+                 Finally, some users like to indicate messages which have  not 
 been
+                 previously seen by them.  Both _i_n_c and _s_h_o_w 
honor the profile entry
+                 "Unseen-Sequence" to support this  activity.   This  entry  
in  the
+                 .mh_profile  should  be  defined  as  one  or  more  sequence 
names
+                 separated by spaces.  If there is a value for 
"Unseen-Sequence"  in
+                 the profile, then whenever _i_n_c places new messages in a 
folder, the
+                 new messages will also be added to the  sequence(s)  named  
in  the
+                 value of this entry.  Hence, a profile entry of
+
+                      Unseen-Sequence: unseen
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -158-                    
MH-SEQUENCE(5)
+
+
+                 directs _i_n_c to add new messages to the sequence  
"unseen".   Unlike
+                 the  behavior of the "Previous-Sequence" entry in the 
profile, how-
+                 ever, the sequence(s) will not be zeroed by _i_n_c.
+
+                 Similarly, whenever _s_h_o_w (or _n_e_x_t or 
_p_r_e_v) displays a message, that
+                 message   will   be   removed  from  any  sequences  named  
by  the
+                 "Unseen-Sequence" entry in the profile.
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 <mh-dir>/context                     The user context
+                 <folder>/.mh_sequences               Public sequences for 
<folder>
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Sequence-Negation:   To designate messages not in a sequence
+                 Previous-Sequence:   The last message specification given
+                 Unseen-Sequence:     Those messages not yet seen by the user
+
+
+            _S_e_e _A_l_s_o
+                 mh(1), mark(1), pick(1), mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 All
+
+
+            _B_u_g_s
+                 User-defined sequences are stored in the .mh_sequences  file  
as  a
+                 series  of  message specifications separated by spaces.  If a 
user-
+                 defined sequence contains too many  individual  message  
specifica-
+                 tions,  that line in the file may become too long for _M_H 
to handle.
+                 This will generate the error message ".mh_sequences is poorly 
 for-
+                 matted".   You'll  have  to edit the file by hand to remove 
the of-
+                 fending line.
+
+                 This can happen to users who define the  "Previous-Sequence"  
entry
+                 in  the  _M_H profile and have a folder containing many 
messages with
+                 gaps in the numbering.  A workaround for large folders is to 
minim-
+                 ize numbering gaps by using "folder -pack" often.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            AP(8)                            -159-                             
AP(8)
+
+
+            _N_A_M_E
+                 ap - parse addresses 822-style
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/ap [-form formatfile] [-format string]
+                      [-normalize] [-nonormalize] [-width columns] addrs ...
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_p is a program that parses addresses according to the 
ARPA  Inter-
+                 net  standard.   It also understands many non-standard 
formats.  It
+                 is useful for seeing how _M_H will interpret an address.
+
+                 The _a_p program treats each argument as one or more  
addresses,  and
+                 prints  those  addresses out in the official 822-format.  
Hence, it
+                 is usually best to enclose each argument in double-quotes  
for  the
+                 shell.
+
+                 To override the output format used by _a_p, the  `-format 
string'  or
+                 `-format file'  switches  are used.  This permits individual 
fields
+                 of the address to be extracted with ease.  The string is  
simply  a
+                 format   stringand   thefile   is   simply   a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 In addition to the standard escapes, _a_p also recognizes 
the follow-
+                 ing additional escape:
+
+                 _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 error   string   A diagnostic if the parse failed
+
+                 If the `-normalize' switch is given, _a_p will try to track 
down  the
+                 official hostname of the address.
+
+                 Here is the default format string used by _a_p:
+
+                      %<{error}%{error}: %{text}%|%(putstr(proper{text}))%>
+
+                 which says that if an error was detected, print the error,  a 
 `:',
+                 and  the address in error.  Otherwise, output the 822-proper 
format
+                 of the address.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            AP(8)                            -160-                             
AP(8)
+
+
+            _S_e_e _A_l_s_o
+                 dp(8),
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-format' defaults as described above
+                 `-normalize'
+                 `-width' defaults to the width of the terminal
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _a_p.  Therefore, one 
must usual-
+                 ly place the argument to this switch inside double-quotes.
+
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            CONFLICT(8)                      -161-                       
CONFLICT(8)
+
+
+            _N_A_M_E
+                 conflict - search for alias/password conflicts
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/conflict [-mail name] [-search directory]
+                      [aliasfiles...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _C_o_n_f_l_i_c_t is a program that checks to see if 
the  interface  between
+                 _M_H and transport system is in good shape
+
+                 _C_o_n_f_l_i_c_t also checks for maildrops in 
/usr/spool/mail which do  not
+                 belong  to  a  valid user.  It assumes that no user name will 
start
+                 with `.', and thus ignores files  in  /usr/spool/mail  which  
begin
+                 with  `.'.   It also checks for entries in the 
_g_r_o_u_p (5) file which
+                 do not belong to a valid user, and for users  who  do  not  
have  a
+                 valid  group  number.   In  addition duplicate users and 
groups are
+                 noted.
+
+                 If the `-mail name' switch is used, then the results will  be 
 sent
+                 to  the  specified  _n_a_m_e.   Otherwise,  the results 
are sent to the
+                 standard output.
+
+                 The `-search directory' switch can be used  to  search  
directories
+                 other  than /usr/spool/mail and to report anomalies in those 
direc-
+                 tories.  The `-search directory' switch can appear  more  
than  one
+                 time in an invocation to _c_o_n_f_l_i_c_t.
+
+                 _C_o_n_f_l_i_c_t should be run under  _c_r_o_n 
(8), or whenever system account-
+                 ing takes place.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+                 /etc/passwd                          List of users
+                 /etc/group                           List of groups
+                 /usr/bs/mh-6.8/bin/mhmail            Program to send mail
+                 /usr/spool/mail/                     Directory of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `aliasfiles' defaults to /usr/bs/mh-6.8/lib/MailAliases
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            CONFLICT(8)                      -162-                       
CONFLICT(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DP(8)                            -163-                             
DP(8)
+
+
+            _N_A_M_E
+                 dp - parse dates 822-style
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/dp [-form formatfile] [-format string]
+                      [-width columns] dates ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _D_p is a program that parses dates according to  the  ARPA 
 Internet
+                 standard.   It  also understands many non-standard formats, 
such as
+                 those  produced  by  TOPS-20  sites  and  some  UNIX  sites   
using
+                 _c_t_i_m_e (3).  It is useful for seeing how _M_H will 
interpret a date.
+
+                 The _d_p program treats each argument as a single  date,  
and  prints
+                 the date out in the official 822-format.  Hence, it is 
usually best
+                 to enclose each argument in double-quotes for the shell.
+
+                 To override the output format used by _d_p, the  `-format 
string'  or
+                 `-format file'  switches  are used.  This permits individual 
fields
+                 of the address to be extracted with ease.  The string is  
simply  a
+                 format   stringand   thefile   is   simply   a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 Here is the default format string used by _d_p:
+
+                      %<(nodate{text})error: %{text}%|%(putstr(pretty{text}))%>
+
+                 which says that if an error was detected, print the error,  a 
 `:',
+                 and  the date in error.  Otherwise, output the 822-proper 
format of
+                 the date.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 ap(8)
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-format' default as described above
+                 `-width' default to the width of the terminal
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DP(8)                            -164-                             
DP(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _d_p.  Therefore, one 
must usual-
+                 ly place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FMTDUMP(8)                       -165-                        
FMTDUMP(8)
+
+
+            _N_A_M_E
+                 fmtdump - decode MH format files
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/fmtdump [-form formatfile] [-format string]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _F_m_t_d_u_m_p is a program that parses an _M_H 
format file and  produces  a
+                 pseudo-language listing of the how _M_H interprets the file.
+
+                 The `-format string' and `-form formatfile' switches may be 
used to
+                 specify a format string or format file to read.  The string 
is sim-
+                 ply a format string and the file is simply a format file.  
See  _m_h-
+                 _f_o_r_m_a_t(5) for the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+                 /usr/bs/mh-6.8/lib/scan.default      The default format file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+
+
+            _S_e_e _A_l_s_o
+                 mh-format(5), mh-sequences(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The output may not be useful  unless  you  are  familiar  
with  the
+                 internals of the mh-format subroutines.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INSTALL-MH(8)                    -166-                     
INSTALL-MH(8)
+
+
+            _N_A_M_E
+                 install-mh - initialize the MH environment
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/install-mh [-auto] [-compat]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 When a user runs any _M_H program for the  first  time,  
the  program
+                 will  invoke _i_n_s_t_a_l_l-_m_h (with the `-auto' 
switch) to query the user
+                 for the initial _M_H environment.  The user does NOT invoke 
this pro-
+                 gram  directly.   The  user  is asked for the name of the 
directory
+                 that will be designated as the user's _M_H directory.  If 
this direc-
+                 tory  does  not  exist,  the user is asked if it should be 
created.
+                 Normally, this directory should be under the user's home 
directory,
+                 and  has  the  default name of Mail/.  After 
_i_n_s_t_a_l_l-_m_h has written
+                 the initial .mh_profile for the user, control returns to the 
origi-
+                 nal _M_H program.
+
+                 As with all  _M_H  commands,  _i_n_s_t_a_l_l-_m_h  
first  consults  the  $HOME
+                 envariable to determine the user's home directory.  If $HOME 
is not
+                 set, then the /_e_t_c/_p_a_s_s_w_d file is consulted.
+
+                 When converting from _m_h._3  to  _m_h._4,  
_i_n_s_t_a_l_l-_m_h  is  automatically
+                 invoked with the `-compat' switch.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                    The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To set the user's MH directory
+
+
+            _C_o_n_t_e_x_t
+                 With `-auto', the current folder is changed to "inbox".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POST(8)                          -167-                           
POST(8)
+
+
+            _N_A_M_E
+                 post - deliver a message
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/bs/mh-6.8/lib/post [-alias aliasfile] [-filter 
filterfile]
+                      [-nofilter] [-format] [-noformat] [-mime] [-nomime] 
[-msgid]
+                      [-nomsgid] [-verbose] [-noverbose] [-watch] [-nowatch]
+                      [-width columns] file [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_o_s_t is the program called by _s_e_n_d (1) to 
deliver  the  message  in
+                 _f_i_l_e  to  local  and  remote  users.  In fact, all of 
the functions
+                 attributed to _s_e_n_d on its manual page are performed 
by  _p_o_s_t,  with
+                 _s_e_n_d  acting as a relatively simple preprocessor.  
Thus, it is _p_o_s_t
+                 which parses the various header fields,  appends  From:  and  
Date:
+                 lines, and interacts with the _M_M_D_F transport system.  
_P_o_s_t will not
+                 normally be called directly by the user.
+
+                 _P_o_s_t searches the "To:", "cc:", "Bcc:", "Fcc:",  and  
"Resent-xxx:"
+                 header  lines  of  the specified message for destination 
addresses,
+                 checks these addresses for validity, and formats them so as 
to con-
+                 form  to  ARPAnet  Internet  Message  Format  protocol,  
unless the
+                 `-noformat' flag is set.  This will normally cause 
"@_l_o_c_a_l-_s_i_t_e" to
+                 be appended to each local destination address, as well as any 
local
+                 return addresses. The `-width columns' switch can be used to  
indi-
+                 cate  the  preferred  length  of the header components that 
contain
+                 addresses.
+
+                 If a "Bcc:" field is encountered, its addresses will  be  
used  for
+                 delivery,  and  the  "Bcc:"  field will be removed from the 
message
+                 sent to sighted recipients.  The blind recipients will  
receive  an
+                 entirely  new  message  with a minimal set of headers.  
Included in
+                 the body of the message will be a copy of the message sent  
to  the
+                 sighted  recipients.   If  `-filter filterfile'  is 
specified, then
+                 this copy is filtered (re-formatted) prior to  being  sent  
to  the
+                 blind  recipients.  Otherwise, to use the MIME rules for 
encapsula-
+                 tion, specify the `-mime' switch.
+
+                 The `-alias aliasfile' switch can be used to specify  a  file 
 that
+                 post  should  take  aliases from.  More than one file can be 
speci-
+                 fied, each being preceded with `-alias'.  In any event, the 
primary
+                 alias file is read first.
+
+                 The   `-msgid'   switch   indicates   that   a   
"Message-ID:"   or
+                 "Resent-Message-ID:" field should be added to the header.
+
+                 The `-verbose' switch indicates that the user should be 
informed of
+                 each step of the posting/filing process.
+
+                 The `-watch' switch indicates that the user would like to 
watch the
+                 transport  system's handling of the message (e.g., local and 
"fast"
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POST(8)                          -168-                           
POST(8)
+
+
+                 delivery).
+
+                 _P_o_s_t consults the envariable $SIGNATURE to determine  
the  sender's
+                 personal name in constructing the "From:" line of the message.
+
+            _F_i_l_e_s
+                 /usr/bs/mh-6.8/lib/mtstailor         tailor file
+                 /usr/bs/mh-6.8/bin/refile            Program to process Fcc:s
+                 /usr/bs/mh-6.8/lib/mhl               Program to process Bcc:s
+                 /usr/bs/mh-6.8/lib/MailAliases       Primary alias file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 _p_o_s_t does NOT consult the user's .mh_profile
+
+
+            _S_e_e _A_l_s_o
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822),
+                 mhmail(1), send(1), mh-mail(5), mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-alias /usr/bs/mh-6.8/lib/MailAliases'
+                 `-format'
+                 `-nomime'
+                 `-nomsgid'
+                 `-noverbose'
+                 `-nowatch'
+                 `-width 72'
+                 `-nofilter'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 "Reply-To:" fields are allowed to have groups in them 
according  to
+                 the 822 specification, but _p_o_s_t won't let you use 
them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                          _5. _R_E_P_O_R_T_I_N_G 
_P_R_O_B_L_E_M_S
+
+
+
+
+
+                      If problems are encountered with an _M_H program, the 
problems should
+                 be  reported  to the local maintainers of _M_H.  When doing 
this, the name
+                 of the program should be reported, along with  the  version  
information
+                 for  the  program.   To  find out what version of an _M_H 
program is being
+                 run, invoke the program with the `-help' switch.  In addition 
to listing
+                 the  syntax of the command, the program will list information 
pertaining
+                 to its version.  This information includes the version of 
_M_H,  the  host
+                 it was generated on, and the date the program was loaded.  A 
second line
+                 of information, found on versions of _M_H after #5.380 
include  _M_H  confi-
+                 guration options.  For example,
+
+                      version: MH 6.1 #1[UCI] (nrtc-gremlin) of Wed Nov  6  
01:13:53  PST
+                      1985
+                      options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] 
[SMTP] [POP]
+
+                 The `6.1 #1[UCI]' indicates that the program is from the UCI  
_m_h._6  ver-
+                 sion  of  _M_H.   The  program was generated on the host 
`nrtc-gremlin' on
+                 `Wed Nov  6 01:13:53 PST 1985'.  It's usually a good idea  to 
 send  the
+                 output of the `-help' switch along with your report.
+
+                 If there is no local _M_H maintainer, try the  address  
Bug-MH.   If  that
+                 fails, use the Internet mailbox address@hidden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -169-
+
+
+
+
+
+
+
+
+
+
+
+
+                                           _6. _A_D_V_A_N_C_E_D 
_F_E_A_T_U_R_E_S
+
+
+
+
+
+                      This section describes some  features  of  _M_H  that  
were  included
+                 strictly for advanced _M_H users.  These capabilities 
permit _M_H to exhibit
+                 more powerful behavior for the seasoned _M_H users.
+
+
+                 _U_S_E_R-_D_E_F_I_N_E_D _S_E_Q_U_E_N_C_E_S
+
+                      User-defined sequences allow the _M_H user  a  
tremendous  amount  of
+                 power  in dealing with groups of messages in the same folder 
by allowing
+                 the user to bind a group of messages to a meaningful symbolic 
name.  The
+                 user  may choose any name for a message sequence, as long as 
it consists
+                 of alphanumeric characters and does not conflict with  the  
standard  _M_H
+                 reserved message names (e.g., "first", etc).  After defining 
a sequence,
+                 it can be used wherever an _M_H command expects a `msg'  or 
 `msgs'  argu-
+                 ment.
+
+                      A restricted form of message ranges are allowed  with  
user-defined
+                 sequences.  The  form  "name:n",  specifies up to the first 
`n' messages
+                 which are part of the user-defined sequence `name'.  A 
leading plus sign
+                 is  allowed on `n', but is ignored.  The interpretation of n 
is overrid-
+                 den if n is preceded by a minus sign; `-n' always means up to 
 the  last
+                 `n' messages which are part of the sequence `name'.
+
+                      Although all _M_H commands expand user-defined 
sequences as appropri-
+                 ate, there are two commands that allow the user to define and 
manipulate
+                 them: _p_i_c_k and _m_a_r_k.
+
+                 _P_i_c_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+                      Most users of _M_H will use user-defined sequences 
only with the _p_i_c_k
+                 command.  By giving the `-sequence name' switch to 
_p_i_c_k (which can occur
+                 more than once on the command line), each sequence named is  
defined  as
+                 those  messages  which _p_i_c_k matched according the the 
selection criteria
+                 it was given.  Hence,
+
+                      pick -from frated -seq fred
+
+                 finds all those messages in the current folder which were 
from "frated",
+                 creates  a  sequence  called "fred", and then adds them to 
the sequence.
+                 The user could then invoke
+
+                      scan fred
+
+                 to get a _s_c_a_n listing of those messages.  Note  that  
by  default,  _p_i_c_k
+                 creates  the named sequences before it adds the selected 
messages to the
+                 sequence.  Hence, if the named sequence already existed, the 
sequence is
+
+                                                  -170-
+
+
+
+
+
+
+
+
+
+                                                  -171-
+
+
+                 destroyed  prior  to  being  re-defined (nothing happens to 
the messages
+                 that were a part of this sequence, they simply cease to  be  
members  of
+                 that  sequence).   By  using  the `-nozero' switch, this 
behavior can be
+                 inhibited, as in
+
+                      pick -from frated -seq sgroup
+                      pick -from fear -seq sgroup -nozero
+                      pick -from freida -seq sgroup -nozero
+
+                 finds all those messages in the current folder which were 
from "frated",
+                 "fear", or "freida", and defines the sequence called "sgroup" 
as exactly
+                 those messages.  These operations amounted to an 
"inclusive-or" of three
+                 selection  criteria, using _p_i_c_k, one can also 
generate the "and" of some
+                 selection criteria as well:
+
+                      pick -from frated -seq fred
+                      pick -before friday -seq fred fred
+
+                 This example defines the sequence called "fred" as  exactly  
those  mes-
+                 sages from "frated" that were dated prior to "friday".[1]
+
+                      _P_i_c_k is normally used as a back-quoted command, 
for example,
+
+                      scan `pick -from postmaster`
+
+                 Now suppose that the user decides that another command should 
be issued,
+                 using   exactly   those   messages.    Since,   _p_i_c_k  
 wasn't   given  a
+                 `-sequence name' argument in this example, the user would 
end-up  typing
+                 the entire back-quoted command again.  A simpler way is to 
add a default
+                 sequence name to the .mh_profile.  For example,
+
+                      pick: -seq select -list
+
+                 will tell _p_i_c_k to always define the sequence "select" 
whenever it's run.
+                 The  `-list'  is necessary since the `-sequence name' switch 
sets `-nol-
+                 ist' whenever the former is  encountered.   Hence,  this  
profile  entry
+                 makes  _p_i_c_k define the "select" sequence and 
otherwise behave exactly as
+
+
+                    [1]  Of  course, it is much easier to simply use the 
built-in boolean
+                 operation of _p_i_c_k to get the desired results:
+
+                      pick -from frated -or -from fear -or -from freida -seq 
sgroup
+
+                 and
+
+                      pick -from frated -and -before friday -seq fred
+
+                 do exactly the same thing as the five commands listed above.  
Hence, the
+                 `-nozero'  option  to  _p_i_c_k  is  only  useful to 
manipulate existing se-
+                 quences.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -172-
+
+
+                 if there was no profile entry at all.
+
+                 _M_a_r_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+                      The _m_a_r_k command lets the user perform  
low-level  manipulation  of
+                 sequences,  and  also  provides  a  well-needed  debug  
facility  to the
+                 implementors/developers/maintainers  of  _M_H  (the  
_M_H-hacks).   In   the
+                 future,  a user-friendly "front-end" for _m_a_r_k will 
probably be developed
+                 to give the _M_H user a way to take better  advantage  of  
the  underlying
+                 facilities.
+
+                 _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+                      There are two kinds of sequences:  _p_u_b_l_i_c  
sequences,  and  _p_r_i_v_a_t_e
+                 sequences.   _P_u_b_l_i_c  sequences of a folder are 
accessible to any _M_H user
+                 that can read that folder and are kept in the .mh_sequences 
file in  the
+                 folder.   _P_r_i_v_a_t_e  sequences  are  accessible  
only  to the _M_H user that
+                 defined those sequences and are kept in the user's _M_H 
context file.   By
+                 default,  _p_i_c_k  (and  _m_a_r_k )  create  
_p_u_b_l_i_c sequences if the folder for
+                 which the sequences are being defined is writable by the 
_M_H user.   Oth-
+                 erwise,  _p_r_i_v_a_t_e sequences are created.  This 
can be overridden with the
+                 `-public' and `-nopublic' switches.
+
+                 _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+                      In addition to telling an _M_H command to use  the  
messages  in  the
+                 sequence "seen", as in
+
+                      refile seen +old
+
+                 it would be useful to be easily able to tell an _M_H 
command  to  use  all
+                 messages  _e_x_c_e_p_t  those in the sequence.  One way 
of doing this would be
+                 to use _m_a_r_k and define the sequence explicitly, as in
+
+                      mark -delete -zero seen -seq notseen
+
+                 which, owing to _m_a_r_k 's cryptic interpretation of 
`-delete' and `-zero',
+                 defines  the  sequence  "notseen" to be all messages not in 
the sequence
+                 "seen".  Naturally, anytime the sequence "seen"  is  changed, 
 "notseen"
+                 will  have  to be updated.  Another way to achieve this is to 
define the
+                 entry "Sequence-Negation:" in the .mh_profile.  If the entry 
was
+
+                      Sequence-Negation: not
+
+                 then anytime an _M_H command was given "notseen"  as  a  
`msg'  or  `msgs'
+                 argument,  it would substitute all messages that are not a 
member of the
+                 sequence "seen".  That is,
+
+                      refile notseen +new
+
+                 does just that.  The value of the "Sequence-Negation:" entry 
in the pro-
+                 file  can  be  any  string.  Hence, experienced users of 
_M_H do not use a
+
+
+
+
+
+
+
+
+
+
+
+                                                  -173-
+
+
+                 word, but rather a special character which their shell does  
not  inter-
+                 pret  (users  of  the  _C_S_h_e_l_l  use a single caret 
or circumflex (usually
+                 shift-6), while users of the  Bourne  shell  use  an  
exclamation-mark).
+                 This is because there is nothing to prevent a user of _M_H 
from defining a
+                 sequence with this string as its prefix, if the  string  is  
nothing  by
+                 letters and digits.  Obviously, this could lead to confusing 
behavior if
+                 the "Sequence-Negation:" entry leads _M_H to believe  that  
two  sequences
+                 are opposites by virtue of their names differing by the 
prefix string.
+
+                 _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+                      Many times users find themselves issuing a series  of  
commands  on
+                 the  same  sequences  of messages.  If the user first defined 
these mes-
+                 sages as a sequence, then considerable typing may be saved.  
If the user
+                 doesn't  have  this  foresight,  _M_H  provides  a  handy 
way of having _M_H
+                 remember the `msgs' or `msg' argument last given to an _M_H 
 command.   If
+                 the  entry "Previous-Sequence:" is defined in the 
.mh_profile, then when
+                 the command finishes, it will define the sequence(s) named in 
the  value
+                 of  this  entry  as  being  exactly  those messages that were 
specified.
+                 Hence, a profile entry of
+
+                      Previous-Sequence: pseq
+
+                 directs any _M_H command that accepts a `msg' or `msgs' 
argument to define
+                 the  sequence  "pseq" as those messages when it finishes.  
More than one
+                 sequence name may be placed in this entry, separated with  
spaces.   The
+                 one  disadvantage of this approach is that the _M_H progams 
have to update
+                 the sequence information for the folder each  time  they  run 
 (although
+                 most  programs read this information, usually only 
_p_i_c_k and _m_a_r_k have to
+                 write this information out).
+
+                 _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+                      Finally, some users like to distinguish between messages 
which have
+                 been  previously seen by them.  Both _i_n_c and 
_s_h_o_w honorthe profile entry
+                 "Unseen-Sequence" to support this activity.   Whenever  
_i_n_c  places  new
+                 messages  in  a folder, if the entry "Unseen-Sequence" is 
defined in the
+                 .mh_profile, then when the command finishes, _i_n_c will 
add the  new  mes-
+                 sages  to  the  sequence(s)  named in the value of this 
entry.  Hence, a
+                 profile entry of
+
+                      Unseen-Sequence:  unseen
+
+                 directs _i_n_c to add new messages to the sequence  
"unseen".   Unlike  the
+                 behavior  of  the  "Previous-Sequence" entry in the profile 
however, the
+                 sequence(s) will not be zero'd.
+
+                      Similarly, whenever _s_h_o_w (or _n_e_x_t or  
_p_r_e_v )  displays  a  message,
+                 they   remove   those   messages   from   any  sequences  
named  by  the
+                 "Unseen-Sequence" entry in the profile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -174-
+
+
+                 _C_O_M_P_O_S_I_T_I_O_N _O_F _M_A_I_L
+
+                      There are a number of interesting advanced facilities 
for the  com-
+                 position of outgoing mail.
+
+
+                 _T_h_e _D_r_a_f_t _F_o_l_d_e_r
+
+                      The  _c_o_m_p,  _d_i_s_t,  _f_o_r_w,  and  
_r_e_p_l  commands  have  two  switches,
+                 `-draftfolder +folder'        and        `-draftmessage msg'. 
        If
+                 `-draftfolder +folder' is used, these commands are directed 
to construct
+                 a  draft  message in the indicated folder.  (The 
"Draft-Folder:" profile
+                 entry may be used to declare a default draft folder for use  
with  _c_o_m_p,
+                 _d_i_s_t, _f_o_r_w, and _r_e_p_l) If 
`-draftmessage msg' is not used, it defaults to
+                 `new' (unless the user invokes _c_o_m_p  with  `-use',  
in  which  case  the
+                 default  is  `cur').   Hence, the user may have several 
message composi-
+                 tions in progress simultaneously.  Now, all of the _M_H 
tools  are  avail-
+                 able  on  each of the user's message drafts (e.g., 
_s_h_o_w, _s_c_a_n, _p_i_c_k, and
+                 so on).  If the folder does not exist, the user is asked if 
it should be
+                 created (just like with _r_e_f_i_l_e ).  Also, the last 
draft message the user
+                 was composing is known as `cur' in the draft folder.
+
+                      Furthermore, the _s_e_n_d command has these switches 
as  well.   Hence,
+                 from  the shell, the user can send off whatever drafts 
desired using the
+                 standard _M_H `msgs' convention with `-draftmessage msgs'.  
If  no  `msgs'
+                 are given, it defaults to `cur'.
+
+                      In addition, all five  programs  have  a  
`-nodraftfolder'  switch,
+                 which undoes the last occurrence of `-draftfolder folder' 
(useful if the
+                 latter occurs in the user's _M_H profile).
+
+                      If the user does not give the `-draftfolder +folder'  
switch,  then
+                 all  these  commands act ``normally''.  Note that the 
`-draft' switch to
+                 _s_e_n_d and _s_h_o_w still refers to the file called 
`draft' in the  user's  _M_H
+                 directory.   In  the interests of economy of expression, when 
using _c_o_m_p
+                 or _s_e_n_d, the user needn't prefix the draft `msg' or 
`msgs' with `-draft-
+                 message'.   Both  of these commands accept a `file' or 
`files' argument,
+                 and they will, if given `-draftfolder +folder' treat these 
arguments  as
+                 `msg' or `msgs'.[2] Hence,
+
+                      send -draftf +drafts first
+
+                 is the same as
+
+                      send -draftf +drafts -draftm first
+
+
+
+
+                    [2]  This may appear to be inconsistent, at first, but it 
saves a lot
+                 of typing.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -175-
+
+
+                      To make all this a bit more clear, here are some  
examples.   Let's
+                 assume that the following entries are in the _M_H profile:
+
+                      Draft-Folder: +drafts
+                      sendf: -draftfolder +drafts
+
+                 Furthermore, let's assume that the program _s_e_n_d_f is 
a (symbolic) link in
+                 the user's $HOME/bin/ directory to _s_e_n_d.  Then, any 
of the commands
+
+                      comp
+                      dist
+                      forw
+                      repl
+
+                 constructs the message draft in the `draft' folder using the 
`new'  mes-
+                 sage  number.   Furthermore, they each define `cur' in this 
folder to be
+                 that message draft.  If the user were to use the _q_u_i_t 
 option  at  `What
+                 now?'  level, then later on, if no other draft composition 
was done, the
+                 draft could be sent with simply
+
+                      sendf
+
+                 Or, if more editing was required, the draft could be edited 
with
+
+                      comp -use
+
+                 Instead, if other drafts had been composed in the meantime, 
so that this
+                 message  draft  was no longer known as `cur' in the `draft' 
folder, then
+                 the user could _s_c_a_n the folder to see which message 
draft in the  folder
+                 should be used for editing or sending.  Clever users could 
even employ a
+                 back-quoted _p_i_c_k to do the work:
+
+                      comp -use `pick +drafts -to bug-mh`
+
+                 or
+
+                      sendf `pick +drafts -to bug-mh`
+
+                 Note that in the _c_o_m_p example, the output from 
_p_i_c_k must  resolve  to  a
+                 single  message  draft (it makes no sense to talk about 
composing two or
+                 more drafts with one invocation of _c_o_m_p ).  In  
contrast,  in  the  _s_e_n_d
+                 example,  as  many  message  drafts  as  desired  can appear, 
since _s_e_n_d
+                 doesn't mind sending more than one draft at a time.
+
+                      Note that the argument `-draftfolder +folder' is  not  
included  in
+                 the  profile  entry  for  _s_e_n_d,  since  when  
_c_o_m_p, et. al., invoke _s_e_n_d
+                 directly, they supply _s_e_n_d with the UNIX pathname of 
the message  draft,
+                 and  not  a `draftmessage msg' argument.  As far as 
_s_e_n_d is concerned, a
+                 _d_r_a_f_t _f_o_l_d_e_r is not being used.
+
+                      It is important to realize that _M_H treats the draft 
folder  like  a
+                 standard  _M_H  folder  in nearly all respects.  There are 
two exceptions:
+
+
+
+
+
+
+
+
+
+
+
+                                                  -176-
+
+
+                 first_____, under no circumstancs will the `-draftfolder 
folder' switch cause
+                 the named folder to become the current folder.[3] 
Second______, although  con-
+                 ceptually _s_e_n_d deletes the `msgs' named in the draft 
folder, it does not
+                 call `delete-prog' to perform the deletion.
+
+
+                 _W_h_a_t _H_a_p_p_e_n_s _i_f _t_h_e 
_D_r_a_f_t _E_x_i_s_t_s
+
+                      When the _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l commands are  invoked  and  the
+                 draft  you indicated already exists, these programs will 
prompt the user
+                 for a reponse directing the program's action.  The prompt is
+
+                      Draft ``/usr/src/uci/mh/mhbox/draft'' exists (xx bytes).
+                      Disposition?
+
+                 The appropriate responses and their meanings are: 
replace_______:  deletes  the
+                 draft  and starts afresh; list____: lists the draft; 
refile______: files the draft
+                 into a folder and starts afresh; and, quit____: leaves 
the draft intact  and
+                 exits.   In addition, if you specified `-draftfolder folder' 
to the com-
+                 mand, then one other response will be accepted: new___: 
finds a new  draft,
+                 just  as  if `-draftmessage new' had been given.  Finally, 
the _c_o_m_p com-
+                 mand will accept one more response: use___: re-uses the 
draft, just  as  if
+                 `-use' had been given.
+
+
+                 _T_h_e _P_u_s_h _O_p_t_i_o_n _a_t _W_h_a_t 
_n_o_w? _L_e_v_e_l
+
+                      The _p_u_s_h option to the "What now?" query in the 
_c_o_m_p,  _d_i_s_t,  _f_o_r_w,
+                 and  _r_e_p_l  commands,  directs the command to 
_s_e_n_d the draft in a special
+                 detached fashion, with all normal output discarded.  If 
_p_u_s_h is used and
+                 the  draft  can not be sent, then _M_H will send the user a 
message, indi-
+                 cating the name of the draft file, and an explanation of the 
failure.
+
+                      The user can also invoke _s_e_n_d  from  the  shell  
with  the  `-push'
+                 switch, which makes _s_e_n_d act like it had been 
_p_u_s_h 'd by one of the com-
+                 position commands.
+
+                      By using _p_u_s_h, the user can free the  shell  to  
do  other  things,
+                 because  it appears to the shell that the _M_H command has 
finished.  As a
+                 result the shell will immediately prompt for  another  
command,  despite
+                 the  fact  that  the  command is really still running.  Note 
that if the
+                 user indicates that annotations are to be performed (with 
`-annotate' to
+
+
+                    [3]  Obviously,  if  the folder appeared in the context of 
a standard
+                 `+folder' argument to an _M_H program, as in
+
+                      scan +drafts
+
+                 it might become the current folder, depending on the context 
changes  of
+                 the _M_H program in question.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -177-
+
+
+                 _d_i_s_t, _f_o_r_w, or _r_e_p_l), the annotations 
will be performed after  the  mes-
+                 sage has been successfully sent.  This action will appear to 
occur asyn-
+                 chronously.  Obviously, if one of the messages that is to  be 
 annotated
+                 is  removed  before  the  draft has been successfully sent, 
then when _M_H
+                 tries to make the annotations, it won't be able to do so.   
In  previous
+                 versions of _M_H, this resulted in an error message 
mysteriously appearing
+                 on the user's terminal.  In _m_h._5 and later  versions,  
in  this  special
+                 circumstance, no error will be generated.
+
+                      If send is _p_u_s_h 'd, then the `-forward' switch  
is  examined  if  a
+                 failure notice is generated.  If given, then the draft is 
forwarded with
+                 the failure notice sent to the user.  This allows  rapid  
_b_u_r_s_t 'ing  of
+                 the failure notice to retrieve the unsent draft.
+
+
+                 _O_p_t_i_o_n_s _a_t _W_h_a_t _n_o_w? 
_L_e_v_e_l
+
+                      By default, the message composition programs call a 
program  called
+                 _w_h_a_t_n_o_w  before  the initial draft composition. 
 The _M_H user can specify
+                 any program for this.  Following is some information about  
the  default
+                 "What  now?" level.  More detailed information can be found 
in the _w_h_a_t_-
+                 _n_o_w (1) manual entry.
+
+                      When using the _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l commands at  "What  now?"
+                 level,  the _e_d_i_t, _l_i_s_t, 
_h_e_a_d_e_r_s, _r_e_f_i_l_e, and (for the _d_i_s_t and 
_r_e_p_l com-
+                 mands) the _d_i_s_p_l_a_y options will pass on any 
additional  arguments  given
+                 them to whatever program they invoke.
+
+                      In _m_h._1 (the original RAND _M_H ) and _m_h._2 
(the first UCI version  of
+                 _M_H ),  _M_H  used a complicated heuristic to determine 
if the draft should
+                 be deleted or preserved after an unsuccessful edit.   In  
_m_h._3,  _M_H  was
+                 changed to preserve the draft always, since _c_o_m_p, et. 
al., could usually
+                 look at a draft, apply another set of heuristics, and decide 
if  it  was
+                 important  or  not.   With the notion of a _d_r_a_f_t 
_f_o_l_d_e_r, in which one by
+                 default gets a `new' message draft, the edit 
deletion/preservation algo-
+                 rithm  was re-implemented, to keep the draft folder from 
being cluttered
+                 with aborted edits.
+
+                      Also, note that by default, if the  draft  cannot  be  
successfully
+                 sent,  these  commands  return  to "What now?" level.  But, 
when _p_u_s_h is
+                 used, this does not happen (obviously).  Hence, if these  
commands  were
+                 expected  to  annotate  any messages, this will have to be 
done by hand,
+                 later on, with the _a_n_n_o command.
+
+                      Finally, if the `-delete' switch is not given to the  
_q_u_i_t  option,
+                 then these commands will inform the user of the name of the 
unsent draft
+                 file.
+
+
+                 _D_i_g_e_s_t_s
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -178-
+
+
+                      The _f_o_r_w command has the beginnings  of  a  
digestifying  facility,
+                 with the `-digest list', `-issue number', and `-volume 
number' switches.
+
+                 If _f_o_r_w is given "list" to the `-digest' switch as 
the name of the  dis-
+                 cussion  group,  and  the `-issue number' switch is not 
given, then _f_o_r_w
+                 looks for an entry in the user's _M_H context  called  
"_d_i_g_e_s_t-issue-list"
+                 and  increments its value to use as the issue number.  
Similarly, if the
+                 `-volume number'  switch   is   not   given,   then   
_f_o_r_w   looks   for
+                 "_d_i_g_e_s_t-volume-list"  (but  does  not increment 
its value) to use as the
+                 volume number.
+
+                 Having calculated the name of  the  digest  and  the  volume  
and  issue
+                 numbers, _f_o_r_w will now process the components file 
using the same format
+                 string mechanism used by _r_e_p_l.  The current 
`%'-escapes are:
+
+                 _e_s_c_a_p_e  _t_y_p_e     
_s_u_b_s_t_i_t_u_t_i_o_n
+                 digest  string   digest name
+                 msg     integer  issue number
+                 cur     integer  volume number
+
+                 In addition, to capture the current date, any of the escapes  
valid  for
+                 _d_p (8) are also valid for _f_o_r_w.
+
+                 The default components file used by _f_o_r_w when in 
digest mode is:
+
+                      From:     %{digest}-Request
+                      To:       %{digest} Distribution: dist-%{digest};
+                      Subject:  %{digest} Digest V%(cur) #%(msg)
+                      Reply-To: %{digest}
+                      --------
+                      %{digest} Digest        %(weekday{date}), %2(mday{date}) 
%(month{date}) 19%02(year{date})
+                                      Volume %(cur) : Issue %(msg)
+
+                      Today's Topics:
+
+                 Hence, when the `-digest' switch is present, the  first  step 
 taken  by
+                 _f_o_r_w  is  to  expand the format strings in the 
component file.  The next
+                 step is to compose the draft using  the  standard  digest  
encapsulation
+                 algorithm  (even  putting an "End of list Digest" trailer in 
the draft).
+                 Once the draft is composed by _f_o_r_w, _f_o_r_w 
writes out the volume and issue
+                 profile entries for the digest, and then invokes the editor.
+
+                 Naturally,   when   composing   the   draft,   _f_o_r_w   
will   honor   the
+                 `-filter filterfile'  switch,  which is given to _m_h_l to 
filter each mes-
+                 sage being forwarded prior to encapsulation in the draft.  A 
good filter
+                 file to use, which is called _m_h_l._d_i_g_e_s_t, is:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -179-
+
+
+                      width=80,overflowoffset=10
+                      leftadjust,compress,compwidth=9
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+                      From:
+                      Subject:
+                      :
+                      body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+
+
+                 _F_O_L_D_E_R _H_A_N_D_L_I_N_G
+
+                      There are two  interesting  facilities  for  
manipulating  folders:
+                 relative folder addressing, which allows a user to shorten 
the typing of
+                 long folder names; and the folder-stack, which permits a user 
to keep  a
+                 stack of current folders.
+
+
+                 _R_e_l_a_t_i_v_e _F_o_l_d_e_r 
_A_d_d_r_e_s_s_i_n_g
+
+                      By default, when `+folder' is given, and the  folder  
name  is  not
+                 absolute  (does not start with /, ./, or ../), then the UNIX 
pathname of
+                 the folder is interpreted relative to the user's _M_H 
directory.  Although
+                 this  mechanism  works  fine  for  top-level folders and 
their immediate
+                 sub-folders, once the depth of the sub-folder  tree  grows,  
it  becomes
+                 rather unwieldly:
+
+                      scan +mh/mh.4/draft/flames
+
+                 is a lot of typing.  _M_H can't do anything  if  the  
current  folder  was
+                 "+inbox", but if the current folder was, say, 
"+mh/mh.4/draft", _M_H has a
+                 short-hand notation to reference a sub-folder  of  the  
current  folder.
+                 Using  the  address@hidden'  notation,  the  _M_H user can 
direct any _M_H program
+                 which expects a `+folder' argument to look for the  folder  
relative  to
+                 the  current  folder  instead of the user's _M_H directory. 
 Hence, if the
+                 current folder _w_a_s "+mh/mh.4/draft", then
+
+                      scan @flames
+
+                 would do the trick handily.  In addition,  if  the  current  
folder  _w_a_s
+                 "+mh/mh.4/draft",
+
+                      scan @../pick
+
+                 would scan the folder "+mh/mh.4/pick", since, in the  UNIX  
fashion,  it
+                 references the folder "pick" which is a sub-folder of the 
folder that is
+                 the parent of the current folder.  Since most advanced _M_H 
users seem  to
+                 exhibit a large degree of locality in referencing folders 
when they pro-
+                 cess mail, this convention should receive a wide range of 
uses.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -180-
+
+
+                 _T_h_e _F_o_l_d_e_r-_S_t_a_c_k
+
+                      The _f_o_l_d_e_r-_s_t_a_c_k mechanism in 
_M_H gives the _M_H user a facility simi-
+                 lar to the _C_S_h_e_l_l 's directory-stack.  Simply put,
+
+                      folder -push +foo
+
+                 makes "foo" the current folder, saving the folder  that  was  
previously
+                 the current folder on the _f_o_l_d_e_r-_s_t_a_c_k. 
 As expected,
+
+                      folder -pop
+
+                 takes the top of the _f_o_l_d_e_r-_s_t_a_c_k and 
makes it the current folder.  Each
+                 of  these switches lists the 
_f_o_l_d_e_r-_s_t_a_c_k when they execute.  It is sim-
+                 ple to write a _p_u_s_h_f command as a shell script.  
It's one line:
+
+                      exec folder -push $@
+
+                 Probably a better way is to link  _f_o_l_d_e_r  to  the 
 $HOME/bin/  directory
+                 under the name of _p_u_s_h_f and then add the entry
+
+                      pushf: -push
+
+                 to the .mh_profile.
+
+                      The manual page for _f_o_l_d_e_r discusses the 
analogy between the _C_S_h_e_l_l
+                 directory stack commands and the switches in 
_f_o_l_d_e_r which manipulate the
+                 _f_o_l_d_e_r-_s_t_a_c_k.  The _f_o_l_d_e_r 
command uses the context entry `Folder-Stack:'
+                 to keep track of the folders in the user's stack of folders.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                Appendix A
+                                             _C_O_M_M_A_N_D 
_S_U_M_M_A_R_Y
+
+
+
+
+                 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+                      [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+                 anno [+folder] [msgs] [-component field] [-inplace] 
[-noinplace]
+                      [-date] [-nodate] [-text body] [-help]
+
+                 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] 
[-verbose]
+                      [-archive] [-noarchive] [-protocol] [-noprotocol]
+                      [-mshproc program] [switches for _m_s_h_p_r_o_c] 
[-rcfile rcfile]
+                      [-norcfile] [-file BBoardsfile] [-user BBoardsuser]
+                      [-host host] [-help]
+
+                 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] 
[-noquiet]
+                      [-verbose] [-noverbose] [-help]
+
+                 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage 
msg]
+                      [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+                      [-form formfile] [-use] [-nouse] [-whatnowproc program]
+                      [-nowhatnowproc] [-help]
+
+                 dist [+folder] [msg] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-form formfile] [-inplace]
+                      [-noinplace] [-whatnowproc program] [-nowhatnowproc] 
[-help]
+
+                 /usr/bs/mh-6.8/lib/fmtdump [-form formatfile] [-format string]
+                      [-help]
+
+                 folder [+folder] [msg] [-all] [-fast] [-nofast] [-header]
+                      [-noheader] [-pack] [-nopack] [-recurse] [-norecurse] 
[-total]
+                      [-nototal] [-print] [-noprint] [-list] [-nolist] [-push]
+                      [-pop] [-help]
+
+                 folders
+
+                 forw [+folder] [msgs] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-filter filterfile]
+                      [-form formfile] [-format] [-noformat] [-inplace] 
[-noinplace]
+                      [-mime] [-nomime] [-whatnowproc program] [-nowhatnowproc]
+                      [-help]
+
+
+
+
+
+
+                                             -181-
+
+
+
+
+
+
+
+
+
+
+
+
+                 forw [+folder] [msgs] [-digest list] [-issue number]
+                      [-volume number] [other switches for _f_o_r_w] 
[-help]
+
+                 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+                      [-nochangecur] [-file name] [-form formatfile]
+                      [-format string] [-silent] [-nosilent] [-truncate]
+                      [-notruncate] [-width columns] [-host host] [-user user]
+                      [-apop] [-noapop] [-rpop] [-norpop] [-pack file] 
[-nopack]
+                      [-help]
+
+                 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] 
[-list]
+                      [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+                 /usr/bs/mh-6.8/lib/mhl [-bell] [-nobell] [-clear] [-noclear]
+                      [-folder +folder] [-form formfile] [-length lines]
+                      [-width columns] [-moreproc program] [-nomoreproc] 
[files ...]
+                      [-help]
+
+                 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+                      [-subject subject]] [-help]
+
+                 mhn [+folder] [msgs] [-part number]... [-type content]...
+                      [-list [-header] [-noheader]
+                             [-realsize] [-norealsize]] [-nolist]
+                      [-show [-serialonly] [-noserialonly]]
+                             [-form formfile]] [-noshow]
+                      [-store [-auto] [-noauto]] [-nostore]
+                      [-verbose] [-noverbose] [-rfc934mode] [-norfc934mode]
+                      [-ebcdic] [-noebcdicsafe]
+                      [-help]
+
+                 mhparam [profile-components] [-components] [-nocomponents] 
[-all]
+                      [-help]
+
+                 mhpath [+folder] [msgs] [-help]
+
+                 msgchk [-date] [-nodate] [-notify all/mail/nomail]
+                      [-nonotify all/mail/nomail] [-host host] [-user user] 
[-apop]
+                      [-noapop] [-rpop] [-norpop] [users ...] [-help]
+
+                 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] 
[file]
+                      [-help]
+
+                 next [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+                 packf [+folder] [msgs] [-file name] [-help]
+
+
+
+
+
+
+                                             -182-
+
+
+
+
+
+
+
+
+
+
+
+
+                 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+                      [-lbrace ... -rbrace] [--component pattern] [-after date]
+                      [-before date] [-datefield field] [-sequence name ...]
+                      [-public] [-nopublic] [-zero] [-nozero] [-list] [-nolist]
+                      [-help]
+
+
+                 prev [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+                 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] 
[-rapid]
+                      [-norapid] [-doteof] [-nodoteof] file [-help]
+
+                 /usr/bs/mh-6.8/lib/rcvstore [+folder] [-create] [-nocreate]
+                      [-sequence name ...] [-public] [-nopublic] [-zero] 
[-nozero]
+                      [-help]
+
+                 refile [msgs] [-draft] [-link] [-nolink] [-preserve] 
[-nopreserve]
+                      [-src +folder] [-file file] +folder ...  [-help]
+
+                 repl [+folder] [msg] [-annotate] [-noannotate] [-cc 
all/to/cc/me]
+                      [-nocc all/to/cc/me] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-editor editor]
+                      [-noedit] [-fcc +folder] [-filter filterfile] [-form 
formfile]
+                      [-inplace] [-noinplace] [-query] [-noquery]
+                      [-whatnowproc program] [-nowhatnowproc] [-width columns]
+                      [-help]
+
+                 rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+                 rmm [+folder] [msgs] [-help]
+
+                 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+                      [-format string] [-header] [-noheader] [-width columns]
+                      [-reverse] [-noreverse] [-file filename] [-help]
+
+                 send [-alias aliasfile] [-draft] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+                      [-mime] [-nomime] [-msgid] [-nomsgid] [-push] [-nopush]
+                      [-split seconds] [-verbose] [-noverbose] [-watch] 
[-nowatch]
+                      [-width columns] [file ...] [-help]
+
+                 show [+folder] [msgs] [-draft] [-header] [-noheader]
+                      [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+                      [-help]
+
+                 sortm [+folder] [msgs] [-datefield field] [-textfield field]
+                      [-notextfield] [-limit days] [-nolimit] [-verbose]
+                      [-noverbose] [-help]
+
+
+
+                                             -183-
+
+
+
+
+
+
+
+
+
+
+
+
+                 vmh [-prompt string] [-vmhproc program] [-novmhproc]
+                      [switches for _v_m_h_p_r_o_c] [-help]
+
+                 whatnow [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-prompt string] [file] 
[-help]
+
+                 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [file] [-help]
+
+                 /usr/bs/mh-6.8/lib/ap [-form formatfile] [-format string]
+                      [-normalize] [-nonormalize] [-width columns] addrs ...
+                      [-help]
+
+                 /usr/bs/mh-6.8/lib/conflict [-mail name] [-search directory]
+                      [aliasfiles ...] [-help]
+
+                 /usr/bs/mh-6.8/lib/dp [-form formatfile] [-format string]
+                      [-width columns] dates ...  [-help]
+
+                 /usr/bs/mh-6.8/lib/install-mh [-auto] [-compat]
+
+                 /usr/bs/mh-6.8/lib/post [-alias aliasfile] [-filter 
filterfile]
+                      [-nofilter] [-format] [-noformat] [-mime] [-nomime] 
[-msgid]
+                      [-nomsgid] [-verbose] [-noverbose] [-watch] [-nowatch]
+                      [-width columns] file [-help]
+
+                 /usr/bs/mh-6.8/lib/slocal [address info sender] [-addr 
address]
+                      [-info data] [-sender sender] [-user username] [-mailbox 
mbox]
+                      [-file file] [-maildelivery deliveryfile] [-verbose]
+                      [-noverbose] [-debug] [-help]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -184-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                Appendix B
+                                             _M_E_S_S_A_G_E 
_N_A_M_E _B_N_F
+
+
+
+
+
+                           msgs                  :=  msgspec                |
+                                                     msgs msgspec
+
+                           msgspec               :=  msg                    |
+                                                     msg-range              |
+                                                     msg-sequence           |
+                                                     user-defined-sequence
+
+                           msg                   :=  msg-name               |
+                                                     <number>
+
+                           msg-name              :=  "first"                |
+                                                     "last"                 |
+                                                     "cur"                  |
+                                                     "."                    |
+                                                     "next"                 |
+                                                     "prev"
+
+                           msg-range             :=  msg"-"msg              |
+                                                     "all"
+
+                           msg-sequence          :=  msg":"signed-number
+
+                           signed-number         :=  "+"<number>            |
+                                                     "-"<number>            |
+                                                     <number>
+
+                           user-defined-sequence :=  <alpha>                |
+                                                     <alpha><alphanumeric>*
+
+
+                 Where <number> is a decimal number greater than zero.
+
+                 Msg-range specifies all of the messages in the given range 
and must  not
+                 be empty.
+
+                 Msg-sequence specifies up to <number> of messages, beginning 
with  "msg"
+                 (in the case of first, cur, next, or <number>), or ending 
with "msg" (in
+                 the case of prev or last).  +<number> forces "starting  with  
msg",  and
+                 -<number> forces "ending with number".  In all cases, "msg" 
must exist.
+
+                 User-defined sequences are defined and manipulated  with  the 
 _p_i_c_k  and
+                 _m_a_r_k commands.
+
+
+
+                                                  -185-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                _R_E_F_E_R_E_N_C_E_S
+
+
+
+                 1.  Crocker, D. H., J. J. Vittal, K. T. Pogran,  and  D.  A.  
Henderson,
+                     Jr.,  "Standard  for  the  Format  of  ARPA  Network Text 
Messages,"
+                     _R_F_C_7_3_3, November 1977.
+
+                 2.  Thompson, K., and D. M. Ritchie,  "The  UNIX  
Time-sharing  System,"
+                     _C_o_m_m_u_n_i_c_a_t_i_o_n_s _o_f 
_t_h_e _A_C_M, Vol. 17, July 1974, pp. 365-375.
+
+                 3.  McCauley, E. J., and P. J. Drongowski, "KSOS-The Design 
of a  Secure
+                     Operating  System,"  _A_F_I_P_S 
_C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, National 
Computer
+                     Conference, Vol. 48, 1979, pp. 345-353.
+
+                 4.  Crocker, David H., _F_r_a_m_e_w_o_r_k _a_n_d 
_F_u_n_c_t_i_o_n_s _o_f _t_h_e "_M_S" _P_e_r_s_o_n_a_l 
_M_e_s_-
+                     _s_a_g_e _S_y_s_t_e_m, The RAND Corporation, 
R-2134-ARPA, December 1977.
+
+                 5.  Thompson, K., and D. M. Ritchie, _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l, 6th  ed.,
+                     Western  Electric  Company,  May 1975 (available only to 
UNIX licen-
+                     sees).
+
+                 6. Crocker, D. H., "Standard for the Format of ARPA Internet  
Text  Mes-
+                     sages," _R_F_C_8_2_2, August 1982.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -186-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -i-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                _R_E_A_D _T_H_I_S
+
+
+
+
+                      Although the _M_H system was originally developed by  
the  RAND  Cor-
+                 poration,  and is now in the public domain, the RAND 
Corporation assumes
+                 no responsibility for _M_H or this particular version of 
_M_H.
+
+                      In addition, the Regents of the University of California 
issue  the
+                 following disclaimer in regard to the UCI version of _M_H:
+
+                      "Although each program has been tested by its 
contributor, no  war-
+                      ranty,  express  or  implied,  is  made  by  the 
contributor or the
+                      University of California, as to the accuracy and 
functioning of the
+                      program and related program material, nor shall the fact 
of distri-
+                      bution constitute any  such  warranty,  and  no  
responsibility  is
+                      assumed  by the contributor or the University of 
California in con-
+                      nection herewith."
+
+                      This version of _M_H is in the public domain, and as 
such, there  are
+                 no  real  restrictions on its use.  The _M_H source code 
and documentation
+                 have no licensing restrictions whatsoever.  As a courtesy,  
the  authors
+                 ask only that you provide appropriate credit to the RAND 
Corporation and
+                 the University of California for having developed the 
software.
+
+                      _M_H is a software package that is supported neither 
by the RAND Cor-
+                 poration nor the University of California.  However, since we 
do use the
+                 software ourselves and plan to continue using (and  
improving)  _M_H,  bug
+                 reports and their associated fixes should be reported back to 
us so that
+                 we may include them in future releases.  The  current  
computer  mailbox
+                 for   _M_H   is   address@hidden   (in   the   ARPA   
Internet),   and
+                 ...!ucbvax!ucivax!bug-mh (UUCP).  Presently, there are two 
Internet dis-
+                 cussion   groups,   address@hidden   and   address@hidden
+                 MH-Workers is for people discussing code changes to _M_H.  
MH-Users is for
+                 general  discussion  about  how to use _M_H.  MH-Users is 
bi-directionally
+                 gatewayed into USENET as comp.mail.mh.
+
+                 _H_O_W _T_O _G_E_T _M_H
+
+                      Since you probably already have _M_H, you may not need 
to  read  this
+                 unless  you  suspect you have an old version.  There are two 
ways to get
+                 the latest release:
+
+                      1.  If you can FTP to the  ARPA  Internet,  use  
anonymous  FTP  to
+                 ics.uci.edu  [128.195.1.1]  and  retrieve  the file 
pub/mh/mh-6.8.tar.Z.
+                 This is a tar  image  after  being  run  through  the  
compress  program
+                 (approximately  1.8MB).   There  should  also  be  a README 
file in that
+                 directory which tells what the current release of _M_H is, 
and how to  get
+                 updates.
+
+
+
+                                                   -i-
+
+
+
+
+
+
+
+
+
+                                                   -ii-
+
+
+                      This tar file is also available on louie.udel.edu 
[128.175.1.3]  in
+                 portal/mh-6.8.tar.Z.   You  may  also find MH on various 
other hosts; to
+                 make sure you get the latest version and don't waste your 
time re-fixing
+                 bugs, it's best to get it from either ics.uci.edu or 
louie.udel.edu.
+
+                      2.  You can send $75 US to the address below.  This 
covers the cost
+                 of  a  6250  BPI  9-track magtape, handling, and shipping.  
In addition,
+                 you'll get a laser-printed hard-copy of the entire MH 
documentation set.
+                 Be  sure  to  include your USPS address with your check.  
Checks must be
+                 drawn on U.S. funds and should be made payable to:
+
+                           Regents of the University of California
+
+                 The distribution address is:
+
+                           Computing Support Group
+                           Attn: MH distribution
+                           Department of Information and Computer Science
+                           University of California, Irvine
+                           Irvine, CA  92717
+
+                           714/856-7554
+
+                      If you just want the hard-copies of the  documentation,  
you  still
+                 have  to  pay  the $75.  The tar image has the documentation 
source (the
+                 manual is in roff format, but the rest are in TeX  format).   
Postscript
+                 formatted  versions  of  the TeX papers are available, as are 
crude tty-
+                 conversions of those papers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _F_O_R_E_W_O_R_D
+
+
+
+
+                      This document describes the RAND _M_H Message Handling 
 System.   Its
+                 primary  purpose  is  to  serve as a user's manual.  It has 
been heavily
+                 based on a previous version of the manual,  prepared  by  
Bruce  Borden,
+                 Stockton Gaines, and Norman Shapiro.
+
+                      _M_H is a particularly novel system, and thus it is 
often more  prone
+                 to  change  than  other  pieces  of  production software.  As 
such, some
+                 specific points in this manual may not be correct in the 
future.  In all
+                 cases,  the  on-line  sections  of  this  manual,  available 
through the
+                 UNIX[1] _m_a_n command, should present the most current 
information.
+
+                      When reading this document as a user's manual, certain 
sections are
+                 more  interesting than others.  The Preface and Summary are 
not particu-
+                 larly interesting to those interested in learning _M_H.  
The  Introduction
+                 is slightly more interesting, as it touches upon the 
organization of the
+                 remainder of this document.  The most useful sections are the 
 Overview,
+                 Tutorial,  and Detailed Description.  The Overview should be 
read by all
+                 _M_H users, regardless of their expertise (beginning, 
novice, advanced, or
+                 hacker).   The  Tutorial  should  be read by all beginning 
and novice _M_H
+                 users, as it presents a nice description of the _M_H 
system.  The Detailed
+                 Description  should  be  read by the day-to-day user of 
_M_H, as it spells
+                 out all of the realities of the _M_H system.  The Advanced  
Features  sec-
+                 tion discusses some powerful _M_H capabilities for advanced 
users.  Appen-
+                 dix A is particularly useful for novices, as it summarizes  
the  invoca-
+                 tion syntax of all the _M_H commands.
+
+                      There are also several other documents which may be 
useful to  you:
+                 _T_h_e  _R_A_N_D  _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_u_t_o_r_i_a_l, which is 
a tutorial for
+                 _M_H; _T_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_h_e _U_C_I 
_B_B_o_a_r_d_s _F_a_c_i_l_i_t_y, which
+                 describes  the  BBoards handling under _M_H; _M_H._5: 
_H_o_w _t_o _p_r_o_c_e_s_s _2_0_0 _m_e_s_-
+                 _s_a_g_e_s _a _d_a_y _a_n_d _s_t_i_l_l 
_g_e_t _s_o_m_e _r_e_a_l _w_o_r_k _d_o_n_e, which  was  
presented  at
+                 the  1985  Summer  Usenix Conference and Exhibition in 
Portland, Oregon;
+                 _M_H: _A _M_u_l_t_i_f_a_r_i_o_u_s _U_s_e_r 
_A_g_e_n_t, which has been accepted  for  publication
+                 by  Computer  Networks;  _M_Z_n_e_t: _M_a_i_l 
_S_e_r_v_i_c_e _f_o_r _P_e_r_s_o_n_a_l 
_M_i_c_r_o-_C_o_m_p_u_t_e_r
+                 _S_y_s_t_e_m_s, which was presented at the  First  
International  Symposium  on
+                 Computer  Message  Systems  in  Nottingham, U.K.; and, 
_D_e_s_i_g_n _o_f _t_h_e _T_T_I
+                 _P_r_o_t_o_t_y_p_e _T_r_u_s_t_e_d 
_M_a_i_l _A_g_e_n_t, which describes  a  proprietary  "trusted"
+                 mail  system  built on _M_H.  There are also documents, 
mostly specific to
+                 U.C. Irvine which you may find interesting: _M_H _f_o_r 
_B_e_g_i_n_n_e_r_s, and _M_H _f_o_r
+                 _M_M _U_s_e_r_s.  All of these documents exist in the 
_m_h._6 distribution sent to
+                 your site.  There's also a document, _C_h_a_n_g_e_s 
_t_o _t_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e _H_a_n_-
+                 _d_l_i_n_g  _S_y_s_t_e_m:  _M_H._6,  which  
describes  user-visible changes made to _M_H
+                 since the last major release.
+
+
+                    [1] UNIX is a trademark of AT&T Bell Laboratories.
+
+
+                                                  -iii-
+
+
+
+
+
+
+
+
+
+                                                   -iv-
+
+
+                      This manual is very large, as it describes a large, 
powerful system
+                 in gruesome detail.  The important thing to remember is:
+
+
+                                              _D_O_N'_T 
_P_A_N_I_C[_2]
+
+
+                 As explained in the tutorial, you really need to know only 5 
commands to
+                 handle most of your mail.
+
+                      Very advanced users may wish to consult _T_h_e 
_R_A_N_D  _M_H  _M_e_s_s_a_g_e  _H_a_n_-
+                 _d_l_i_n_g  _S_y_s_t_e_m:  
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, which is also 
present in the _m_h._6
+                 distribution sent to your site.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                    [2] Note the large, _f_r_i_e_n_d_l_y letters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                             
_A_C_K_N_O_W_L_E_D_G_M_E_N_T_S
+
+
+
+
+                      The _M_H system described herein is based on  the  
original  RAND  _M_H
+                 system.   It  has  been  extensively  developed (perhaps too 
much so) by
+                 Marshall T. Rose and John L. Romine at  the  University  of  
California,
+                 Irvine.  Einar A. Stefferud, Jerry N. Sweet, and Terry P. 
Domae provided
+                 numerous suggestions to improve the UCI version of  _M_H.   
Of  course,  a
+                 large  number  of  people have helped _M_H along.  The list 
of ``_M_H immor-
+                 tals'' is too long to list here.  However, Van Jacobson 
deserves a  spe-
+                 cial  acknowledgement for his tireless work in improving the 
performance
+                 of _M_H.  Some programs have been speeded-up by a factor of 
10 or 20.  All
+                 of  users  of  _M_H,  everywhere,  owe  a special thanks to 
Van.  For this
+                 release, numerous _M_H-_W_o_r_k_e_r_s sent in fixes 
and other changes.  A handful
+                 of  courageous  _M_H-_W_o_r_k_e_r_s volunteered to 
beta-test these changes; their
+                 help is particularly appreciated.
+
+                      This manual is based on the original _M_H manual 
written at  RAND  by
+                 Bruce Borden, Stockton Gaines, and Norman Shapiro.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -v-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _P_R_E_F_A_C_E
+
+
+
+
+                      This report describes a system for dealing with messages 
 transmit-
+                 ted  on  a  computer.  Such messages might originate with 
other users of
+                 the same computer or might come from an outside source 
through a network
+                 to  which the user's computer is connected.  Such 
computer-based message
+                 systems are becoming increasingly widely used, both within  
and  outside
+                 the Department of Defense.
+
+                      The message handling system _M_H was developed for two 
reasons.   One
+                 was  to  investigate some research ideas concerning how a 
message system
+                 might take advantage  of  the  architecture  of  the  UNIX  
time-sharing
+                 operating  system  for Digital Equipment Corporation PDP-11 
and VAX com-
+                 puters, and the special features of UNIX's command-level 
interface  with
+                 the  user  (the  "shell").  The other reason was to provide a 
better and
+                 more adaptable base than that of conventional designs on 
which to  build
+                 a  command and control message system.  The effort has 
succeeded in both
+                 regards, although this report mainly describes the message 
system itself
+                 and how it fits in with UNIX.
+
+                      The present report  should  be  of  interest  to  three  
groups  of
+                 readers.   First, it is a complete reference manual for the 
users of _M_H.
+                 Second, it should be of interest to those who have a  general 
 knowledge
+                 of  computer-based message systems, both in civilian and 
military appli-
+                 cations.  Finally, it should be of interest to  those  who  
build  large
+                 subsystems  that  interface  with  users,  since  it  
illustrates  a new
+                 approach to such interfaces.
+
+                      The original _M_H system was developed  by  Bruce  
Borden,  using  an
+                 approach  suggested  by  Stockton  Gaines  and Norman 
Shapiro.  Valuable
+                 assistance was provided by Phyllis Kantar in the  later  
stages  of  the
+                 system's  implementation.   Several  colleagues contributed 
to the ideas
+                 included in this system, particularly Robert Anderson and 
David Crocker.
+                 In  addition,  valuable  experience  in  message systems, and 
a valuable
+                 source of ideas, was available to us in the form of a  
previous  message
+                 system for UNIX called MS, designed at RAND by David Crocker.
+
+                      This report was originally prepared as part  of  the  
RAND  project
+                 entitled "Data Automation Research", sponsored by Project AIR 
FORCE.
+
+
+
+
+
+
+
+
+
+
+
+                                                   -vi-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _S_U_M_M_A_R_Y
+
+
+
+
+                      Electronic communication of text messages is becoming  
commonplace.
+                 Computer-based  message systems-software packages that 
provide tools for
+                 dealing with messages-are used in many contexts.  In 
particular, message
+                 systems  are  becoming increasingly important in command and 
control and
+                 intelligence applications.
+
+                      This report describes a message handling system  called  
_M_H.   This
+                 system  provides  the  user with tools to compose, send, 
receive, store,
+                 retrieve, forward, and reply to messages.  _M_H has been 
built on the UNIX
+                 time-sharing  system,  a  popular operating system developed 
for the DEC
+                 PDP-11 and VAX classes of computers.
+
+                      A complete description of _M_H is given for users of 
the system.  For
+                 those who do not intend to use the system, this description 
gives a gen-
+                 eral idea of what a message system is like.  The  system  
involves  some
+                 new ideas about how large subsystems can be constructed.
+
+                      The interesting and unusual features of _M_H include  
the  following:
+                 The  user command interface to _M_H is the UNIX "shell" 
(the standard UNIX
+                 command interpreter).  Each separable  component  of  message 
 handling,
+                 such  as  message composition or message display, is a 
separate command.
+                 Each program is driven from and  updates  a  private  user  
environment,
+                 which  is  stored  as  a file between program invocations.  
This private
+                 environment also contains information  to  "custom  tailor"  
_M_H  to  the
+                 individual's  tastes.   _M_H  stores each message as a 
separate file under
+                 UNIX, and it utilizes the tree-structured UNIX file system  
to  organize
+                 groups  of  files  within separate directories or "folders".  
All of the
+                 UNIX facilities for dealing with files and directories, such  
as  renam-
+                 ing,  copying, deleting, cataloging, off-line printing, etc., 
are appli-
+                 cable to messages and directories of messages (folders).   
Thus,  impor-
+                 tant capabilities needed in a message system are available in 
_M_H without
+                 the need (often seen in other message systems) for code that  
duplicates
+                 the facilities of the supporting operating system.  It also 
allows users
+                 familiar with the shell to use _M_H with minimal effort.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -vii-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _C_O_N_T_E_N_T_S
+
+
+
+
+                 READ THIS 
.........................................................    i
+
+                 FOREWORD 
..........................................................  iii
+
+                 ACKNOWLEDGMENTS 
...................................................    v
+
+                 PREFACE 
...........................................................   vi
+
+                 SUMMARY 
...........................................................  vii
+
+                 Section
+
+                    1.  INTRODUCTION 
...............................................    1
+
+                    2.  OVERVIEW 
...................................................    4
+
+                    3.  TUTORIAL 
...................................................    7
+
+                    4.  DETAILED DESCRIPTION 
.......................................   10
+                      THE USER PROFILE 
.............................................   10
+                      MESSAGE NAMING 
...............................................   13
+                      OTHER MH CONVENTIONS 
.........................................   14
+                      MH COMMANDS 
..................................................   16
+                         ALI 
.......................................................   17
+                         ANNO 
......................................................   19
+                         BBC 
.......................................................   21
+                         BBOARDS 
...................................................   24
+                         BURST 
.....................................................   26
+                         COMP 
......................................................   28
+                         DIST 
......................................................   30
+                         FOLDER 
....................................................   33
+                         FORW 
......................................................   37
+                         INC 
.......................................................   42
+                         MARK 
......................................................   45
+                         MHL 
.......................................................   47
+                         MHMAIL 
....................................................   52
+                         MHN 
.......................................................   54
+                         MHOOK 
.....................................................   70
+                         MHPARAM 
...................................................   72
+                         MHPATH 
....................................................   74
+                         MSGCHK 
....................................................   77
+                         MSH 
.......................................................   79
+                         NEXT 
......................................................   83
+                         PACKF 
.....................................................   84
+                         PICK 
......................................................   85
+                         PREV 
......................................................   90
+                         PROMPTER 
..................................................   91
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                         RCVSTORE 
..................................................   94
+                         REFILE 
....................................................   96
+                         REPL 
......................................................   98
+                         RMF 
.......................................................  102
+                         RMM 
.......................................................  104
+                         SCAN 
......................................................  106
+                         SEND 
......................................................  109
+                         SHOW 
......................................................  112
+                         SLOCAL 
....................................................  115
+                         SORTM 
.....................................................  120
+                         VMH 
.......................................................  122
+                         WHATNOW 
...................................................  124
+                         WHOM 
......................................................  127
+                      MORE DETAILS 
.................................................  129
+                         MH-ALIAS 
..................................................  130
+                         MH-FORMAT 
.................................................  134
+                         MH-MAIL 
...................................................  143
+                         MH-PROFILE 
................................................  147
+                         MH-SEQUENCE 
...............................................  155
+                         AP 
........................................................  159
+                         CONFLICT 
..................................................  161
+                         DP 
........................................................  163
+                         FMTDUMP 
...................................................  165
+                         INSTALL-MH 
................................................  166
+                         POST 
......................................................  167
+
+                    5.  REPORTING PROBLEMS 
.........................................  169
+
+                    6.  ADVANCED FEATURES 
..........................................  170
+                      USER-DEFINED SEQUENCES 
.......................................  170
+                         Pick and User-Defined Sequences 
...........................  170
+                         Mark and User-Defined Sequences 
...........................  172
+                         Public and Private User-Defined Sequences 
.................  172
+                         Sequence Negation 
.........................................  172
+                         The Previous Sequence 
.....................................  173
+                         The Unseen Sequence 
.......................................  173
+                      COMPOSITION OF MAIL 
..........................................  174
+                         The Draft Folder 
..........................................  174
+                         What Happens if the Draft Exists 
..........................  176
+                         The Push Option at What now? Level 
........................  176
+                         Options at What now? Level 
................................  177
+                         Digests 
...................................................  178
+                      FOLDER HANDLING 
..............................................  179
+                         Relative Folder Addressing 
................................  179
+                         The Folder-Stack 
..........................................  180
+
+                 Appendix
+                    A.  Command Summary 
............................................  181
+                    B.  Message Name BNF 
...........................................  185
+
+                 REFERENCES 
........................................................  186
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         THE RAND MH
+
+
+                                      MESSAGE HANDLING
+
+
+                                           SYSTEM:
+
+
+                                        USER'S MANUAL
+
+
+
+
+
+
+                                         UCI Version
+
+
+
+
+
+                                      Marshall T. Rose
+
+                                       John L. Romine
+
+
+
+
+                               Based on the original manual by
+
+                                 Borden, Gaines, and Shapiro
+
+
+
+
+
+
+
+                                      December 14, 1992
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         6.6 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/historical/MH.pdf b/docs/historical/MH.pdf
new file mode 100644
index 0000000..1a460cc
Binary files /dev/null and b/docs/historical/MH.pdf differ
diff --git a/docs/historical/MH.txt b/docs/historical/MH.txt
new file mode 100644
index 0000000..1c25514
--- /dev/null
+++ b/docs/historical/MH.txt
@@ -0,0 +1,11880 @@
+
+
+
+
+
+
+
+
+                                            _d_i_s_c_a_r_d _t_h_i_s 
_p_a_g_e
+
+
+
+
+                                               The RAND _M_H
+                                         Message Handling System:
+                                              User's Manual
+
+                                               UCI Version
+
+
+                                            November 30, 1993
+                                              6.8.3 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                             _1. 
_I_N_T_R_O_D_U_C_T_I_O_N
+
+
+
+
+
+                      Although people can travel cross-country in  hours  and  
can  reach
+                 others by telephone in seconds, communications still depend 
heavily upon
+                 paper, most of which is distributed through the mails.
+
+                      There are several major reasons for this  continued  
dependence  on
+                 written  documents.   First,  a  written  document  may be 
proofread and
+                 corrected prior to its distribution, giving the author 
complete  control
+                 over  his  words.   Thus,  a written document is better than 
a telephone
+                 conversation in this respect.  Second, a carefully written  
document  is
+                 far  less  likely to be misinterpreted or poorly translated 
than a phone
+                 conversation.  Third, a  signature  offers  reasonable  
verification  of
+                 authorship, which cannot be provided with media such as 
telegrams.
+
+                      However, the need for fast____,  accurate,  and  
reproducible  document
+                 distribution is obvious.  One solution in widespread use is 
the telefax.
+                 Another that is rapidly gaining popularity is  electronic  
mail.   Elec-
+                 tronic  mail is similar to telefax in that the data to be 
sent are digi-
+                 tized, transmitted via phone lines, and turned back into a  
document  at
+                 the  receiver.   The  advantage of electronic mail is in its 
compression
+                 factor.  Whereas a telefax must scan a page in very fine 
lines and  send
+                 all  of the black and white information, electronic mail 
assigns charac-
+                 ters fixed codes which can be transmitted as a few bits of  
information.
+                 Telefax  presently  has the advantage of being able to 
transmit an arbi-
+                 trary page, including pictures, but electronic mail is 
beginning to deal
+                 with  this  problem.   Electronic mail also integrates well 
with current
+                 directions  in  office  automation,  allowing  documents  
prepared  with
+                 sophisticated  equipment  at  one  site  to  be  quickly 
transferred and
+                 printed at another site.
+
+                      Currently, most electronic mail is intraorganizational,  
with  mail
+                 transfer  remaining within one computer.  As computer 
networking becomes
+                 more common, however, it is becoming more feasible to  
communicate  with
+                 anyone whose computer can be linked to your own via a network.
+
+                      The pioneering efforts on general-purpose electronic 
mail  were  by
+                 organizations using the DoD ARPAnet[1].  The capability to 
send messages
+                 between computers existed before the ARPAnet was developed, 
but  it  was
+                 used  only in limited ways.  With the advent of the ARPAnet, 
tools began
+                 to be developed which made it convenient for  individuals  or 
 organiza-
+                 tions  to distribute messages over broad geographic areas, 
using diverse
+                 computer facilities.  The interest and activity in message  
systems  has
+                 now  reached  such proportions that steps have been taken 
within the DoD
+                 to coordinate and unify the development  of  military  
message  systems.
+                 The  use  of electronic mail is expected to increase 
dramatically in the
+                 next few years.  The utility of such systems in the command 
and  control
+                 and  intelligence environments is clear, and applications in 
these areas
+
+
+
+
+
+
+
+
+
+
+
+                                                   -2-
+
+
+                 will probably lead the way.  As the costs for sending and 
handling elec-
+                 tronic messages continue their rapid decrease, such uses can 
be expected
+                 to spread rapidly into other areas and, of course, will not  
be  limited
+                 to the DoD.
+
+                      A message system provides tools that  help  users  
(individuals  or
+                 organizations)  deal  with  messages  in various ways.  
Messages must be
+                 composed, sent, received, stored, retrieved, forwarded, and 
replied  to.
+                 Today's  best  interactive  computer  systems provide a 
variety of word-
+                 processing and information handling capabilities.  The 
message  handling
+                 facilities  should be well integrated with the rest of the 
system, so as
+                 to be a graceful extension of overall system capability.
+
+                      The message system described in this report, _M_H, 
provides  most  of
+                 the  features that can be found in other message systems and 
also incor-
+                 porates some new ones.  It has been built on the UNIX 
time-sharing  sys-
+                 tem[2],  a  popular  operating  system  for the DEC PDP-11[1] 
and VAX-11
+                 classes of computers.  A "secure" operating system similar  
to  UNIX  is
+                 currently being developed[3], and that system will also run 
_M_H.
+
+                      This report provides a complete description  of  _M_H  
and  thus  may
+                 serve  as  a  user's  manual,  although  parts  of the report 
will be of
+                 interest to non-users as well.  Sections  2  and  3,  the  
Overview  and
+                 Tutorial,  present  the key ideas of _M_H and will give 
those not familiar
+                 with message systems an idea of what such systems are like.
+
+                      _M_H consists of a set of commands which use some 
special  files  and
+                 conventions.   The final section is divided into three parts. 
 The first
+                 part covers the information a user needs to know in addition 
to the com-
+                 mands.   Then, each of the _M_H commands is described in 
detail.  Finally,
+                 other obscure details are revealed.  A summary of the 
commands is  given
+                 in  Appendix A, and the syntax of message sequences is given 
in Appendix
+                 B.
+
+                      A novel approach has been taken in the design of  
_M_H.   Instead  of
+                 creating  a large subsystem that appears as a single command 
to the user
+                 (such as MS[4]), _M_H is a collection of separate commands 
which  are  run
+                 as  separate  programs.   The file and directory system of 
UNIX are used
+                 directly.  Messages are stored as individual files 
(datasets), and  col-
+                 lections  of them are grouped into directories.  In contrast, 
most other
+                 message systems store messages in a complicated data 
structure within  a
+                 monolithic file.  With the _M_H approach, UNIX commands can 
be interleaved
+                 with commands invoking the  functions  of  the  message  
handler.   Con-
+                 versely, existing UNIX commands can be used in connection 
with messages.
+                 For example, all the usual UNIX editing, text-formatting,  
and  printing
+                 facilities  can  be applied directly to individual messages.  
MH, there-
+                 fore, consists of a relatively small amount of new code; it 
makes exten-
+                 sive  use  of  other  UNIX software to provide the 
capabilities found in
+
+
+                    [1] PDP and VAX are trademarks of Digital Equipment 
Corporation.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -3-
+
+
+                 other message systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                               _2. _O_V_E_R_V_I_E_W
+
+
+
+
+
+                      There are three main aspects  of  _M_H :   the   way   
messages   are
+                 stored  (the  message  database),  the user's profile (which 
directs how
+                 certain actions of the message handler take place), and the 
commands for
+                 dealing with messages.
+
+                      Under _M_H, each message is stored as a separate file. 
  A  user  can
+                 take  any  action  with a message that he could with an 
ordinary file in
+                 UNIX.  A UNIX directory in which messages are stored is 
called a folder.
+                 Each  folder  contains  some  standard  entries  to support 
the message-
+                 handling functions.  The messages in  a  folder  have  
numerical  names.
+                 These  folders (directories) are entries in a particular 
directory path,
+                 described in the user profile, through which _M_H can find  
message  fold-
+                 ers.   Using  the UNIX "link" facility, it is possible for 
one copy of a
+                 message to be "filed" in more than one folder, providing a 
message index
+                 facility.   Also, using the UNIX tree-structured file system, 
it is pos-
+                 sible to have a folder within a folder,  nested  arbitrarily  
deep,  and
+                 have the full power of the _M_H commands available.
+
+                      Each user of _M_H has a user profile, a file in  his  
$HOME  (initial
+                 login)  directory  called  ._m_h__p_r_o_f_i_l_e.   
This  profile contains several
+                 pieces of information used by the _M_H commands: a path 
name to the direc-
+                 tory  that  contains  the  message folders and parameters 
that tailor _M_H
+                 commands to the individual user's requirements.  There is  
also  another
+                 file,  called  the  user  context, which contains information 
concerning
+                 which folder the user last referenced (the "current" folder). 
  It  also
+                 contains most of the necessary state information concerning 
how the user
+                 is dealing with his messages, enabling _M_H to be 
implemented as a set  of
+                 individual  UNIX commands, in contrast to the usual approach 
of a monol-
+                 ithic subsystem.
+
+                      In _M_H, incoming mail is appended to the end of a 
file in  a  system
+                 spooling  area  for  the user.  This area is called the mail 
drop direc-
+                 tory, and the file is called the user's mail drop.   Normally 
 when  the
+                 user  logins  in, s/he is informed of new mail (or the _M_H 
program _m_s_g_c_h_k
+                 may be run).  The user adds the new messages to his/her 
collection of _M_H
+                 messages  by  invoking  the  command _i_n_c.  The 
_i_n_c (incorporate) command
+                 adds the new messages to a folder called "inbox", assigning  
them  names
+                 which  are  consecutive  integers starting with the next 
highest integer
+                 available in inbox.  _i_n_c also produces a _s_c_a_n 
summary  of  the  messages
+                 thus  incorporated.   A  folder can be compacted into a 
single file, for
+                 easy storage, by using the  _p_a_c_k_f  command.   Also, 
 messages  within  a
+                 folder can be sorted by date and time with the 
_s_o_r_t_m command.
+
+
+                      There are four commands for examining the  messages  in  
a  folder:
+                 _s_h_o_w,  _p_r_e_v,  _n_e_x_t,  and 
_s_c_a_n.  The _s_h_o_w command displays a message in a
+
+                                                   -4-
+
+
+
+
+
+
+
+
+
+                                                   -5-
+
+
+                 folder, _p_r_e_v displays the message preceding  the  
current  message,  and
+                 _n_e_x_t  displays  the  message following the current 
message.  _M_H lets the
+                 user choose the program that displays individual  messages.   
A  special
+                 program,  _m_h_l,  can  be used to display messages 
according to the user's
+                 preferences.  The _s_c_a_n command summarizes the 
messages in a folder, nor-
+                 mally  producing  one line per message, showing who the 
message is from,
+                 the date, the subject, etc.
+
+                      The user may move a message from one folder  to  another 
 with  the
+                 command  _r_e_f_i_l_e.   Messages may be removed from a 
folder by means of the
+                 command _r_m_m.  In addition, a user may query what the 
current  folder  is
+                 and may specify that a new folder become the current folder, 
through the
+                 command _f_o_l_d_e_r.  All folders may be summarized 
with the _f_o_l_d_e_r_s command.
+                 A  message  folder (or subfolder) may be removed by means of 
the command
+                 _r_m_f.
+
+                      A set of messages based on content may be selected by  
use  of  the
+                 command  _p_i_c_k.   This  command searches through 
messages in a folder and
+                 selects those that match a given set of criteria.   These  
messages  are
+                 then  bound  to  a  "sequence" name for use with other _M_H 
commands.  The
+                 _m_a_r_k command manipulates these sequences.
+
+                      There are five commands enabling the user to  create  
new  messages
+                 and  send them: _c_o_m_p, _d_i_s_t, _f_o_r_w, 
_r_e_p_l, and _s_e_n_d.  The _c_o_m_p command pro-
+                 vides the facility for the user to compose a new message; 
_d_i_s_t redistri-
+                 butes  mail  to  additional addressees; _f_o_r_w enables 
the user to forward
+                 messages; and _r_e_p_l facilitates the generation of a 
reply to an  incoming
+                 message.   The  last three commands may optionally annotate 
the original
+                 message.  Messages may be arbitrarily annotated with the  
_a_n_n_o  command.
+                 Once  a  draft has been constructed by one of the four above 
composition
+                 programs, a user-specifiable program is run to query the user 
as to  the
+                 disposition of the draft prior to sending.  _M_H provides 
the simple _w_h_a_t_-
+                 _n_o_w program to start users off.  If a message is not  
sent  directly  by
+                 one  of these commands, it may be sent at a later time using 
the command
+                 _s_e_n_d.  _M_H allows the use of any UNIX editor when  
composing  a  message.
+                 For rapid entry, a special editor, _p_r_o_m_p_t_e_r, 
is provided.  For programs,
+                 a special mail-sending program, _m_h_m_a_i_l, is 
provided.
+
+                      _M_H supports a personal aliasing  facility  which  
gives  users  the
+                 capability  to  considerably  shorten  address typein and use 
meaningful
+                 names for addresses.  The _a_l_i program can be used to 
query _M_H as to  the
+                 expansion of a list of aliases.  After composing a message, 
but prior to
+                 sending, the _w_h_o_m command can be used to determine 
exactly who a message
+                 would go to.
+
+                      _M_H provides a natural interface for telling the  
user's  shell  the
+                 names  of  _M_H  messages  and  folders.  The 
_m_h_p_a_t_h program achieves this
+                 capability.
+
+                      Finally, _M_H supports the UCI BBoards facility.  
_b_b_c can be used  to
+                 query  the  status  of a group of BBoards, while _m_s_h 
can be used to read
+                 them.  The _b_u_r_s_t command can be used to "shred" 
digests of messages into
+
+
+
+
+
+
+
+
+
+
+
+                                                   -6-
+
+
+                 individual messages.
+
+                      All of the elements summarized above are described in  
more  detail
+                 in  the  following sections.  Many of the normal facilities 
of UNIX pro-
+                 vide additional capabilities for dealing with messages in 
various  ways.
+                 For  example,  it  is  possible  to  print  messages on the 
line-printer
+                 without requiring any additional code within _M_H .  Using  
standard  UNIX
+                 facilities, any terminal output can be redirected to a file 
for repeated
+                 or future viewing.  In general, the flexibility and 
capabilities of  the
+                 UNIX  interface  with the user are preserved as a result of 
the integra-
+                 tion of _M_H into the UNIX structure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                               _3. _T_U_T_O_R_I_A_L
+
+
+
+
+
+                      This tutorial provides a brief introduction to the 
_M_H commands.  It
+                 should  be sufficient to allow the user to read his mail, do 
some simple
+                 manipulations of it, and create and send messages.
+
+                      A message has two major pieces:  the header and the 
body.  The body
+                 consists  of the text of the message (whatever you care to 
type in).  It
+                 follows the header and is separated from it by an empty line. 
 (When you
+                 compose  a  message, the form that appears on your terminal 
shows a line
+                 of dashes after the header.  This is for convenience and is 
replaced  by
+                 an  empty  line  when  the  message is sent.)  The header is 
composed of
+                 several components, including the subject of the message and 
the  person
+                 to whom it is addressed.  Each component starts with a name 
and a colon;
+                 components must not start with a blank.  The text of the  
component  may
+                 take  more  than  one line, but each continuation line must 
start with a
+                 blank.  Messages typically have "To:", "cc:", and "Subject:" 
components.
+                 When  composing  a  message, you should include the "To:" and 
"Subject:"
+                 components; the "cc:" (for people you want to send  copies  
to)  is  not
+                 necessary.
+
+                      The basic _M_H commands are _i_n_c, _s_c_a_n, 
_s_h_o_w, _n_e_x_t, _p_r_e_v,  _r_m_m,  _c_o_m_p,
+                 and _r_e_p_l.  These are described below.
+
+                 _i_n_c
+
+                      When you get the message "You have mail",  type  the  
command  _i_n_c.
+                 You will get a "scan listing" such as:
+
+                      7+   7/13  Cas      revival of measurement work
+                      8   10/ 9  Norm     NBS people and publications
+                      9   11/26  To:norm  question <<Are there any functions
+
+                      This shows the messages you received since the last time 
 you  exe-
+                 cuted  this  command (_i_n_c adds these new messages to 
your inbox folder).
+                 You can see this list again, plus a list of any other 
messages you have,
+                 by using the _s_c_a_n command.
+
+                 _s_c_a_n
+
+                      The scan listing shows the message number, followed by 
the date and
+                 the  sender.   (If  you  are the sender, the addressee in the 
"To:" com-
+                 ponent is displayed.  You may send yourself a message by 
including  your
+                 name  among  the "To:" or "cc:" addressees.) It also shows 
the message's
+                 subject; if the subject is short, the first part of the body 
of the mes-
+                 sage is included after the characters <<.
+
+
+
+                                                   -7-
+
+
+
+
+
+
+
+
+
+                                                   -8-
+
+
+                 _s_h_o_w
+
+                      This command shows the current message, that is, the 
first  one  of
+                 the  new messages after an _i_n_c.  If the message is not 
specified by name
+                 (number), it is generally the last message referred to by an 
_M_H command.
+                 For example,
+
+
+                      _s_h_o_w 5      will show message 5.
+
+
+                      You can use the show command to copy a message or print 
a message.
+
+
+                      _s_h_o_w > _x    will copy the message to file x.
+                      _s_h_o_w | _l_p_r  will print the message, using 
the _l_p_r command.
+                      _n_e_x_t        will show the message that follows 
the current message.
+                      _p_r_e_v        will show the message previous to 
the current message.
+                      _r_m_m         will remove the current message.
+                      _r_m_m _3       will remove message 3.
+
+
+                 _c_o_m_p
+
+                      The _c_o_m_p command puts you in the editor to write 
or edit a message.
+                 Fill  in or delete the "To:", "cc:", and "Subject:" fields, 
as appropri-
+                 ate, and type the body of the message.  Then exit normally 
from the edi-
+                 tor.   You will be asked "What now?".  Type a carriage return 
to see the
+                 options.  Typing send will cause the message to  be  sent;  
typing  quit
+                 will cause an exit from _c_o_m_p, with the message draft 
saved.
+
+                      If you quit without sending the message, it will be 
saved in a file
+                 called  <name>/Mail/draft  (where  <name> is your $HOME 
directory).  You
+                 can resume editing the message later with "comp -use"; or you 
 can  send
+                 the message later, using the _s_e_n_d command.
+
+                 _c_o_m_p -_e_d_i_t_o_r _p_r_o_m_p_t_e_r
+
+                      This command uses a different editor and is  useful  for 
 preparing
+                 "quick  and  dirty"  messages.  It prompts you for each 
component of the
+                 header.  Type the information for that component,  or  type  
a  carriage
+                 return to omit the component.  After that, type the body of 
the message.
+                 Backspacing is the only form of editing allowed with this 
editor.   When
+                 the  body is complete, type a carriage return followed by 
<EOT> (usually
+                 <CTRL-D>).  This completes the initial preparation of the 
message;  from
+                 then on, use the same procedures as with _c_o_m_p (above).
+
+                 _r_e_p_l
+                 _r_e_p_l n
+
+                      This command makes up an initial message form with a 
header that is
+                 appropriate  for  replying  to  an  existing message.  The 
message being
+
+
+
+
+
+
+
+
+
+
+
+                                                   -9-
+
+
+                 answered is the current message if no message number is 
mentioned, or  n
+                 if a number is specified.  After the header is completed, you 
can finish
+                 the message as in _c_o_m_p (above).
+
+                      This is enough information to get you going using  
_M_H.   There  are
+                 more commands, and the commands described here have more 
features.  Sub-
+                 sequent sections explain _M_H in complete detail.   The  
system  is  quite
+                 powerful  if you want to use its sophisticated features, but 
the forego-
+                 ing commands suffice for sending and receiving messages.
+
+                      There are numerous additional capabilities you may wish 
to explore.
+                 For  example, the _p_i_c_k command will select a subset 
of messages based on
+                 specified criteria such as sender and/or subject.   Groups  
of  messages
+                 may  be  designated, as described in Sec. IV, under Message 
Naming.  The
+                 file ._m_h__p_r_o_f_i_l_e can be used to tailor your 
use of the message system to
+                 your needs and preferences, as described in Sec. IV, under 
The User Pro-
+                 file.  In general, you may  learn  additional  features  of  
the  system
+                 selectively,  according  to  your requirements, by studying 
the relevant
+                 sections of this manual.  There is no need to learn all the  
details  of
+                 the system at once.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         _4. _D_E_T_A_I_L_E_D 
_D_E_S_C_R_I_P_T_I_O_N
+
+
+
+
+
+                      This section describes the _M_H system in detail, 
including the  com-
+                 ponents  of  the  user  profile, the conventions for message 
naming, and
+                 some of the other _M_H conventions.  Readers who  are  
generally  familiar
+                 with  computer  systems  will  be  able  to  follow the 
principal ideas,
+                 although some details may be meaningful  only  to  those  
familiar  with
+                 UNIX.
+
+
+                 _T_H_E _U_S_E_R _P_R_O_F_I_L_E
+
+                      The first time an _M_H command is issued by a new  
user,  the  system
+                 prompts for a "Path" and creates an _M_H "profile".
+
+                      Each _M_H user has a profile which contains tailoring 
information for
+                 each  individual  program.   Other  profile  entries control 
the _M_H path
+                 (where folders and special files are kept), folder and  
message  protec-
+                 tions,  editor  selection,  and  default  arguments for each 
_M_H program.
+                 Each user of _M_H also has a context file  which  contains  
current  state
+                 information for the _M_H package (the location of the 
context file is kept
+                 in the user's _M_H directory, or may be named in the user 
profile).   When
+                 a  folder  becomes the current folder, it is recorded in the 
user's con-
+                 text.  (Other state information is kept in the  context  
file,  see  the
+                 manual  entry for _m_h-_p_r_o_f_i_l_e (5) for more 
details.) In general, the term
+                 "profile entry" refer to entries in either the profile or 
context  file.
+                 Users of _M_H needn't worry about the distinction, _M_H 
handles these things
+                 automatically.
+
+                      The _M_H profile is stored in the  file  
._m_h__p_r_o_f_i_l_e  in  the  user's
+                 $HOME directory[1].  It has the format of a message  without  
any  body.
+                 That is, each profile entry is on one line, with a keyword 
followed by a
+                 colon (:) followed by text particular to the keyword.
+                 =>   _T_h_i_s _f_i_l_e _m_u_s_t _n_o_t 
_h_a_v_e _b_l_a_n_k _l_i_n_e_s.
+                 The keywords may have any combination of upper and lower 
case.  (See the
+                 information of _m_h-_m_a_i_l later on in this manual 
for a description of mes-
+                 sage formats.)
+
+                      For the average _M_H user, the only profile entry  of  
importance  is
+                 "Path".   Path  specifies  a  directory  in which _M_H 
folders and certain
+                 files such as "draft" are found.  The argument to this 
keyword must be a
+                 legal  UNIX  path that names an existing directory.  If this 
path is not
+                 absolute (i.e., does not begin with a / ), it will be 
presumed to  start
+
+
+                    [1] By defining the envariable $MH, you can specify an 
alternate pro-
+                 file to be used by _M_H commands.
+
+
+                                                   -10-
+
+
+
+
+
+
+
+
+
+                                                   -11-
+
+
+                 from the user's $HOME directory.   All  folder  and  message  
references
+                 within _M_H will relate to this path unless full path names 
are used.
+
+                      Message protection defaults to 644, and folder 
protection  to  711.
+                 These  may  be  changed  by  profile  entries "Msg-Protect" 
and "Folder-
+                 Protect", respectively.  The argument to  these  keywords  is 
 an  octal
+                 number which is used as the UNIX file mode[2].
+
+                      When an _M_H program starts running, it looks through 
the user's pro-
+                 file for an entry with a keyword matching the program's name. 
 For exam-
+                 ple, when _c_o_m_p is run, it looks for a "comp" profile 
entry.  If  one  is
+                 found,  the text of the profile entry is used as the default 
switch set-
+                 ting until all defaults are overridden by explicit  switches  
passed  to
+                 the     program     as    arguments.     Thus    the    
profile    entry
+                 "comp: -form standard.list"  would  direct  _c_o_m_p   to 
  use   the   file
+                 "standard.list"  as the message skeleton.  If an explicit 
form switch is
+                 given to the _c_o_m_p command, it will override the 
switch obtained from the
+                 profile.
+
+                      In UNIX, a program may exist under several names, either 
by linking
+                 or  aliasing.   The actual invocation name is used by an 
_M_H program when
+                 scanning for its profile defaults[3].  Thus, each _M_H  
program  may  have
+                 several  names by which it can be invoked, and each name may 
have a dif-
+                 ferent set of default switches.  For example, if _c_o_m_p 
is invoked by  the
+                 name  _i_c_o_m_p, the profile entry "icomp" will control 
the default switches
+                 for this invocation of the  _c_o_m_p  program.   This  
provides  a  powerful
+                 definitional facility for commonly used switch settings.
+
+                      The default editor for editing within _c_o_m_p, 
_r_e_p_l, _f_o_r_w,  and  _d_i_s_t,
+                 is  usually  _p_r_o_m_p_t_e_r, but might be something 
else at your site, such as
+                 /_u_s_r/_u_c_b/_e_x or /_b_i_n/_e.  A different 
editor may be used by specifying the
+                 profile  entry  "Editor:  ".  The argument to "Editor" is the 
name of an
+                 executable program or shell command file which  can  be  
found  via  the
+                 user's  $PATH defined search path, excluding the current 
directory.  The
+                 "Editor:"  profile  specification  may  in  turn  be  
overridden  by   a
+                 `-editor <editor>'  profile  switch associated with 
_c_o_m_p, _r_e_p_l, _f_o_r_w, or
+                 _d_i_s_t.  Finally, an explicit editor switch specified 
with  any  of  these
+                 four commands will have ultimate precedence.
+
+                      During message composition, more than one editor may be 
used.   For
+                 example,  one  editor  (such  as _p_r_o_m_p_t_e_r ) 
may be used initially, and a
+
+
+                    [2] See _c_h_m_o_d (1) in the _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l [5].
+                    [3] Unfortunately, the shell does not preserve  aliasing  
information
+                 when  calling  a program, hence if a program is invoked by an 
alias dif-
+                 ferent than its name, the program will examine  the  profile  
entry  for
+                 it's name, not the alias that the user invoked it as.  The 
correct solu-
+                 tion is to create a (soft) link in your 
$_H_O_M_E/_b_i_n directory  to  the  _M_H
+                 program  of  your choice.  By giving this link a different 
name, you can
+                 use an alternate set of defaults for the command.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -12-
+
+
+                 second editor may be invoked later to revise the message 
being  composed
+                 (see  the discussion of _c_o_m_p in Section 5 for 
details).  A profile entry
+                 "<lasteditor>-next: <editor>" specifies the name of  the  
editor  to  be
+                 used  after  a  particular  editor.  Thus "comp: -e prompter" 
causes the
+                 initial text  to  be  collected  by  
_p_r_o_m_p_t_e_r,  and  the  profile  entry
+                 "prompter-next: ed"  names  ed  as the editor to be invoked 
for the next
+                 round of editing.
+
+                      Some of the _M_H commands, such as _s_h_o_w, can 
be used on message fold-
+                 ers owned by others, if those folders are readable.  However, 
you cannot
+                 write in someone else's folder.  All the _M_H command 
actions not  requir-
+                 ing write permission may be used with a "read-only" folder.
+
+                      Table 1 lists examples of some of  the  currently  
defined  profile
+                 entries, typical arguments, and the programs that reference 
the entries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -13-
+
+
+                                                 Table 1
+
+                                            PROFILE COMPONENTS
+                          
______________________________________________________
+
+                                                       _M_H Programs that
+                          Keyword and Argument          use 
Component______________________________________________________
+
+                          Path: Mail                   All
+                          Current-Folder: inbox        Most
+                          Editor: /usr/ucb/ex          _c_o_m_p, 
_d_i_s_t, _f_o_r_w, _r_e_p_l
+                          Inbox: inbox                 _i_n_c, _r_m_f
+                          Msg-Protect: 644             _i_n_c
+                          Folder-Protect: 711          _i_n_c, 
_p_i_c_k, _r_e_f_i_l_e
+                          <program>: default switches  All
+                          prompter-next: ed            _c_o_m_p, 
_d_i_s_t, _f_o_r_w, _r_e_p_l
+                          
______________________________________________________
+
+
+                      Path should______ be present.  Current-Folder is 
maintained automatically
+                 by many _M_H commands (see the Context sections of the 
individual commands
+                 in Sec. IV).  All other entries are optional, defaulting to  
the  values
+                 described above.
+
+
+                 _M_E_S_S_A_G_E _N_A_M_I_N_G
+
+                      Messages may be referred to explicitly or implicitly 
when using  _M_H
+                 commands.   A formal syntax of message names is given in 
Appendix B, but
+                 the following description should be sufficient for most 
_M_H users.   Some
+                 details  of  message  naming  that  apply  only  to certain 
commands are
+                 included in the description of those commands.
+
+                      Most of the _M_H commands accept arguments  specifying 
 one  or  more
+                 folders,  and  one  or more messages to operate on.  The use 
of the word
+                 "msg" as an argument to a command means that exactly  one  
message  name
+                 may  be  specified.   A  message name may be a number, such 
as 1, 33, or
+                 234, or it may be one of the  "reserved"  message  names:  
first,  last,
+                 prev,  next,  and  cur.   (As a shorthand, a period (.) is 
equivalent to
+                 cur.) The meanings of these names are straightforward:  
"first"  is  the
+                 first  message  in the folder; "last" is the last message in 
the folder;
+                 "prev" is the message  numerically  previous  to  the  
current  message;
+                 "next"  is  the message numerically following the current 
message; "cur"
+                 (or ".") is the current message in the folder.  In addition, 
_M_H supports
+                 user-defined-sequences; see the description of the 
_m_a_r_k command for more
+                 information.
+
+                      The default in commands that take a "msg" argument is 
always "cur".
+
+                      The word "msgs" indicates that several messages may  be  
specified.
+                 Such  a specification consists of several message 
designations separated
+                 by spaces.  A message designation is either a message name or 
a  message
+
+
+
+
+
+
+
+
+
+
+
+                                                   -14-
+
+
+                 range.   A  message  range is a specification of the form 
name1-name2 or
+                 name1:n, where name1 and name2 are message names and n  is  
an  integer.
+                 The  first  form  designates  all  the  messages  from  name1 
 to  name2
+                 inclusive; this must be a non-empty range.  The second form 
specifies up
+                 to  n messages, starting with name1 if name1 is a number, or 
first, cur,
+                 or next, and ending with name1 if name1 is last or prev.  
This interpre-
+                 tation  of  n  is  overridden if n is preceded by a plus sign 
or a minus
+                 sign; +n always means up to n  messages  starting  with  
name1,  and  -n
+                 always  means  up  to n messages ending with name1.  Repeated 
specifica-
+                 tions of the same message have the same effect as a single 
specification
+                 of the message.  Examples of specifications are:
+
+
+                     1 5 7-11 22
+                     first 6 8 next
+                     first-10
+                     last:5
+
+
+                      The message name "all" is a shorthand for "first-last",  
indicating
+                 all of the messages in the folder.
+
+                      In commands that accept "msgs" arguments, the default is 
either cur
+                 or all, depending on which makes more sense.
+
+                      In all of the _M_H commands, a plus sign preceding an 
argument  indi-
+                 cates  a folder name.  Thus, "+inbox" is the name of the 
user's standard
+                 inbox.  If an explicit folder argument is given to  an  
_M_H  command,  it
+                 will  become the current folder (that is, the 
"Current-Folder:" entry in
+                 the user's profile will be changed to this folder).  In the 
case of  the
+                 _r_e_f_i_l_e  command,  which  can  have multiple 
output folders, a new source
+                 folder  (other  than  the  default  current  folder)  is  
specified   by
+                 `-src +folder'.
+
+
+                 _O_T_H_E_R _M_H _C_O_N_V_E_N_T_I_O_N_S
+
+                      One very powerful feature of _M_H is that  the  _M_H 
 commands  may  be
+                 issued  from any current directory, and the proper path to 
the appropri-
+                 ate folder(s) will be taken from the user's profile.  If the 
_M_H path  is
+                 not  appropriate for a specific folder or file, the automatic 
prepending
+                 of the _M_H path can be avoided by beginning a folder or 
file name with /,
+                 or  with  ./  or  ../ component.  Thus any specific absolute 
path may be
+                 specified along with any path relative to the current working 
directory.
+
+                      Arguments to the various programs may be given in any  
order,  with
+                 the exception of a few switches whose arguments must follow 
immediately,
+                 such as `-src +folder' for _r_e_f_i_l_e.
+
+                      Whenever an _M_H command prompts the user, the valid 
options will  be
+                 listed  in  response to a <RETURN>.  (The first of the listed 
options is
+                 the default if end-of-file is encountered, such as from a 
command file.)
+
+
+
+
+
+
+
+
+
+
+
+                                                   -15-
+
+
+                 A  valid  response  is  any  _u_n_i_q_u_e  abbreviation 
 of  one of the listed
+                 options.
+
+                      Standard UNIX documentation conventions are used in this 
report  to
+                 describe  _M_H  command  syntax.  Arguments enclosed in 
brackets ([ ]) are
+                 optional; exactly one of the arguments enclosed within braces 
({ }) must
+                 be specified, and all other arguments are required.  The use 
of ellipsis
+                 dots (...) indicates zero or more repetitions of the previous 
item.  For
+                 example,  "+folder  ..." would indicate that one or more 
"+folder" argu-
+                 ments is required and "[+folder ...]" indicates that 0 or 
more "+folder"
+                 arguments may be given.
+
+                      _M_H departs from UNIX standards by using switches  
that  consist  of
+                 more  than  one  character,  e.g. `-header'.  To minimize 
typing, only a
+                 unique abbreviation of a switch need  be  typed;  thus,  for  
`-header',
+                 `-hea'  is probably sufficient, depending on the other 
switches the com-
+                 mand accepts.  Each _M_H program accepts the switch `-help' 
(which must be
+                 spelled  out  fully)  and  produces  a  syntax description 
and a list of
+                 switches.  In the list of switches, parentheses indicate 
required  char-
+                 acters.   For  example,  all  `-help' switches will appear as 
"-(help)",
+                 indicating that no abbreviation is accepted.  Furthermore,  
the  `-help'
+                 switch tells the version of the _M_H program you invoked.
+
+                      Many _M_H switches have both on and off forms, such as 
`-format'  and
+                 `-noformat'.  In many of the descriptions which follow, only 
one form is
+                 defined; the other form, often used to nullify profile switch 
 settings,
+                 is assumed to be the opposite.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -16-
+
+
+                 _M_H _C_O_M_M_A_N_D_S
+
+                      The _M_H package comprises several programs:
+
+                      ali (1)        - list mail aliases
+                      anno (1)       - annotate messages
+                      bbc (1)        - check on BBoards
+                      bboards (1)    - the UCI BBoards facility
+                      burst (1)      - explode digests into messages
+                      comp (1)       - compose a message
+                      dist (1)       - redistribute a message to additional 
addresses
+                      folder (1)     - set/list current folder/message
+                      folders (1)    - list all folders
+                      forw (1)       - forward messages
+                      inc (1)        - incorporate new mail
+                      mark (1)       - mark messages
+                      mhl (1)        - produce formatted listings of MH 
messages
+                      mhmail (1)     - send or read mail
+                      mhook (1)      - MH receive-mail hooks
+                      mhparam (1)    - print MH profile components
+                      mhpath (1)     - print full pathnames of MH messages and 
folders
+                      msgchk (1)     - check for messages
+                      msh (1)        - MH shell (and BBoard reader)
+                      next (1)       - show the next message
+                      packf (1)      - compress a folder into a single file
+                      pick (1)       - select messages by content
+                      prev (1)       - show the previous message
+                      prompter (1)   - prompting editor front end
+                      rcvstore (1)   - incorporate new mail asynchronously
+                      refile (1)     - file messages in other folders
+                      repl (1)       - reply to a message
+                      rmf (1)        - remove folder
+                      rmm (1)        - remove messages
+                      scan (1)       - produce a one line per message scan 
listing
+                      send (1)       - send a message
+                      show (1)       - show (list) messages
+                      slocal (1)     - special local mail delivery
+                      sortm (1)      - sort messages
+                      vmh (1)        - visual front-end to MH
+                      whatnow (1)    - prompting front-end for send
+                      whom (1)       - report to whom a message would go
+
+
+                      These programs are described below.  The form of  the  
descriptions
+            conforms to the standard form for the description of UNIX commands.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            ALI(1)                            -17-                            
ALI(1)
+
+
+            _N_A_M_E
+                 ali - list mail aliases
+
+            _S_Y_N_O_P_S_I_S
+                 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+                      [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_l_i searches the named mail alias  files  for  each  of 
 the  given
+                 _a_l_i_a_s_e_s.   It  creates  a  list of addresses 
for those _a_l_i_a_s_e_s, and
+                 writes that list on standard output.   If  the  `-list'  
option  is
+                 specified,  each address appears on a separate line; 
otherwise, the
+                 addresses are separated by commas and printed on as  few  
lines  as
+                 possible.
+
+                 The `-user' option directs _a_l_i to  perform  its  
processing  in  an
+                 inverted  fashion: instead of listing the addresses that each 
given
+                 alias expands to, _a_l_i will list the aliases  that  
expand  to  each
+                 given  address.   If the `-normalize' switch is given, 
_a_l_i will try
+                 to track down the official hostname of the address.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read.  Each _a_l_i_a_s is processed as described in 
_m_h-_a_l_i_a_s (5).
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /etc/passwd                         List of users
+                 /etc/group                          List of groups
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Aliasfile:           For a default alias file
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-alias /usr/local/lib/mh/MailAliases'
+                 `-nolist'
+                 `-nonormalize'
+                 `-nouser'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ALI(1)                            -18-                            
ALI(1)
+
+
+            _B_u_g_s
+                 The `-user' option with `-nonormalize' is not entirely 
accurate, as
+                 it  does  not replace local nicknames for hosts with their 
official
+                 site names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ANNO(1)                           -19-                           
ANNO(1)
+
+
+            _N_A_M_E
+                 anno - annotate messages
+
+            _S_Y_N_O_P_S_I_S
+                 anno [+folder] [msgs] [-component field] [-inplace] 
[-noinplace]
+                      [-date] [-nodate] [-text body] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_n_n_o annotates the specified messages in the named 
folder using the
+                 field  and body.  Annotation is optionally performed by 
_d_i_s_t, _f_o_r_w,
+                 and _r_e_p_l, to keep track of your distribution of, 
forwarding of, and
+                 replies  to  a  message.   By using _a_n_n_o, you can 
perform arbitrary
+                 annotations of your own.  Each message selected will  be  
annotated
+                 with the lines
+
+                     field: date
+                     field: body
+
+                 The `-nodate' switch inhibits the date annotation, leaving 
only the
+                 body  annotation.   The  `-inplace'  switch causes annotation 
to be
+                 done in place in order to preserve links to the annotated 
message.
+
+                 The field specified should be a valid 822-style message field 
name,
+                 which  means  that  it  should consist of alphanumerics (or 
dashes)
+                 only.  The body specified is arbitrary text.
+
+                 If a `-component field' is not specified when _a_n_n_o is 
invoked, _a_n_n_o
+                 will prompt the user for the name of field for the annotation.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 dist (1), forw (1), repl (1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noinplace'
+                 `-date'
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            ANNO(1)                           -20-                           
ANNO(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message annotated will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -21-                            
BBC(1)
+
+
+            _N_A_M_E
+                 bbc - check on BBoards
+
+            _S_Y_N_O_P_S_I_S
+                 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] 
[-verbose]
+                      [-archive] [-noarchive] [-protocol] [-noprotocol]
+                      [-mshproc program] [switches for _m_s_h_p_r_o_c] 
[-rcfile rcfile]
+                      [-norcfile] [-file BBoardsfile] [-user BBoardsuser] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _b_b_c is a BBoard reading/checking program  that  
interfaces  to  the
+                 BBoard channel.
+
+                 The _b_b_c program has three action switches which direct  
its  opera-
+                 tion:
+
+                 The `-read' switch invokes the _m_s_h program on  the  
named  _B_B_o_a_r_d_s.
+                 If  you  also  specify the `-archive' switch, then  _b_b_c 
will invoke
+                 the _m_s_h program on the  archives  of  the  named  
_B_B_o_a_r_d_s.   If  no
+                 _B_B_o_a_r_d_s   are   given  on  the  command  line,  
and  you  specified
+                 `-archive', _b_b_c will not read your  `bboards'  profile  
entry,  but
+                 will read the archives of the "system" _B_B_o_a_r_d 
instead.
+
+                 The `-check' switch types out  status  information  for  the  
named
+                 _B_B_o_a_r_d_s.   _b_b_c  can  print one of several 
messages depending on the
+                 status of both the BBoard and the user's reading  habits.  As 
 with
+                 each  of these messages, the number given is the item number 
of the
+                 last item placed in the BBoard.  This number (which  is  
marked  in
+                 the  messages  as the "BBoard-Id") is ever increasing.  
Hence, when
+                 _b_b_c says "n items", it really means that the highest  
BBoard-Id  is
+                 "n".   There  may,  or may not actually be "n" items in the 
BBoard.
+                 Some common messages are:
+
+                      BBoard -- n items unseen
+                           This message tells how many items the user  has  
not  yet
+                           seen.  When invoked with the `-quiet' switch, this 
is the
+                           only informative line that _b_b_c will possibly 
print out.
+
+                      BBoard -- empty
+                           The BBoard is empty.
+
+                      BBoard -- n items (none seen)
+                           The BBoard has items in it, but the user hasn't 
seen any.
+
+                      BBoard -- n items (all seen)
+                           The BBoard is non-empty, and the user has seen 
everything
+                           in it.
+
+                      BBoard -- n items seen out of m
+                           The BBoard has at most m-n items that the  user  
has  not
+                           seen.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -22-                            
BBC(1)
+
+
+                 The `-topics' switch directs _b_b_c to print  three  items 
 about  the
+                 named _B_B_o_a_r_d_s: it's official name, the number 
of items present, and
+                 the date and time of the last update.  If  no  
_B_B_o_a_r_d_s  are  named,
+                 then  all  BBoards  are listed.  If the `-verbose' switch is 
given,
+                 more information is output.
+
+                 The `-quiet' switch specifies that  _b_b_c  should  be  
silent  if  no
+                 _B_B_o_a_r_d_s  are  found  with  new  information.  
The `-verbose' switch
+                 specifies that _b_b_c is to consider you to be interested  
in  _B_B_o_a_r_d_s
+                 that you've already seen everything in.
+
+                 To override the default _m_s_h_p_r_o_c and  the  
profile  entry,  use  the
+                 `-mshproc program' switch.  Any arguments not understood by 
_b_b_c are
+                 passed to this program.  The `-protocol' switch tells 
_b_b_c that your
+                 _m_s_h_p_r_o_c  knows  about  the  special _b_b_c 
protocol for reporting back
+                 information.  _m_s_h (1), the default 
_m_s_h_p_r_o_c, knows all about this.
+
+                 The `-file BBoardsfile' switch tells  _b_b_c  to  use  a  
non-standard
+                 _B_B_o_a_r_d_s  file  when  performing  its  
calculations.  Similarly, the
+                 `-user BBoardsuser' switch tells _b_b_c to use  a  
non-standard  user-
+                 name.   Both  of  these  switches  are  useful  for debugging 
a new
+                 _B_B_o_a_r_d_s or _P_O_P file.
+
+                 The ._b_b_r_c file in the user's $HOME directory is used 
to keep  track
+                 of what messages have been read.  The `-rcfile rcfile' switch 
over-
+                 rides the use of ._b_b_r_c for this purpose.  If the 
value given to the
+                 switch  is  not absolute, (i.e., does not begin with a / ), 
it will
+                 be presumed to start from the current working directory.   If 
 this
+                 switch  is not given (or the `-norcfile' switch is given), 
then _b_b_c
+                 consults the envariable $MHBBRC, and honors it similarly.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 $HOME/.bbrc                         BBoard "current" message 
information
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 bboards:             To specify interesting BBoards
+                 mshproc:             Program to read a given BBoard
+
+
+            _S_e_e _A_l_s_o
+                 bbl(1), bboards(1), msh(1)
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBC(1)                            -23-                            
BBC(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-read'
+                 `-noarchive'
+                 `-protocol'
+                 `bboards' defaults to "system"
+                 `-file /usr/spool/bboards/BBoards'
+                 `-user bboards'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The `-user' switch takes effect only if  followed  by  the  
`-file'
+                 switch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(1)                        -24-                        
BBOARDS(1)
+
+
+            _N_A_M_E
+                 bboards - the UCI BBoards facility
+
+            _S_Y_N_O_P_S_I_S
+                 bbc [-check] [-read] bboards ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The home directory of _b_b_o_a_r_d_s is where the 
BBoard system  is  kept.
+                 This documentation describes some of the nuances of the 
BBoard sys-
+                 tem.
+
+                 BBoards, BBoard-IDs
+                      A BBoard is just a file containing a group of messages  
relat-
+                      ing  to the same topic.  These files live in the 
~bboards home
+                      directory.  Each message in a BBoard file has  in  its  
header
+                      the  line  "BBoard-Id:  n",  where "n" is an ascending 
decimal
+                      number.  This id-number  is  unique  for  each  message  
in  a
+                      BBoards  file.   It  should  NOT  be confused with the 
message
+                      number of a message, which can change as messages are  
removed
+                      from the BBoard.
+
+                 BBoard Handling
+                      To read BBoards, use the _b_b_c and _m_s_h 
programs.  The  _m_s_h  com-
+                      mand  is  a  monolithic  program  which contains all the 
func-
+                      tionality of _M_H in a single program.  The `-check'  
switch  to
+                      _b_b_c  lets  you check on the status of BBoards, and 
the `-read'
+                      switch tells _b_b_c to invoke _m_s_h to read those 
BBoards.
+
+                 Creating a BBoard
+                      Both public, and private BBoards are supported.   
Contact  the
+                      mail  address  _P_o_s_t_M_a_s_t_e_r  if  you'd 
 like  to  have  a BBoard
+                      created.
+
+                 BBoard addresses
+                      Each BBoard has associated with it 4 addresses, these 
are (for
+                      the ficticious BBoard called ``hacks''):
+                        hacks : The Internet wide distribution list.
+                        dist-hacks : The local BBoard.
+                        hacks-request : The people responsible for the BBoard 
at the
+                             Internet level.
+                        local-hacks-request : The people responsible for the  
BBoard
+                             locally.
+
+            _F_i_l_e_s
+                $HOME/.mh_profile                   The user profile
+                $HOME/.bbrc                         BBoard information
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BBOARDS(1)                        -25-                        
BBOARDS(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 bboards:             To specify interesting BBoards
+                 mshproc:             Program to read a given BBoard
+
+
+            _S_e_e _A_l_s_o
+                bbc(1), bbl(1), bbleader(1), msh(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 The default bboard is "system"
+
+
+            _C_o_n_t_e_x_t
+                None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BURST(1)                          -26-                          
BURST(1)
+
+
+            _N_A_M_E
+                 burst - explode digests into messages
+
+            _S_Y_N_O_P_S_I_S
+                 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] 
[-noquiet]
+                      [-verbose] [-noverbose] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _B_u_r_s_t considers the specified messages in the named 
 folder  to  be
+                 Internet digests, and explodes them in that folder.
+
+                 If `-inplace' is given, each digest is replaced by  the  
"table  of
+                 contents"  for  the digest (the original digest is removed).  
_B_u_r_s_t
+                 then renumbers all of the messages  following  the  digest  
in  the
+                 folder  to  make room for each of the messages contained 
within the
+                 digest.  These messages are placed immediately after the 
digest.
+
+                 If `-noinplace' is given, each digest is  preserved,  no  
table  of
+                 contents  is produced, and the messages contained within the 
digest
+                 are placed at the end of the folder.  Other messages are  not 
 tam-
+                 pered with in any way.
+
+                 The `-quiet' switch directs _b_u_r_s_t to be silent 
about reporting mes-
+                 sages that are not in digest format.
+
+                 The `-verbose' switch directs _b_u_r_s_t to tell the  
user  the  general
+                 actions that it is taking to explode the digest.
+
+                 It turns out that _b_u_r_s_t works equally well  on  
forwarded  messages
+                 and  blind-carbon-copies  as on Internet digests, provided 
that the
+                 former two were generated by _f_o_r_w or _s_e_n_d.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Msg-Protect:         To set mode when creating a new message
+
+
+            _S_e_e _A_l_s_o
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+                 inc(1), msh(1), pack(1)
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            BURST(1)                          -27-                          
BURST(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noinplace'
+                 `-noquiet'
+                 `-noverbose'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  If  
`-in-
+                 place'  is  given, then the first message burst becomes the 
current
+                 message.  This leaves the context ready for a _s_h_o_w of 
the table  of
+                 contents  of the digest, and a _n_e_x_t to see the first 
message of the
+                 digest.  If `-noinplace' is given, then the first message 
extracted
+                 from  the  first  digest  burst  becomes the current message. 
 This
+                 leaves the context in a similar, but not identical,  state  
to  the
+                 context achieved when using `-inplace'.
+
+
+            _B_u_g_s
+                 The _b_u_r_s_t program enforces a limit on the number of 
messages  which
+                 may be _b_u_r_s_t from a single message.  This number is 
on the order of
+                 1000 messages.  There is usually no limit on the number of 
messages
+                 which may reside in the folder after the _b_u_r_s_ting.
+
+                 Although _b_u_r_s_t uses a sophisticated algorithm  to  
determine  where
+                 one  encapsulated message ends and another begins, not all 
digesti-
+                 fying programs  use  an  encapsulation  algorithm.   In  
degenerate
+                 cases, this usually results in _b_u_r_s_t finding an 
encapsulation boun-
+                 dary prematurely and splitting a single encapsulated  message 
 into
+                 two or more messages.  These erroneous digestifying programs 
should
+                 be fixed.
+
+                 Furthermore, any text which appears  after  the  last  
encapsulated
+                 message  is not placed in a seperate message by 
_b_u_r_s_t.  In the case
+                 of digestified messages, this text is usally  an  "End  of  
digest"
+                 string.   As  a result of this possibly un-friendly behavior 
on the
+                 part of _b_u_r_s_t, note that when the `-inplace' option 
is  used,  this
+                 trailing  information  is lost.  In practice, this is not a 
problem
+                 since correspondents usually place remarks in  text  prior  
to  the
+                 first encapsulated message, and this information is not lost.
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            COMP(1)                           -28-                           
COMP(1)
+
+
+            _N_A_M_E
+                 comp - compose a message
+
+            _S_Y_N_O_P_S_I_S
+                 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage 
msg]
+                      [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+                      [-form formfile] [-use] [-nouse] [-whatnowproc program]
+                      [-nowhatnowproc] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _C_o_m_p is used to create a new message to be  mailed.   
It  copies  a
+                 message form to the draft being composed and then invokes an 
editor
+                 on the draft (unless `-noedit' is given, in which case the  
initial
+                 edit is suppressed).
+
+                 The default message form contains the following elements:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 If the file named "components" exists in the user's  MH  
directory,
+                 it  will  be  used  instead  of  this  form.  The file 
specified by
+                 `-form formfile' will be used if given.  You may  also  start 
 _c_o_m_p
+                 using the contents of an existing message as the form.  If 
you sup-
+                 ply either a `+folder' or `msg' argument, that message will 
be used
+                 as  the  form.   You  may  not supply both a `-form formfile' 
and a
+                 `+folder' or `msg' argument.  The line of dashes or  a  blank 
 line
+                 must be left between the header and the body of the message 
for the
+                 message to be identified properly when it is sent  (see  
_s_e_n_d (1)).
+                 The  switch  `-use'  directs  _c_o_m_p  to  continue 
editing an already
+                 started message.  That is, if a _c_o_m_p (or 
_d_i_s_t, _r_e_p_l, or  _f_o_r_w )  is
+                 terminated without sending the draft, the draft can be edited 
again
+                 via "comp -use".
+
+                 If the draft already exists, _c_o_m_p will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_c_o_m_p, leaving the
+                 draft intact; replace will replace  the  existing  draft  
with  the
+                 appropriate  form;  list  will  display the draft; use will 
use the
+                 draft for further composition; and  refile +folder  will  
file  the
+                 draft  in  the  given  folder,  and  give  you a new draft 
with the
+                 appropriate form.  (The `+folder' argument to refile is 
required.)
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 The `-file file' switch says to use the named file as  the  
message
+                 draft.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            COMP(1)                           -29-                           
COMP(1)
+
+
+                 The `-editor editor' switch indicates the editor  to  use  
for  the
+                 initial  edit.   Upon exiting from the editor, _c_o_m_p 
will invoke the
+                 _w_h_a_t_n_o_w program.  See _w_h_a_t_n_o_w (1) 
for  a  discussion  of  available
+                 options.   The invocation of this program can be inhibited by 
using
+                 the `-nowhatnowproc' switch.  (In truth of fact, it is the  
_w_h_a_t_n_o_w
+                 program  which  starts  the  initial edit.  Hence, 
`-nowhatnowproc'
+                 will prevent any edit from occurring.)
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/components        The message skeleton
+                 or <mh-dir>/components              Rather than the standard 
skeleton
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/draft                      The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 dist(1), forw(1), repl(1), send(1), whatnow(1), mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to the current message
+                 `-nodraftfolder'
+                 `-nouse'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _c_o_m_p uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _c_o_m_p  won't  run
+                 it.
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -30-                           
DIST(1)
+
+
+            _N_A_M_E
+                 dist - redistribute a message to additional addresses
+
+            _S_Y_N_O_P_S_I_S
+                 dist [+folder] [msg] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-form formfile] [-inplace]
+                      [-noinplace] [-whatnowproc program] [-nowhatnowproc] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _D_i_s_t is similar to _f_o_r_w.  It prepares  the  
specified  message  for
+                 redistribution to addresses that (presumably) are not on the 
origi-
+                 nal address list.
+
+                 The default message form contains the following elements:
+
+                      Resent-To:
+                      Resent-cc:
+
+                 If the file named "distcomps" exists in the user's MH 
directory, it
+                 will be used instead of this form.  In either case, the file 
speci-
+                 fied by `-form formfile' will be used if given.  The form 
used will
+                 be prepended to the message being resent.
+
+                 If the draft already exists, _d_i_s_t will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_d_i_s_t, leaving the
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 Only   those   addresses   in   "Resent-To:",   "Resent-cc:", 
  and
+                 "Resent-Bcc:"  will  be sent.  Also, a "Resent-Fcc: folder" 
will be
+                 honored (see _s_e_n_d (1)).  Note that with _d_i_s_t, 
the draft should con-
+                 tain  only  "Resent-xxx:"  fields and no body.  The headers 
and the
+                 body of the original message are copied to the draft when the 
 mes-
+                 sage  is sent.  Use care in constructing the headers for the 
redis-
+                 tribution.
+
+                 If the `-annotate' switch is given, the  message being  
distributed
+                 will be annotated with the lines:
+
+                      Resent: date
+                      Resent: addrs
+
+                 where each address list contains as many lines as  required.  
 This
+                 annotation  will  be done only if the message is sent 
directly from
+                 _d_i_s_t.  If the message is not  sent  immediately  from 
 _d_i_s_t,  "comp
+                 -use"  may be used to re-edit and send the constructed 
message, but
+                 the annotations won't take place.   The  '-inplace'  switch  
causes
+                 annotation  to  be  done in place in order to preserve links 
to the
+                 annotated message.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -31-                           
DIST(1)
+
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.   Note that while in the editor, the message being 
resent
+                 is available through a link named "@" (assuming the  default  
_w_h_a_t_-
+                 _n_o_w_p_r_o_c ).   In  addition,  the  actual  
pathname of the message is
+                 stored in the envariable $editalt, and the pathname of  the  
folder
+                 containing the message is stored in the envariable $mhfolder.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _d_i_s_t will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/distcomps         The message skeleton
+                 or <mh-dir>/distcomps               Rather than the standard 
skeleton
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/draft                      The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 fileproc:            Program to refile the message
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), forw(1), repl(1), send(1), whatnow(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to cur
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noinplace'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 mes-
+                 sage distributed will become the current message.
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DIST(1)                           -32-                           
DIST(1)
+
+
+            _H_i_s_t_o_r_y
+                 _D_i_s_t originally used headers of the form 
"Distribute-xxx:"  instead
+                 of "Resent-xxx:".  In order to conform with the ARPA Internet 
stan-
+                 dard, RFC-822, the "Resent-xxx:"  form  is  now  used.   
_D_i_s_t  will
+                 recognize  "Distribute-xxx:" type headers and automatically 
convert
+                 them to "Resent-xxx:".
+
+
+            _B_u_g_s
+                 _D_i_s_t does not _r_i_g_o_r_o_u_s_l_y check 
the message  being  distributed  for
+                 adherence  to the transport standard, but _p_o_s_t called 
by _s_e_n_d does.
+                 The _p_o_s_t program will balk (and rightly  so)  at  
poorly  formatted
+                 messages, and _d_i_s_t won't correct things for you.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _d_i_s_t uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _d_i_s_t  won't  run
+                 it.
+
+                 If your current working directory is not writable, the  link  
named
+                 "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -33-                         
FOLDER(1)
+
+
+            _N_A_M_E
+                 folder, folders - set/list current folder/message
+
+            _S_Y_N_O_P_S_I_S
+                 folder [+folder] [msg] [-all] [-create] [-nocreate] [-print]
+                      [-fast] [-nofast] [-header] [-noheader] [-recurse]
+                      [-norecurse] [-total] [-nototal] [-list] [-nolist] 
[-push]
+                      [-pop] [-pack] [-nopack] [-verbose] [-noverbose] [-help]
+
+                 folders
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Since the _M_H environment is the shell, it is easy to lose 
track  of
+                 the  current  folder  from  day  to  day.  When 
_f_o_l_d_e_r is given the
+                 `-print' switch (the default), _f_o_l_d_e_r will list 
the current folder,
+                 the number of messages in it, the range of the messages 
(low-high),
+                 and the current message within the  folder,  and  will  flag  
extra
+                 files if they exist.  An example of this summary is:
+
+                 inbox+            has  16 messages (  3- 22); cur=  5.
+
+                 If a `+folder' and/or `msg' are specified,  they  will  
become  the
+                 current  folder  and/or  message.   By comparison, when a 
`+folder'
+                 argument is given, this corresponds to  a  "cd"  operation  
in  the
+                 _s_h_e_l_l;  when  no  `+folder'  argument  is  given,  
this corresponds
+                 roughly to a "pwd" operation in the _s_h_e_l_l.
+
+                 If the specified (or default) folder  doesn't  exist,  the  
default
+                 action  is  to  query  the  user as to whether the folder 
should be
+                 created; when standard input is not a tty, the answer to the  
query
+                 is assumed to be "yes".
+
+                 Specifying `-create'  will  cause  _f_o_l_d_e_r  to  
create  new  folders
+                 without any query.  (This is the easy way to create an empty 
folder
+                 for use later.) Specifying `-nocreate' will cause  
_f_o_l_d_e_r  to  exit
+                 without creating a non-existant folder.
+
+              _M_u_l_t_i_p_l_e _F_o_l_d_e_r_s
+
+                 Specifying `-all' will produce a summary line  for  each  
top-level
+                 folder  in  the  user's  MH  directory, sorted 
alphabetically.  (If
+                 _f_o_l_d_e_r is invoked by a  name  ending  with  "s"  
(e.g.,  _f_o_l_d_e_r_s ),
+                 `-all'  is  assumed).   Specifying `-recurse' with `-all' 
will also
+                 produce a line for all sub-folders.  These folders are all 
preceded
+                 by  the read-only folders, which occur as "atr-cur-" entries 
in the
+                 user's _M_H context.  For example,
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -34-                         
FOLDER(1)
+
+
+                 Folder               # of messages ( range )  cur msg (other 
files)
+                 /fsd/rs/m/tacc    has  35 messages (  1- 35); cur= 23.
+                 /rnd/phyl/Mail/EP has  82 messages (  1-108); cur= 82.
+                 ff                has  no messages.
+                 inbox+            has  16 messages (  3- 22); cur=  5.
+                 mh                has  76 messages (  1- 76); cur= 70.
+                 notes             has   2 messages (  1-  2); cur=  1.
+                 ucom              has 124 messages (  1-124); cur=  6; 
(others).
+                           TOTAL=      339 messages in 7 folders
+
+                 The "+" after inbox indicates that it is the current  folder. 
  The
+                 "(others)"  indicates that the folder `ucom' has files which 
aren't
+                 messages.  These files may either be  sub-folders,  or  files 
 that
+                 don't belong under the MH file naming scheme.
+
+                 The header is output if either a `-all' or a  `-header'  
switch  is
+                 specified; it is suppressed by `-noheader'.  A `-total' 
switch will
+                 produce only the summary line.
+
+                 If `-fast' is given, only the folder name (or names in the 
case  of
+                 `-all')  will  be listed.  (This is faster because the 
folders need
+                 not be read.)
+
+                 If a `+folder' is given along with the `-all' switch, 
_f_o_l_d_e_r  will,
+                 in addition to setting the current folder, list the top-level 
fold-
+                 ers for the current folder (with `-norecurse')  or  list  all 
 sub-
+                 folders under the current folder recursively (with 
`-recurse').  In
+                 this case, if a `msg' is also supplied, it will become the  
current
+                 message of `+folder'.
+
+                 The `-recurse' switch lists each folder recursively, so use 
of this
+                 option  effectively  defeats  the  speed enhancement of the 
`-fast'
+                 option,  since  each  folder  must  be  searched  for   
subfolders.
+                 Nevertheless, the combination of these options is useful.
+
+
+              _C_o_m_p_a_c_t_i_n_g _a _F_o_l_d_e_r
+
+                 The `-pack' switch will compress the message names  in  the  
desig-
+                 nated folders, removing holes in message numbering.  The 
`-verbose'
+                 switch directs _f_o_l_d_e_r to tell the user the 
general actions that  it
+                 is taking to compress the folder.
+
+
+              _T_h_e _F_o_l_d_e_r _S_t_a_c_k
+
+                 The `-push' switch directs _f_o_l_d_e_r to push the 
current  folder  onto
+                 the  _f_o_l_d_e_r-_s_t_a_c_k,  and  make  the  
`+folder'  argument the current
+                 folder.  If `+folder' is not given, the current folder and 
the  top
+                 of the _f_o_l_d_e_r-_s_t_a_c_k are exchanged.  
This corresponds to the "pushd"
+                 operation in the _C_S_h_e_l_l.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -35-                         
FOLDER(1)
+
+
+                 The `-pop'  switch  directs  _f_o_l_d_e_r  to  discard  
the  top  of  the
+                 _f_o_l_d_e_r-_s_t_a_c_k,  after  setting the 
current folder to that value.  No
+                 `+folder' argument is allowed.   This  corresponds  to  the  
"popd"
+                 operation  in the _C_S_h_e_l_l.  The `-push' switch and 
the `-pop' switch
+                 are mutually exclusive: the last occurrence of either one 
overrides
+                 any  previous occurrence of the other.  Both of these 
switches also
+                 set `-list' by default.
+
+                 The `-list' switch directs _f_o_l_d_e_r  to  list  the  
contents  of  the
+                 _f_o_l_d_e_r-_s_t_a_c_k.   No `+folder' argument 
is allowed.  After a success-
+                 ful `-push' or `-pop', the `-list' action is taken, unless a 
`-nol-
+                 ist'  switch follows them on the command line.  This 
corresponds to
+                 the "dirs" operation in  the  _C_S_h_e_l_l.   The  
`-push',  `-pop',  and
+                 `-list' switches turn off `-print'.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Folder-Protect:      To set mode when creating a new folder
+                 Folder-Stack:        To determine the folder stack
+
+
+            _S_e_e _A_l_s_o
+                 refile(1), mhpath(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to none
+                 `-nofast'
+                 `-noheader'
+                 `-nototal'
+                 `-nopack'
+                 `-norecurse'
+                 `-noverbose'
+                 `-print' is the default if no `-list', `-push', or `-pop' is 
specified
+                 `-list' is the default if `-push', or `-pop' is specified
+
+
+            _C_o_n_t_e_x_t
+                 If `+folder' and/or `msg' are given, they will become  the  
current
+                 folder and/or message.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FOLDER(1)                         -36-                         
FOLDER(1)
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the `-fast'  switch  
prevented  context
+                 changes  from  occurring for the current folder.  This is no 
longer
+                 the case: if `+folder' is given, then _f_o_l_d_e_r will 
always change the
+                 current folder to that.
+
+
+            _B_u_g_s
+                 `-all' forces `-header' and `-total'.
+
+                 There is no way to restore the default behavior (to  ask  the 
 user
+                 whether  to  create a non-existant folder) after `-create' or 
`-no-
+                 create' is given.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -37-                           
FORW(1)
+
+
+            _N_A_M_E
+                 forw - forward messages
+
+            _S_Y_N_O_P_S_I_S
+                 forw [+folder] [msgs] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-filter filterfile]
+                      [-form formfile] [-format] [-noformat] [-inplace] 
[-noinplace]
+                      [-whatnowproc program] [-nowhatnowproc] [-help]
+
+                 forw [+folder] [msgs] [-digest list] [-issue number]
+                      [-volume number] [other switches for _f_o_r_w] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _F_o_r_w may be used to prepare a message  containing  
other  messages.
+                 It   constructs  the  new  message  from  the  components  
file  or
+                 `-form formfile'  (see  _c_o_m_p ),  with  a  body  
composed   of   the
+                 message(s)  to  be forwarded.  An editor is invoked as in 
_c_o_m_p, and
+                 after editing is complete, the user is prompted before the  
message
+                 is sent.
+
+                 The default message form contains the following elements:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 If the file named "forwcomps" exists in the user's MH 
directory, it
+                 will be used instead of this form.  In either case, the file 
speci-
+                 fied by `-form formfile' will be used if given.
+
+                 If the draft already exists, _f_o_r_w will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_f_o_r_w, leaving the
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 If the `-annotate' switch is given, each  message  being  
forwarded
+                 will be annotated with the lines
+
+                      Forwarded: date
+                      Forwarded: addrs
+
+                 where each address list contains as many lines as  required.  
 This
+                 annotation  will  be done only if the message is sent 
directly from
+                 _f_o_r_w.   If  the  message  is  not  sent  immediately  
 from   _f_o_r_w,
+                 "comp -use"  may  be  used to re-edit and send the 
constructed mes-
+                 sage, but the annotations won't take place.  The '-inplace'  
switch
+                 causes annotation to be done in place in order to preserve 
links to
+                 the annotated message.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -38-                           
FORW(1)
+
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.
+
+                 Although _f_o_r_w uses the `-form formfile' switch to 
direct it how  to
+                 construct  the  beginning  of  the draft, the `-filter 
filterfile',
+                 `-format', and `-noformat' switches direct _f_o_r_w as to 
how each for-
+                 warded  message  should  be formatted in the body of the 
draft.  If
+                 `-noformat' is specified, then each  forwarded  message  is  
output
+                 exactly  as  it  appears.   If `-format' or `-filter 
filterfile' is
+                 specified, then each forwarded message is  filtered  
(re-formatted)
+                 prior  to  being  output to the body of the draft.  The 
filter file
+                 for _f_o_r_w should be a standard form  file  for  
_m_h_l,  as  _f_o_r_w  will
+                 invoke  _m_h_l  to format the forwarded messages.  The 
default message
+                 filter (what you get with `-format') is:
+
+                      width=80,overflowtext=,overflowoffset=10
+                      leftadjust,compress,compwidth=9
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+                      From:
+                      To:
+                      cc:
+                      Subject:
+                      :
+                      body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+                 If the file named "mhl.forward" exists in the user's MH  
directory,
+                 it  will  be  used  instead of this form.  In either case, 
the file
+                 specified by `-filter filterfile' will be used if given.   To 
 sum-
+                 marize:  `-noformat' will reproduce each forwarded message 
exactly,
+                 `-format' will use _m_h_l and a default filterfile, 
"mhl.forward",  to
+                 format  each  forwarded  message, and `-filter filterfile' 
will use
+                 the named filterfile to format each forwarded message with 
_m_h_l.
+
+                 Each forwarded message is separated with an encapsulation 
delimiter
+                 and  dashes  in  the first column of the forwarded messages 
will be
+                 prepended with `- ' so that when received, the message is  
suitable
+                 for  bursting  by  _b_u_r_s_t (1).   This  follows  the 
Internet RFC-934
+                 guidelines.
+
+                 For users of  _p_r_o_m_p_t_e_r (1),  by  specifying  
prompter's  `-prepend'
+                 switch  in  the  .mh_profile  file,  any commentary text is 
entered
+                 before the forwarded messages.  (A major win!)
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _f_o_r_w will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -39-                           
FORW(1)
+
+
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+                 The `-digest list', `-issue number', and `-volume number'  
switches
+                 implement  a  digest  facility  for  _M_H.  Specifying 
these switches
+                 enables and/or overloads the following escapes:
+
+                 _T_y_p_e       _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 _c_o_m_p_o_n_e_n_t  _d_i_g_e_s_t  string   
Argument to `-digest'
+                 _f_u_n_c_t_i_o_n   _c_u_r     integer  Argument to 
`-volume'
+                 _f_u_n_c_t_i_o_n   _m_s_g     integer  Argument to 
`-issue'
+
+                 Consult the Advanced Features section of the _M_H User's  
Manual  for
+                 more information on making digests.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/forwcomps         The message skeleton
+                 or <mh-dir>/forwcomps               Rather than the standard 
skeleton
+                 /usr/local/lib/mh/digestcomps       The message skeleton if 
`-digest' is given
+                 or <mh-dir>/digestcomps             Rather than the standard 
skeleton
+                 /usr/local/lib/mh/mhl.forward       The message filter
+                 or <mh-dir>/mhl.forward             Rather than the standard 
filter
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/draft                      The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 mhlproc:             Program to filter messages being 
forwarded
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r 
_M_e_s_s_a_g_e _E_n_c_a_p_s_u_l_a_t_i_o_n (aka RFC-934),
+                 comp(1), dist(1), repl(1), send(1), whatnow(1), mh-format(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noformat'
+                 `-noinplace'
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FORW(1)                           -40-                           
FORW(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message forwarded will become the current message.
+
+
+            _B_u_g_s
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _f_o_r_w uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _f_o_r_w  won't  run
+                 it.
+
+                 When _f_o_r_w is told to annotate the messages it 
forwards, it  doesn't
+                 actually  annotate  them  until the draft is successfully 
sent.  If
+                 from the _w_h_a_t_n_o_w_p_r_o_c, you _p_u_s_h 
instead of _s_e_n_d,  it's  possible  to
+                 confuse   _f_o_r_w   by   re-ordering   the   file   
(e.g.,   by  using
+                 `folder -pack') before the message is successfully sent.  
_D_i_s_t  and
+                 _r_e_p_l don't have this problem.
+
+                 To avoid prepending the leading dash characters in  forwarded 
 mes-
+                 sages,  there  is  a  `-nodashmunging'  option.   See  the  
"Hidden
+                 Features" section of the _M_H 
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -41-                            
INC(1)
+
+
+            _N_A_M_E
+                 inc - incorporate new mail
+
+            _S_Y_N_O_P_S_I_S
+                 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+                      [-nochangecur] [-form formatfile] [-format string]
+                      [-file name] [-silent] [-nosilent] [-truncate] 
[-notruncate]
+                      [-width columns] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _I_n_c incorporates mail from the user's incoming mail 
drop into an _M_H
+                 folder.   If  `+folder'  isn't specified, a folder in the 
user's _M_H
+                 directory will be used, either that specified by the "Inbox:" 
entry
+                 in  the  user's profile, or the folder named "inbox".  The 
new mes-
+                 sages being incorporated are assigned  numbers  starting  
with  the
+                 next  highest  number in the folder.  If the specified (or 
default)
+                 folder doesn't exist, the user will be queried prior to  its  
crea-
+                 tion.   As  the  messages  are processed, a _s_c_a_n 
listing of the new
+                 mail is produced.
+
+                 If the user's profile contains a "Msg-Protect: nnn" entry, it 
 will
+                 be  used as the protection on the newly created messages, 
otherwise
+                 the _M_H default of 0644 will be used.  During all 
operations on mes-
+                 sages,  this  initially  assigned  protection will be 
preserved for
+                 each message, so _c_h_m_o_d(1) may be used to set  a  
protection  on  an
+                 individual   message,   and   its   protection  will  be  
preserved
+                 thereafter.
+
+                 If the  switch  `-audit audit-file'  is  specified  (usually  
as  a
+                 default  switch in the profile), then _i_n_c will append a 
header line
+                 and a line per message to the end of the specified audit-file 
 with
+                 the format:
+
+                      <<inc>> date
+                           <scan line for first message>
+                           <scan line for second message>
+                                     <etc.>
+
+                 This is useful for keeping track of volume and source  of  
incoming
+                 mail.   Eventually,  _r_e_p_l,  _f_o_r_w,  
_c_o_m_p,  and _d_i_s_t may also produce
+                 audits to this (or another) file, perhaps with "Message-Id:" 
infor-
+                 mation  to keep an exact correspondence history.  
"Audit-file" will
+                 be in the user's MH directory unless a full path is specified.
+
+                 _I_n_c will incorporate even improperly formatted  
messages  into  the
+                 user's  MH  folder,  inserting  a blank line prior to the 
offending
+                 component and printing a comment identifying the bad message.
+
+                 In all cases, the user's mail  drop  will  be  zeroed,  
unless  the
+                 `-notruncate' switch is given.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -42-                            
INC(1)
+
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+                 then  _i_n_c  will add each of the newly incorporated 
messages to each
+                 sequence named by the  profile  entry.   This  is  similar  
to  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.  Note that _i_n_c 
will not  zero
+                 each sequence prior to adding messages.
+
+                 The interpretation of the `-form formatfile', `-format 
string', and
+                 `-width columns' switches is the same as in _s_c_a_n (1).
+
+                 By using the `-file name' switch, one can direct _i_n_c to 
incorporate
+                 messages from a file other than the user's maildrop.  Note 
that the
+                 name file will NOT be zeroed,  unless  the  `-truncate'  
switch  is
+                 given.
+
+                 If the envariable $MAILDROP is set, then _i_n_c uses it as 
 the  loca-
+                 tion  of  the  user's  maildrop  instead  of  the  default  
(the `-
+                 file name' switch still overrides this, however).  If this  
envari-
+                 able is not set, then _i_n_c will consult the profile 
entry "MailDrop"
+                 for this information.  If the value found is not absolute, 
then  it
+                 is  interpreted  relative to the user's _M_H directory.  If 
the value
+                 is not found, then _i_n_c will look in the  standard  
system  location
+                 for the user's maildrop.
+
+                 The `-silent' switch directs _i_n_c to be quiet and not 
ask any  ques-
+                 tions at all.  This is useful for putting _i_n_c in the 
background and
+                 going on to other things.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/spool/mail/$USER               Location of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Inbox:               To determine the inbox, default "inbox"
+                 Folder-Protect:      To set mode when creating a new folder
+                 Msg-Protect:         To set mode when creating a  new  
message  and
+                 audit-file
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+
+
+            _S_e_e _A_l_s_o
+                 mhmail(1), scan(1), mh-mail(5), post(8)
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INC(1)                            -43-                            
INC(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaulted by "Inbox" above
+                 `-noaudit'
+                 `-changecur'
+                 `-format' defaulted as described above
+                 `-nosilent'
+                 `-truncate' if `-file name' not given, `-notruncate' otherwise
+                 `-width' defaulted to the width of the terminal
+
+
+            _C_o_n_t_e_x_t
+                 The folder into which messages are being incorporated  will  
become
+                 the current folder.  The first message incorporated will 
become the
+                 current message, unless the  `-nochangecur'  option  is  
specified.
+                 This leaves the context ready for a _s_h_o_w of the first 
new message.
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _i_n_c.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -44-                           
MARK(1)
+
+
+            _N_A_M_E
+                 mark - mark messages
+
+            _S_Y_N_O_P_S_I_S
+                 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] 
[-list]
+                      [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _m_a_r_k command manipulates message sequences by 
adding or  delet-
+                 ing  message  numbers from folder-specific message sequences, 
or by
+                 listing those sequences and messages.  A message sequence is 
a key-
+                 word,  just  like  one  of  the  "reserved"  message names, 
such as
+                 "first" or "next".  Unlike the "reserved" message names, 
which have
+                 a fixed semantics on a per-folder basis, the semantics of a 
message
+                 sequence may be defined, modified, and removed by the  user.  
 Mes-
+                 sage  sequences are folder-specific, e.g., the sequence name 
"seen"
+                 in the context of folder "+inbox" need not have any relation  
what-
+                 soever  to the sequence of the same name in a folder of a 
different
+                 name.
+
+                 Three action switches direct the operation of _m_a_r_k.  
These switches
+                 are  mutually  exclusive:  the last occurrence of any of them 
over-
+                 rides any previous occurrence of the other two.
+
+                 The `-add' switch tells _m_a_r_k to add messages  to  
sequences  or  to
+                 create   a   new   sequence.   For  each  sequence  named  
via  the
+                 `-sequence name' argument (which must occur at least once) 
the mes-
+                 sages  named  via  `msgs' (which defaults to "cur" if no 
`msgs' are
+                 given), are added to the sequence.  The messages to be  added 
 need
+                 not  be  absent from the sequence.  If the `-zero' switch is 
speci-
+                 fied, the sequence will be emptied prior to  adding  the  
messages.
+                 Hence,  `-add -zero' means that each sequence should be 
initialized
+                 to the indicated messages, while  `-add -nozero'  means  that 
 each
+                 sequence should be appended to by the indicated messages.
+
+                 The `-delete' switch tells _m_a_r_k to delete messages 
from  sequences,
+                 and  is  the  dual of `-add'.  For each of the named 
sequences, the
+                 named messages are removed from the sequence.  These messages 
 need
+                 not  be  already present in the sequence.  If the `-zero' 
switch is
+                 specified, then all messages in the  folder  are  appended  
to  the
+                 sequence  prior  to  removing the messages.  Hence, `-delete 
-zero'
+                 means that each sequence should contain all messages  except  
those
+                 indicated,  while  `-delete -nozero'  means that only the 
indicated
+                 messages should be removed from each sequence.   As  
expected,  the
+                 command   `mark -sequence seen -delete all'  deletes  the  
sequence
+                 "seen" from the current folder.
+
+                 When creating (or modifying) a sequence, the `-public' switch 
indi-
+                 cates that the sequence should be made readable for other 
_M_H users.
+                 In contrast, the `-nopublic' switch  indicates  that  the  
sequence
+                 should be private to the user's _M_H environment.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -45-                           
MARK(1)
+
+
+                 The `-list' switch tells _m_a_r_k to list both  the  
sequences  defined
+                 for  the  folder  and the messages associated with those 
sequences.
+                 _M_a_r_k will list the name of each sequence given by  
`-sequence name'
+                 and  the  messages  associated  with that sequence.  If 
`-sequence'
+                 isn't used, all sequences will be listed,  with  private  
sequences
+                 being  so indicated.  The `-zero' switch does not affect the 
opera-
+                 tion of `-list'.
+
+                 The current restrictions on sequences are:
+
+                   The name used to denote a message sequence  must  consist  
of  an
+                   alphabetic  character followed by zero or more alphanumeric 
char-
+                   acters, and cannot be one of the (reserved) message names  
"new",
+                   "first", "last", "all", "next", or "prev".
+
+                   Only a certain number of sequences may be  defined  for  a  
given
+                   folder.   This  number is usually limited to 26 (10 on 
small sys-
+                   tems).
+
+                   Message ranges with user-defined sequence names are 
restricted to
+                   the  form  "name:n"  or "name:-n", and refer to the first 
or last
+                   `n' messages of the sequence `name', respectively.  
Constructs of
+                   the form "name1-name2" are forbidden.
+
+            _F_i_l_e_s
+                $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                pick (1), mh-sequence (5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-add' if `-sequence' is specified, `-list' otherwise
+                 `msgs' defaults to cur (or all if `-list' is specified)
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-nozero'
+
+
+            _C_o_n_t_e_x_t
+                If a folder is given, it will become the current folder.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 Use "pick sequence -list" to enumerate the messages in  a  
sequence
+                 (such as for use by a shell script).
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MARK(1)                           -46-                           
MARK(1)
+
+
+            _N_A_M_E
+                 mhl - produce formatted listings of MH messages
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
+                      [-folder +folder] [-form formfile] [-length lines]
+                      [-width columns] [-moreproc program] [-nomoreproc] 
[files ...]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_l is a formatted message listing program.  It can be  
used  as  a
+                 replacement  for  _m_o_r_e (1)  (the default 
_s_h_o_w_p_r_o_c ).  As with _m_o_r_e,
+                 each of the messages specified as arguments (or the standard 
input)
+                 will  be  output.   If more than one message file is 
specified, the
+                 user will be prompted prior to each one, and a  <RETURN>  or  
<EOT>
+                 will  begin  the  output,  with  <RETURN>  clearing  the 
screen (if
+                 appropriate), and <EOT> (usually  CTRL-D)  suppressing  the  
screen
+                 clear.  An <INTERRUPT> (usually CTRL-C) will abort the 
current mes-
+                 sage output, prompting for the next message (if there is 
one),  and
+                 a  <QUIT> (usually CTRL-\) will terminate the program 
(without core
+                 dump).
+
+                 The `-bell' option tells _m_h_l to ring the terminal's 
bell at the end
+                 of  each  page,  while  the  `-clear' option tells _m_h_l 
to clear the
+                 scree at the end of each page (or output a formfeed after 
each mes-
+                 sage).   Both  of  these  switches (and their inverse 
counterparts)
+                 take effect only if the  profile  entry  
_m_o_r_e_p_r_o_c  is  defined  but
+                 empty,  and _m_h_l is outputting to a terminal.  If the 
_m_o_r_e_p_r_o_c entry
+                 is defined and non-empty, and _m_h_l is outputting to a 
terminal, then
+                 _m_h_l  will  cause the _m_o_r_e_p_r_o_c to be 
placed between the terminal and
+                 _m_h_l and the switches are ignored.   Furthermore,  if  
the  `-clear'
+                 switch is used and _m_h_l'_s output is directed to a 
terminal, then _m_h_l
+                 will consult the $TERM and $TERMCAP envariables  to  
determine  the
+                 user's  terminal type in order to find out how to clear the 
screen.
+                 If the `-clear' switch is used and _m_h_l'_s output is 
not directed  to
+                 a  terminal (e.g., a pipe or a file), then _m_h_l will 
send a formfeed
+                 after each message.
+
+                 To override the default _m_o_r_e_p_r_o_c and the  
profile  entry,  use  the
+                 `-moreproc program'  switch.   Note  that  _m_h_l  will  
never start a
+                 _m_o_r_e_p_r_o_c if invoked on a hardcopy terminal.
+
+                 The `-length length' and `-width width'  switches  set  the  
screen
+                 length  and width, respectively.  These default to the values 
indi-
+                 cated by $TERMCAP, if appropriate, otherwise they default to 
40 and
+                 80, respectively.
+
+                 The default format file used by _m_h_l is called 
_m_h_l._f_o_r_m_a_t (which  is
+                 first  searched  for in the user's _M_H directory, and then 
sought in
+                 the /_u_s_r/_l_o_c_a_l/_l_i_b/_m_h directory), 
this can be changed by using  the
+                 `-form formatfile' switch.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -47-                            
MHL(1)
+
+
+                 Finally, the `-folder +folder' switch  sets  the  _M_H  
folder  name,
+                 which  is  used  for the "messagename:" field described 
below.  The
+                 envariable $mhfolder is consulted  for  the  default  value,  
which
+                 _s_h_o_w, _n_e_x_t, and _p_r_e_v initialize 
appropriately.
+
+                 _M_h_l operates in two phases: 1) read and parse the 
format file,  and
+                 2)  process  each  message  (file).   During  phase  1, an 
internal
+                 description of the format is produced as  a  structured  
list.   In
+                 phase  2,  this list is walked for each message, outputting 
message
+                 information under the format constraints from the format file.
+
+                 The "mhl.format" form file contains information controlling  
screen
+                 clearing,  screen size, wrap-around control, transparent 
text, com-
+                 ponent ordering, and component formatting.  Also, a  list  of 
 com-
+                 ponents  to ignore may be specified, and a couple of 
"special" com-
+                 ponents are defined to provide added functionality.  Message 
output
+                 will be in the order specified by the order in the format 
file.
+
+                 Each line of mhl.format has one of the formats:
+
+                      ;comment
+                      :cleartext
+                      variable[,variable...]
+                      component:[variable,...]
+
+                 A line beginning with a `;' is a comment, and is ignored.   A 
 line
+                 beginning with a `:' is clear text, and is output exactly as 
is.  A
+                 line containing only a `:' produces a blank line in the 
output.   A
+                 line  beginning with "component:" defines the format for the 
speci-
+                 fied component, and finally,  remaining  lines  define  the  
global
+                 environment.
+
+                 For example, the line:
+
+                      
width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
+
+                 defines the screen size to be 80 columns by 40 rows, 
specifies that
+                 the screen should be cleared prior to each page, that the  
overflow
+                 indentation  is  5,  and  that overflow text should be 
flagged with
+                 "***".
+
+                 Following are all of the current variables and their 
arguments.  If
+                 they  follow a component, they apply only to that component, 
other-
+                 wise, their affect is global.  Since the  whole  format  is  
parsed
+                 before  any output processing, the last global switch setting 
for a
+                 variable applies to the whole message if that variable is 
used in a
+                 global context (i.e., bell, clearscreen, width, length).
+
+                      _v_a_r_i_a_b_l_e       _t_y_p_e       
_s_e_m_a_n_t_i_c_s
+                      width          integer    screen width or component width
+                      length         integer    screen length or component 
length
+                      offset         integer    positions to indent 
"component: "
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -48-                            
MHL(1)
+
+
+                      overflowtext   string     text to use at the beginning 
of an
+                                                overflow line
+                      overflowoffset integer    positions to indent overflow 
lines
+                      compwidth      integer    positions to indent component 
text
+                                                after the first line is output
+                      uppercase      flag       output text of this component 
in all
+                                                upper case
+                      nouppercase    flag       don't uppercase
+                      clearscreen    flag/G     clear the screen prior to each 
page
+                      noclearscreen  flag/G     don't clearscreen
+                      bell           flag/G     ring the bell at the end of 
each page
+                      nobell         flag/G     don't bell
+                      component      string/L   name to use instead of 
"component" for
+                                                this component
+                      nocomponent    flag       don't output "component: " for 
this
+                                                component
+                      center         flag       center component on line 
(works for
+                                                one-line components only)
+                      nocenter       flag       don't center
+                      leftadjust     flag       strip off leading whitespace 
on each
+                                                line of text
+                      noleftadjust   flag       don't leftadjust
+                      compress       flag       change newlines in text to 
spaces
+                      nocompress     flag       don't compress
+                      split          flag       don't combine multiple fields 
into a single field
+                      nosplit        flag       combine multiple fields into a 
single field
+                      newline        flag       print newline at end of 
components (default)
+                      nonewline      flag       don't print newline at end of 
components
+                      formatfield    string     format string for this 
component (see below)
+                      addrfield      flag       field contains addresses
+                      datefield      flag       field contains dates
+
+                 To specify the value of integer-valued and string-valued 
variables,
+                 follow   their   name   with   an   equals-sign   and   the  
value.
+                 Integer-valued  variables   are   given   decimal   values,   
while
+                 string-valued  variables  are  given  arbitrary  text  
bracketed by
+                 double-quotes.  If a value is suffixed by "/G" or  "/L",  
then  its
+                 value  is  useful  in  a global-only or local-only context 
(respec-
+                 tively).
+
+                 A line of the form:
+
+                     ignores=component,...
+
+                 specifies a list of components which are never output.
+
+                 The component  "MessageName"  (case-insensitive)  will  
output  the
+                 actual  message name (file name) preceded by the folder name 
if one
+                 is specified or found in the environment.  The format is  
identical
+                 to that produced by the `-header' option to _s_h_o_w.
+
+                 The component "Extras" will output all of  the  components  
of  the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -49-                            
MHL(1)
+
+
+                 message  which were not matched by explicit components, or 
included
+                 in the ignore list.  If this component is not specified, an  
ignore
+                 list  is  not  needed  since  all  non-specified components 
will be
+                 ignored.
+
+                 If "nocomponent" is NOT specified, then the component name 
will  be
+                 output as it appears in the format file.
+
+                 The default format is:
+
+                      : -- using template mhl.format --
+                      overflowtext="***",overflowoffset=5
+                      leftadjust,compwidth=9
+                      ignores=msgid,message-id,received
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(pretty{text})%>"
+                      To:
+                      cc:
+                      :
+                      From:
+                      Subject:
+                      :
+                      extras:nocomponent
+                      :
+                      
body:nocomponent,overflowtext=,overflowoffset=0,noleftadjust
+
+                 The  variable  "formatfield"  specifies  a   format   string  
 (see
+                 _m_h-_f_o_r_m_a_t (5)).   The  flag  variables  
"addrfield" and "datefield"
+                 (which are mutually exclusive), tell _m_h_l to interpret  
the  escapes
+                 in the format string as either addresses or dates, 
respectively.
+
+                 By default, _m_h_l does not apply any formatting string to 
fields con-
+                 taining  address  or  dates  (see  _m_h-_m_a_i_l (5)  
for a list of these
+                 fields).  Note that this results in faster operation since 
_m_h_l must
+                 parse both addresses and dates in order to apply a format 
string to
+                 them.  If desired, _m_h_l can be given a  default  format  
string  for
+                 either  address  or  date  fields (but not both).  To do 
this, on a
+                 global line specify: either the flag addrfield or datefield,  
along
+                 with the apropriate formatfield variable string.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mhl.format        The message template
+                 or <mh-dir>/mhl.format              Rather than the standard 
template
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 moreproc:            Program to use as interactive front-end
+
+
+            _S_e_e _A_l_s_o
+                 show(1), ap(8), dp(8)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHL(1)                            -50-                            
MHL(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-bell'
+                 `-noclear'
+                 `-length 40'
+                 `-width 80'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 There should be some way to pass `bell' and `clear' 
information  to
+                 the front-end.
+
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+                 The "nonewline" option interacts badly with "compress" and 
"split".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHMAIL(1)                         -51-                         
MHMAIL(1)
+
+
+            _N_A_M_E
+                 mhmail - send or read mail
+
+            _S_Y_N_O_P_S_I_S
+                 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+                      [-subject subject]] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_H_m_a_i_l is intended as a replacement for the 
standard Bell mail pro-
+                 gram  (_b_e_l_l_m_a_i_l (1)),  compatible  with  
_M_H.   When invoked without
+                 arguments, it simply invokes _i_n_c (1) to  incorporate  
new  messages
+                 from  the  user's maildrop.  When one or more users is 
specified, a
+                 message is read from the standard input and spooled to a  
temporary
+                 file.   _M_H_m_a_i_l then invokes _p_o_s_t (8) with 
the name of the temporary
+                 file as its argument to deliver the message to the specified 
user.
+
+                 The `-subject subject' switch can be used to specify the 
"Subject:"
+                 field  of  the  message.   The  `-body text'  switch can be 
used to
+                 specify the text of the message; if it is specified, then the 
stan-
+                 dard input is not read.  Normally, addresses appearing as 
arguments
+                 are put in the "To:" field.  If  the  `-cc'  switch  is  
used,  all
+                 addresses following it are placed in the "cc:" field.
+
+                 By using `-from addr', you can specify the "From:"  header  
of  the
+                 draft.    Naturally,   _p_o_s_t   will  fill-in  the  
"Sender:"  header
+                 correctly.
+
+                 This program is intended for the use of programs  such  as  
_a_t (1),
+                 which  expect  to  send  mail automatically to various users. 
 Nor-
+                 mally, real people (as opposed to the "unreal" ones) will 
prefer to
+                 use _c_o_m_p (1) and _s_e_n_d (1) to send messages.
+
+            _F_i_l_e_s
+                 /usr/local/inc                      Program to incorporate a 
maildrop into a folder
+                 /usr/local/lib/mh/post              Program to deliver a 
message
+                 /tmp/mhmail*                        Temporary copy of message
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHMAIL(1)                         -52-                         
MHMAIL(1)
+
+
+            _C_o_n_t_e_x_t
+                 If _i_n_c is invoked, then _i_n_c's context changes 
occur.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHOOK(1)                          -53-                          
MHOOK(1)
+
+
+            _N_A_M_E
+                 mhook, rcvdist, rcvpack, rcvtty  - MH receive-mail hooks
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/rcvdist [-form formfile] [switches for 
_p_o_s_t_p_r_o_c]
+                      address ...  [-help]
+
+                 /usr/local/lib/mh/rcvpack file [-help]
+
+                 /usr/local/lib/mh/rcvtty [command] [-form formatfile]
+                      [-format string] [-bell] [-nobell] [-newline] 
[-nonewline]
+                      [-biff] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 A receive-mail hook is a program that is run whenever you 
receive a
+                 mail message.  You do NOT invoke the hook yourself, rather 
the hook
+                 is invoked on your behalf by your system's Message Transport 
Agent.
+                 See _s_l_o_c_a_l (1) for details on how to activate 
receive-mail hooks on
+                 your system.
+
+                 Four programs are  currently  available  as  part  of  
_M_H,  _r_c_v_d_i_s_t
+                 (redistribute  incoming messages to additional recipients), 
_r_c_v_p_a_c_k
+                 (save incoming messages in a _p_a_c_k_f'd file), and 
_r_c_v_t_t_y (notify user
+                 of   incoming  messages).   The  fourth  program,  
_r_c_v_s_t_o_r_e (1)  is
+                 described separately.  They all reside  in  the  
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/
+                 directory.
+
+                 The _r_c_v_d_i_s_t program will resend a copy of the 
message to all of the
+                 addresses  listed  on  its command line.  It uses the format 
string
+                 facility described in _m_h-_f_o_r_m_a_t (5).
+
+                 The _r_c_v_p_a_c_k program will append a copy of the 
message to  the  file
+                 listed  on  its  command  line.  Its use is obsoleted by the 
"file"
+                 action of _s_l_o_c_a_l.
+
+                 The _r_c_v_t_t_y program executes the named file with 
the message as  its
+                 standard input, and writes the resulting output on your 
terminal.
+
+                 If no file is specified,  or  is  bogus,  etc.,  then  
_r_c_v_t_t_y  will
+                 instead    write    a    one-line   scan   listing.    Either 
  the
+                 `-form formatfile' or `-format string' option may be used to  
over-
+                 ride  the  default output format (see 
_m_h-_f_o_r_m_a_t (5)).  A newline is
+                 output before the message output, and the  terminal  bell  is 
 rung
+                 after  the  output.   The  `-nonewline'  and `-nobell' 
options will
+                 inhibit these functions.
+
+                 In addition to the  standard  _m_h-_f_o_r_m_a_t (5)  
escapes,  _r_c_v_t_t_y  also
+                 recognizes the following additional 
_c_o_m_p_o_n_e_n_t escapes:
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHOOK(1)                          -54-                          
MHOOK(1)
+
+
+                 _E_s_c_a_p_e    _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 body      string   the (compressed) first part of the body
+                 dtimenow  date     the current date
+                 folder    string   the name of the current folder
+
+                 Normally, _r_c_v_t_t_y obeys write permission  as  
granted  by  _m_e_s_g (1).
+                 With  the  `-biff' option, _r_c_v_t_t_y will obey the 
notification status
+                 set by _b_i_f_f (1) instead.  If the terminal access 
daemon  (TTYD)  is
+                 available  on  your system, then _r_c_v_t_t_y will give 
its output to the
+                 daemon for output instead of writing on the user's terminal.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 $HOME/.maildelivery                 The file controlling 
local delivery
+                 /usr/local/lib/mh/maildelivery      Rather than the standard 
file
+
+
+            _S_e_e _A_l_s_o
+                 rcvstore (1), mh-format(5), slocal(1)
+
+
+            _B_u_g_s
+                 Only two return codes are meaningful, others should be.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPARAM(1)                        -55-                        
MHPARAM(1)
+
+
+            _N_A_M_E
+                 mhparam - print MH profile components
+
+            _S_Y_N_O_P_S_I_S
+                 mhparam [components] [-all] [-component] [-nocomponent] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_p_a_r_a_m writes the value of the specified 
profile component to  the
+                 standard output separated by newlines.  If the profile 
component is
+                 not present, the default value (or nothing if there is no  
default)
+                 is printed.
+
+                 If more than one component is specified in the  `components'  
list,
+                 the  component  value is preceded by the component name.  If 
`-com-
+                 ponent' is specified, the component name  is  displayed  even 
 when
+                 only  one  component is specified.  If `-nocomponent' is 
specified,
+                 the component name is not displayed even when more  than  one 
 com-
+                 ponent is specified.
+
+                 If `-all' is specified,  all  components  if  the  MH  
profile  are
+                 displayed and other arguments are ignored.
+
+                 Examples:
+
+                      % mhparam path
+                      Mail
+
+                      % mhparam mhlproc
+                      /usr/local/lib/mh/mhl
+
+                      % mhparam -component path
+                      Path:       Mail
+
+                      % mhparam AliasFile rmmproc
+                      AliasFile:  aliases
+                      rmmproc:    rmmproc
+
+                      % mhparam -nocomponent AliasFile rmmproc
+                      aliases
+                      rmmproc
+
+                 _M_h_p_a_r_a_m is also useful in back-quoted 
operations:
+
+                      % fgrep cornell.edu `mhpath +`/`mhparam aliasfile`
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPARAM(1)                        -56-                        
MHPARAM(1)
+
+
+            _S_e_e _A_l_s_o
+                 mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-nocomponent' if only one component is specified
+                 `-component' if more than one component is specified
+                 `components' defaults to none
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -57-                         
MHPATH(1)
+
+
+            _N_A_M_E
+                 mhpath - print full pathnames of MH messages and folders
+
+            _S_Y_N_O_P_S_I_S
+                 mhpath [+folder] [msgs] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_h_p_a_t_h expands and sorts the message list  `msgs' 
 and  writes  the
+                 full  pathnames of the messages to the standard output 
separated by
+                 newlines.  If no `msgs' are specified, _m_h_p_a_t_h  
outputs  the  folder
+                 pathname  instead.   If  the  only argument is `+', your MH 
_P_a_t_h is
+                 output; this can be useful is shell scripts.
+
+                 Contrasted with other MH commands, a message argument to 
_m_h_p_a_t_h may
+                 often be intended for _w_r_i_t_i_n_g.  Because of this:
+
+                 1) the name "new" has been added to _m_h_p_a_t_h's list 
of reserved  mes-
+                 sage  names (the others are "first", "last", "prev", "next", 
"cur",
+                 and "all").  The new message is equivalent to the message 
after the
+                 last  message  in a folder (and equivalent to 1 in a folder 
without
+                 messages).  The "new" message may not be used as part of a  
message
+                 range.
+
+                 2) Within a message list, the following designations may  
refer  to
+                 messages that do not exist: a single numeric message name, 
the sin-
+                 gle message name "cur", and (obviously)  the  single  message 
 name
+                 "new".   All  other message designations must refer to at 
least one
+                 existing message.
+
+                 3) An empty folder is not in itself an error.
+
+                 Message numbers greater than the  highest  existing  message  
in  a
+                 folder  as  part  of a range designation are replaced with 
the next
+                 free message number.
+
+                 Examples: The current folder foo contains messages 3 5 6.   
Cur  is
+                 4.
+
+                      % mhpath
+                      /r/phyl/Mail/foo
+
+                      % mhpath all
+                      /r/phyl/Mail/foo/3
+                      /r/phyl/Mail/foo/5
+                      /r/phyl/Mail/foo/6
+
+                      % mhpath 2001
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath 1-2001
+                      /r/phyl/Mail/foo/3
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -58-                         
MHPATH(1)
+
+
+                      /r/phyl/Mail/foo/5
+                      /r/phyl/Mail/foo/6
+
+                      % mhpath new
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath last new
+                      /r/phyl/Mail/foo/6
+                      /r/phyl/Mail/foo/7
+
+                      % mhpath last-new
+                      bad message list "last-new".
+
+                      % mhpath cur
+                      /r/phyl/Mail/foo/4
+
+                      % mhpath 1-2
+                      no messages in range "1-2".
+
+                      % mhpath first:2
+                      /r/phyl/Mail/foo/3
+                      /r/phyl/Mail/foo/5
+
+                      % mhpath 1 2
+                      /r/phyl/Mail/foo/1
+                      /r/phyl/Mail/foo/2
+
+                 _M_H_p_a_t_h is also useful in back-quoted operations:
+
+                      % cd `mhpath +inbox`
+
+                      % echo `mhpath +`
+                      /r/phyl/Mail
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 folder(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to none
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MHPATH(1)                         -59-                         
MHPATH(1)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 Like all MH commands, _m_h_p_a_t_h expands and sorts  
[msgs].   So  don't
+                 expect
+
+                      mv `mhpath 501 500`
+
+                 to move 501 to 500.  Quite the reverse.  But
+
+                      mv `mhpath 501` `mhpath 500`
+
+                 will do the trick.
+
+                 Out of range message 0 is treated far more severely than 
large  out
+                 of range message numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSGCHK(1)                         -60-                         
MSGCHK(1)
+
+
+            _N_A_M_E
+                 msgchk - check for messages
+
+            _S_Y_N_O_P_S_I_S
+                 msgchk [-date] [-nodate] [-notify all/mail/nomail]
+                      [-nonotify all/mail/nomail] [users ...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 The _m_s_g_c_h_k program checks all known mail drops 
for mail waiting for
+                 you.  For those drops which have mail for you, 
_m_s_g_c_h_k will indicate
+                 if it believes that you have seen the mail in question before.
+
+                 The `-notify type' switch indicates under what circumstances 
_m_s_g_c_h_k
+                 should  produce a message.  The default is `-notify all' 
which says
+                 that _m_s_g_c_h_k should always report the status of 
the users  maildrop.
+                 Other  values  for  `type'  include  `mail'  which says that 
_m_s_g_c_h_k
+                 should report the status of waiting mail; and, `nomail' which 
 says
+                 that  _m_s_g_c_h_k  should  report  the  status  of 
empty maildrops.  The
+                 `-nonotify type' switch has the inverted sense, so  
`-nonotify all'
+                 directs  _m_s_g_c_h_k  to  never report the status of 
maildrops.  This is
+                 useful if the  user  wishes  to  check  _m_s_g_c_h_k's  
exit  status.   A
+                 non-zero  exit  status  indicates  that mail was not waiting 
for at
+                 least one of the indicated users.
+
+                 If _m_s_g_c_h_k produces output, then the `-date' 
switch  directs  _m_s_g_c_h_k
+                 to  print  out  the  last date mail was read, if this can be 
deter-
+                 mined.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/spool/mail/$USER               Location of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 inc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `user' defaults to the current user
+                 `-date'
+                 `-notify all'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSGCHK(1)                         -61-                         
MSGCHK(1)
+
+
+            _N_A_M_E
+                 msh - MH shell (and BBoard reader)
+
+            _S_Y_N_O_P_S_I_S
+                 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] 
[file]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _m_s_h is an interactive program that implements a subset 
of the  nor-
+                 mal _M_H commands operating on a single file in 
_p_a_c_k_f'd format.  That
+                 is, _m_s_h is used to read a file that contains a number 
of  messages,
+                 as  opposed  to the standard _M_H style of reading a number 
of files,
+                 each file being a separate message in a folder.  _m_s_h's 
chief advan-
+                 tage is that the normal _M_H style does not allow a file to 
have more
+                 than one message in it.  Hence, _m_s_h is ideal for  
reading  _B_B_o_a_r_d_s,
+                 as  these  files are delivered by the transport system in 
this for-
+                 mat.  In addition, _m_s_h can be used on other files, such 
as  message
+                 archives  which  have been _p_a_c_ked (see 
_p_a_c_k_f (1)).  Finally, _m_s_h is
+                 an excellent _M_H tutor.  As the only commands available to 
the  user
+                 are  _M_H  commands,  this  allows _M_H beginners to 
concentrate on how
+                 commands to _M_H are formed and (more or less) what they 
mean.
+
+                 When invoked, _m_s_h reads the named file, and enters a 
command  loop.
+                 The  user  may type most of the normal _M_H commands.  The 
syntax and
+                 semantics of these commands typed to _m_s_h are identical 
to their  _M_H
+                 counterparts.   In  cases  where  the nature of _m_s_h 
would be incon-
+                 sistent (e.g., specifying a `+folder' with some commands), 
_m_s_h will
+                 duly inform the user.  The commands that _m_s_h currently 
supports (in
+                 some slightly modified or restricted forms) are:
+
+                      ali
+                      burst
+                      comp
+                      dist
+                      folder
+                      forw
+                      inc
+                      mark
+                      mhmail
+                      msgchk
+                      next
+                      packf
+                      pick
+                      prev
+                      refile
+                      repl
+                      rmm
+                      scan
+                      send
+                      show
+                      sortm
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -62-                            
MSH(1)
+
+
+                      whatnow
+                      whom
+
+                 In addition, _m_s_h has a "help" command which gives a 
brief overview.
+                 To  terminate  _m_s_h, type CTRL-D, or use the "quit" 
command.  If _m_s_h
+                 is being invoked from _b_b_c, then typing CTRL-D will also 
tell _b_b_c to
+                 exit as well, while using the "quit" command will return 
control to
+                 _b_b_c, and _b_b_c will continue examining the list of 
BBoards that it is
+                 scanning.
+
+                 If the file is writable and has been modified,  then  using  
"quit"
+                 will query the user if the file should be updated.
+
+                 The `-prompt string' switch sets the prompting string for 
_m_s_h.
+
+                 You may wish to use an alternate _M_H profile for the  
commands  that
+                 _m_s_h  executes; see _m_h-_p_r_o_f_i_l_e (5) for 
details about the $MH envari-
+                 able.
+
+                 When invoked from _b_b_c, two special features are 
enabled: First, the
+                 `-scan' switch directs _m_s_h to do a `scan unseen' on 
start-up if new
+                 items are present in the BBoard.  This feature is  best  used 
 from
+                 _b_b_c,  which  correctly sets the stage.  Second, the 
_m_a_r_k command in
+                 _m_s_h acts specially when you are reading a BBoard,  
since  _m_s_h  will
+                 consult the sequence "unseen" in determining what messages 
you have
+                 actually read.  When _m_s_h exits, it reports this 
information to _b_b_c.
+                 In  addition,  if  you give the _m_a_r_k command with no 
arguments, _m_s_h
+                 will interpret  it  as  `mark -sequence unseen -delete 
-nozero all'
+                 Hence,  to discard all of the messages in the current BBoard 
you're
+                 reading, just use the _m_a_r_k command with no arguments.
+
+                 Normally, the "exit" command is identical to the "quit" 
command  in
+                 _m_s_h.   When  run  under _b_b_c however, "exit" 
directs _m_s_h to mark all
+                 messages as seen and then "quit".  For speedy type-in, this 
command
+                 is often abbreviated as just "e".
+
+                 When invoked from _v_m_h, another  special  feature  is  
enabled:  The
+                 `topcur' switch directs _m_s_h to have the current message 
"track" the
+                 top line of the _v_m_h scan window.  Normally,  _m_s_h  
has  the  current
+                 message  "track" the center of the window (under `-notopcur', 
which
+                 is the default).
+
+                 _m_s_h supports an output redirection facility.  Commands 
may be  fol-
+                 lowed by one of
+
+                      > _f_i_l_e     write output to _f_i_l_e
+                      >> _f_i_l_e    append output to _f_i_l_e
+                      | _c_o_m_m_a_n_d  pipe output to UNIX 
_c_o_m_m_a_n_d
+
+                 If _f_i_l_e starts with a `~' (tilde), then a 
_c_s_h-like expansion  takes
+                 place.  Note that _c_o_m_m_a_n_d is interpreted by 
_s_h (1).  Also note that
+                 _m_s_h does NOT support history substitutions, variable 
substitutions,
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -63-                            
MSH(1)
+
+
+                 or alias substitutions.
+
+                 When parsing commands to the left of any  redirection  
symbol,  _m_s_h
+                 will honor `\' (back-slash) as the quote next-character 
symbol, and
+                 `"' (double-quote)  as  quote-word  delimiters.   All  other  
input
+                 tokens are separated by whitespace (spaces and tabs).
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /usr/local/lib/mh/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Msg-Protect:         To set mode when creating a new `file'
+                 fileproc:            Program to file messages
+                 showproc:            Program to show messages
+
+
+            _S_e_e _A_l_s_o
+                 bbc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to "./msgbox"
+                 `-prompt (msh) '
+                 `-noscan'
+                 `-notopcur'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MSH(1)                            -64-                            
MSH(1)
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _m_s_h.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+                 There is a strict limit of messages  per  file  in  
_p_a_c_k_f'd  format
+                 which _m_s_h can handle.  Usually, this limit is 1000 
messages.
+
+                 Please remember that _m_s_h is not the _C_S_h_e_l_l, 
and that a lot  of  the
+                 nice facilities provided by the latter are not present in the 
form-
+                 er.
+
+                 In particular, _m_s_h does not understand back-quoting,  
so  the  only
+                 effective  way  to  use  _p_i_c_k  inside  _m_s_h  is  
to  always  use the
+                 `-seq select' switch.  Clever users of _M_H will put the 
line
+
+                      pick: -seq select -list
+
+                 in their .mh_profile file so that _p_i_c_k works equally 
well from both
+                 the shell and _m_s_h.
+
+                 _s_o_r_t_m always uses "-noverbose" and if "-textfield 
field"  is  used,
+                 "-limit 0".
+
+                 The _m_s_h program inherits most (if not all) of the bugs 
from the  _M_H
+                 commands it implements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            NEXT(1)                           -65-                           
NEXT(1)
+
+
+            _N_A_M_E
+                 next - show the next message
+
+            _S_Y_N_O_P_S_I_S
+                 next [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _N_e_x_t performs a _s_h_o_w on the  next  message  
in  the  specified  (or
+                 current)  folder.  Like _s_h_o_w, it passes any switches 
on to the pro-
+                 gram _s_h_o_w_p_r_o_c, which is called to list the 
message.   This  command
+                 is  almost  exactly  equivalent to "show next".  Consult the 
manual
+                 entry for _s_h_o_w (1) for all the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 showproc:            Program to show the message
+
+
+            _S_e_e _A_l_s_o
+                 show(1), prev(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is specified, it will become the current  folder. 
  The
+                 message that is shown (i.e., the next message in sequence) 
will be-
+                 come the current message.
+
+
+            _B_u_g_s
+                 _n_e_x_t is really a link to the _s_h_o_w program.  
As  a  result,  if  you
+                 make  a  link  to  _n_e_x_t and that link is not called 
_n_e_x_t, your link
+                 will  act  like  _s_h_o_w  instead.   To   circumvent   
this,   add   a
+                 profile-entry  for the link to your _M_H profile and add 
the argument
+                 _n_e_x_t to the entry.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PACKF(1)                          -66-                          
PACKF(1)
+
+
+            _N_A_M_E
+                 packf - compress an MH folder into a single file
+
+            _S_Y_N_O_P_S_I_S
+                 packf [+folder] [msgs] [-file name] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_a_c_k_f takes messages from a folder and  copies  
them  to  a  single
+                 file.  Each message in the file is separated by four CTRL-A's 
and a
+                 newline.  Messages packed can be unpacked using _i_n_c.
+
+                 If the _n_a_m_e given to the `-file name' switch exists, 
then the  mes-
+                 sages  specified will be appended to the end of the file, 
otherwise
+                 the file will be created and the messages appended.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 .msgbox.map                         A binary index of the file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Msg-Protect:         To set mode when creating a new `file'
+
+
+            _S_e_e _A_l_s_o
+                 inc(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-file ./msgbox'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
first
+                 message packed will become the current message.
+
+
+            _B_u_g_s
+                 _P_a_c_k_f doesn't handle the old  UUCP-style  "mbox"  
format  (used  by
+                 _S_e_n_d_M_a_i_l).   To  pack  messages  into  this  
format, use the script
+                 
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/_p_a_c_k_m_b_o_x.  Note 
that _p_a_c_k_m_b_o_x does not  take  the
+                 `-file' option of _p_a_c_k_f, and instead writes its 
output on _s_t_d_o_u_t.
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -67-                           
PICK(1)
+
+
+            _N_A_M_E
+                 pick - select messages by content
+
+            _S_Y_N_O_P_S_I_S
+                 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+                      [-lbrace ... -rbrace] [--component pattern] [-cc pattern]
+                      [-date pattern] [-from pattern] [-search pattern]
+                      [-subject pattern] [-to pattern] [-after date] [-before 
date]
+                      [-datefield field] [-sequence name ...] [-public] 
[-nopublic]
+                      [-zero] [-nozero] [-list] [-nolist] [-help]
+
+                 typically:
+                      scan `pick -from jones`
+                      pick -to holloway -sequence select
+                      show `pick -before friday`
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_i_c_k searches messages within a folder for the 
specified  contents,
+                 and then identifies those messages.  Two types of search 
primitives
+                 are available: pattern matching and date constraint 
operations.
+
+                 A modified _g_r_e_p(1) is used to perform the  matching,  
so  the  full
+                 regular  expression  (see _e_d(1)) facility is available 
within `pat-
+                 tern'.  With `-search', `pattern' is used directly,  and  
with  the
+                 others, the grep pattern constructed is:
+
+                      "component[ \t]*:.*pattern"
+
+                 This means that the pattern specified for a `-search' will be 
found
+                 everywhere in the message, including the header and the body, 
while
+                 the other pattern matching  requests  are  limited  to  the  
single
+                 specified component.  The expression
+
+                      `--component pattern'
+
+                 is a shorthand for specifying
+
+                      `-search "component[ \t]*:.*pattern" '
+
+                 It is used to pick a component which is not one  of  "To:",  
"cc:",
+                 "Date:",     "From:",     or    "Subject:".     An    example 
   is
+                 `pick --reply-to pooh'.
+
+                 Pattern matching is performed on  a  per-line  basis.   
Within  the
+                 header  of the message, each component is treated as one long 
line,
+                 but in the body, each line is separate.  Lower-case letters 
in  the
+                 search  pattern  will  match either lower or upper case in 
the mes-
+                 sage, while upper case will match only upper case.
+
+                 Note that since the `-date' switch is a pattern matching  
operation
+                 (as  described  above), to find messages sent on a certain 
date the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -68-                           
PICK(1)
+
+
+                 pattern string must match the text of the "Date:" field of 
the mes-
+                 sage.
+
+                 Independent of  any  pattern  matching  operations  
requested,  the
+                 switches `-after date' or `-before date' may also be used to 
intro-
+                 duce date/time contraints on all of the messages.  By 
default,  the
+                 "Date:"  field  is  consulted,  but  if another date yielding 
field
+                 (such as "BB-Posted:" or  "Delivery-Date:")  should  be  
used,  the
+                 `-datefield field' switch may be used.
+
+                 With `-before' and `-after', _p_i_c_k  will  actually  
parse  the  date
+                 fields in each of the messages specified in `msgs' and 
compare them
+                 to the date/time specified.  If `-after' is given, then only  
those
+                 messages  whose  "Date:"  field  value is chronologically 
after the
+                 date specified will be considered.  The `-before' switch  
specifies
+                 the complimentary action.
+
+                 Both the `-after' and `-before' switches take legal 822-style 
 date
+                 specifications  as  arguments.   _P_i_c_k  will default 
certain missing
+                 fields so that the entire date need not be specified.  These 
fields
+                 are  (in  order  of defaulting): timezone, time and timezone, 
date,
+                 date and timezone.  All defaults are taken from the  current  
date,
+                 time, and timezone.
+
+                 In addition to 822-style dates, _p_i_c_k will also 
recognize any of the
+                 days  of  the week ("sunday", "monday", and so on), and the 
special
+                 dates "today", "yesterday" (24 hours ago), and "tomorrow" (24 
hours
+                 from  now).   All  days of the week are judged to refer to a 
day in
+                 the past (e.g.,  telling  _p_i_c_k  "saturday"  on  a  
"tuesday"  means
+                 "last saturday" not "this saturday").
+
+                 Finally, in addition to these  special  specifications,  
_p_i_c_k  will
+                 also  honor a specification of the form "-dd", which means 
"dd days
+                 ago".
+
+                 _P_i_c_k supports complex boolean operations on  the  
searching  primi-
+                 tives  with  the  `-and',  `-or', `-not', and `-lbrace ... 
-rbrace'
+                 switches.  For example,
+
+                      pick -after yesterday -and
+                           -lbrace -from freida -or -from fear -rbrace
+
+                 identifies messages recently sent by "frieda" or "fear".
+
+                 The matching primitives take precedence  over  the  `-not'  
switch,
+                 which in turn takes precedence over `-and' which in turn 
takes pre-
+                 cedence over  `-or'.   To  override  the  default  
precedence,  the
+                 `-lbrace'  and `-rbrace' switches are provided, which act 
just like
+                 opening and closing parentheses in logical expressions.
+
+                 If no search criteria are given, all the messages specified 
on  the
+                 command line are selected (this defaults to "all").
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -69-                           
PICK(1)
+
+
+                 Once the search has been performed, if the `-list' switch is 
given,
+                 the  message  numbers  of  the selected messages are written 
to the
+                 standard output separated by newlines.  This  is  
_e_x_t_r_e_m_e_l_y  useful
+                 for quickly generating arguments for other _M_H programs by 
using the
+                 "backquoting" syntax of the shell.  For example, the command
+
+                      scan `pick +todo -after "31 Mar 83 0123 PST"`
+
+                 says to _s_c_a_n those messages in the indicated folder 
which meet  the
+                 appropriate criterion.  Note that since _p_i_c_k 's 
context changes are
+                 written out prior to _s_c_a_n 's invocation,  you  need  
not  give  the
+                 folder argument to _s_c_a_n as well.
+
+                 Regardless of the operation of the `-list' switch,  the  
`-sequence
+                 name' switch may be given once for each sequence the user 
wishes to
+                 define.  For each sequence named, that sequence will be 
defined  to
+                 mean exactly those messages selected by _p_i_c_k.  For 
example,
+
+                      pick -from frated -seq fred
+
+                 defines a new message sequence for the current folder called 
"fred"
+                 which contains exactly those messages that were selected.
+
+                 Note that whenever _p_i_c_k processes  a  `-sequence 
name'  switch,  it
+                 sets `-nolist'.
+
+                 By default, _p_i_c_k will zero the sequence  before  
adding  it.   This
+                 action  can be disabled with the `-nozero' switch, which 
means that
+                 the messages selected by _p_i_c_k will be added to the 
sequence, if  it
+                 already  exists,  and  any messages already a part of that 
sequence
+                 will remain so.
+
+                 The `-public' and `-nopublic' switches are used by 
_p_i_c_k in the same
+                 way _m_a_r_k uses them.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 mark(1)
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -70-                           
PICK(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-datefield date'
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-zero'
+                 `-list' is the default if no `-sequence', `-nolist' otherwise
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the _p_i_c_k command 
would _s_h_o_w,  _s_c_a_n,  or
+                 _r_e_f_i_l_e  the  selected  messages.   This was 
rather "inverted logic"
+                 from the UNIX point of view, so _p_i_c_k  was  changed  
to  define  se-
+                 quences  and  output  those  sequences.  Hence, _p_i_c_k 
can be used to
+                 generate the arguments for all other _M_H commands, instead 
of giving
+                 _p_i_c_k endless switches for invoking those commands 
itself.
+
+                 Also, previous versions of _p_i_c_k balked  if  you  
didn't  specify  a
+                 search  string or a date/time constraint.  The current 
version does
+                 not, and merely matches the messages you specify.   This  
lets  you
+                 type something like:
+
+                      show `pick last:20 -seq fear`
+
+                 instead of typing
+
+                      mark -add -nozero -seq fear last:20
+                      show fear
+
+                 Finally, timezones used to be ignored when  comparing  dates: 
 they
+                 aren't any more.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 Use "pick sequence -list" to enumerate the messages in  a  
sequence
+                 (such as for use by a shell script).
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PICK(1)                           -71-                           
PICK(1)
+
+
+            _B_u_g_s
+                 The argument to the `-after' and `-before' switches must be  
inter-
+                 preted  as  a  single token by the shell that invokes 
_p_i_c_k.  There-
+                 fore, one must usually place the argument  to  this  switch  
inside
+                 double-quotes.  Furthermore, any occurance of `-datefield' 
must oc-
+                 cur prior to the `-after' or `-before' switch it applies to.
+
+                 If _p_i_c_k is used in a back-quoted operation, such as
+
+                      scan `pick -from jones`
+
+                 and _p_i_c_k selects no messages (e.g., no messages are 
from  "jones"),
+                 then  the  shell  will  still run the outer command (e.g., 
"scan").
+                 Since no messages were matched, _p_i_c_k produced no  
output,  and  the
+                 argument given to the outer command as a result of 
backquoting _p_i_c_k
+                 is empty.  In the case of _M_H programs, the outer command  
now  acts
+                 as  if  the  default `msg' or `msgs' should be used (e.g., 
"all" in
+                 the case of  _s_c_a_n ).   To  prevent  this  unexpected  
behavior,  if
+                 `-list'  was  given,  and if its standard output is not a 
tty, then
+                 _p_i_c_k outputs the illegal message number "0" when  it  
fails.   This
+                 lets the outer command fail gracefully as well.
+
+                 The pattern syntax "[l-r]" is not  supported;  each  letter  
to  be
+                 matched must be included within the square brackets.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PREV(1)                           -72-                           
PREV(1)
+
+
+            _N_A_M_E
+                 prev - show the previous message
+
+            _S_Y_N_O_P_S_I_S
+                 prev [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [-switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_r_e_v performs a _s_h_o_w on the previous message 
in the  specified  (or
+                 current)  folder.  Like _s_h_o_w, it passes any switches 
on to the pro-
+                 gram named by _s_h_o_w_p_r_o_c, which is called to 
list the message.   This
+                 command  is  almost exactly equivalent to "show prev".  
Consult the
+                 manual entry for _s_h_o_w (1) for all the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 showproc:            Program to show the message
+
+
+            _S_e_e _A_l_s_o
+                 show(1), next(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is specified, it will become the current  folder. 
  The
+                 message that is shown (i.e., the previous message in 
sequence) will
+                 become the current message.
+
+
+            _B_u_g_s
+                 _p_r_e_v is really a link to the _s_h_o_w program.  
As  a  result,  if  you
+                 make  a  link  to  _p_r_e_v and that link is not called 
_p_r_e_v, your link
+                 will  act  like  _s_h_o_w  instead.   To   circumvent   
this,   add   a
+                 profile-entry  for the link to your _M_H profile and add 
the argument
+                 _p_r_e_v to the entry.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -73-                       
PROMPTER(1)
+
+
+            _N_A_M_E
+                 prompter - prompting editor front-end for MH
+
+            _S_Y_N_O_P_S_I_S
+                 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] 
[-rapid]
+                      [-norapid] [-doteof] [-nodoteof] file [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 This program is normally not invoked directly by  users  but  
takes
+                 the  place  of  an  editor  and  acts  as  an editor 
front-end.  It
+                 operates on an 822-style message draft skeleton specified by  
file,
+                 normally provided by _c_o_m_p, _d_i_s_t, 
_f_o_r_w, or _r_e_p_l.
+
+                 _P_r_o_m_p_t_e_r is an editor which allows rapid 
composition  of  messages.
+                 It  is particularly useful to network and low-speed (less 
than 2400
+                 baud) users of _M_H.  It is an _M_H program in that it 
can have its own
+                 profile  entry with switches, but it is not invoked directly 
by the
+                 user.  The commands _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l invoke  _p_r_o_m_p_t_e_r  as
+                 an  editor,  either when invoked with `-editor prompter', or 
by the
+                 profile  entry  "Editor: prompter",  or  when  given  the   
command
+                 `edit prompter' at "What now?" level.
+
+                 For each empty component _p_r_o_m_p_t_e_r finds in 
the draft, the  user  is
+                 prompted  for a response; A <RETURN> will cause the whole 
component
+                 to be left out.  Otherwise, a `\' preceding a  <RETURN>  will 
 con-
+                 tinue  the  response  on the next line, allowing for 
multiline com-
+                 ponents.  Continuation lines must begin with a space or tab.
+
+                 Each non-empty component is copied to the draft  and  
displayed  on
+                 the terminal.
+
+                 The start of the message body is denoted by a blank line or a 
 line
+                 of dashes.  If the body is non-empty, the prompt, which isn't 
writ-
+                 ten to the file, is
+
+                     "--------Enter additional text",
+
+                 or (if `-prepend' was given)
+
+                     "--------Enter initial text".
+
+                 Message-body typing is  terminated  with  an  end-of-file  
(usually
+                 CTRL-D).   With  the  `-doteof'  switch,  a period on a line 
all by
+                 itself also  signifies  end-of-file.   At  this  point  
control  is
+                 returned  to  the  calling  program,  where the user is asked 
"What
+                 now?".  See _w_h_a_t_n_o_w for the valid options to 
this query.
+
+                 By using the `-prepend' switch, the user can  add  type-in  
to  the
+                 beginning of the message body and have the rest of the body 
follow.
+                 This is useful for the _f_o_r_w command.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -74-                       
PROMPTER(1)
+
+
+                 By using the `-rapid' switch, if the draft already contains 
text in
+                 the message-body, it is not displayed on the user's terminal. 
 This
+                 is useful for low-speed terminals.
+
+                 The line editing characters for kill and erase may be 
specified  by
+                 the  user via the arguments `-kill chr' and `-erase chr', 
where chr
+                 may be a character; or `\nnn', where "nnn" is the octal  
value  for
+                 the character.
+
+                 An interrupt (usually CTRL-C) during component  typing  will  
abort
+                 _p_r_o_m_p_t_e_r  and  the _M_H command that 
invoked it.  An interrupt during
+                 message-body typing is equivalent to CTRL-D,  for  historical 
 rea-
+                 sons.  This means that _p_r_o_m_p_t_e_r should finish 
up and exit.
+
+                 The first non-flag argument to _p_r_o_m_p_t_e_r is 
taken as the name of the
+                 draft file, and subsequent non-flag arguments are ignored.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /tmp/prompter*                      Temporary copy of message
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 prompter-next:       To name the editor to be  used  on  exit 
 from
+                 _p_r_o_m_p_t_e_r
+                 Msg-Protect:         To set mode when creating a new draft
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), repl(1), whatnow(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prepend'
+                 `-norapid'
+                 `-nodoteof'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 The  `-rapid'  option  is  particularly  useful  with   
_f_o_r_w,   and
+                 `-noprepend' is useful with _c_o_m_p -_u_s_e.
+
+                 The user may wish to link _p_r_o_m_p_t_e_r under 
several names (e.g.,  "ra-
+                 pid")  and  give  appropriate switches in the profile entries 
under
+                 these names (e.g., "rapid:  -rapid").   This  facilitates  
invoking
+                 prompter  differently for different _M_H commands (e.g., 
"forw: -edi-
+                 tor rapid").
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            PROMPTER(1)                       -75-                       
PROMPTER(1)
+
+
+            _B_u_g_s
+                 _P_r_o_m_p_t_e_r uses _s_t_d_i_o (3), so it will 
lose if  you  edit  files  with
+                 nulls in them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RCVSTORE(1)                       -76-                       
RCVSTORE(1)
+
+
+            _N_A_M_E
+                 rcvstore - incorporate new mail asynchronously
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
+                      [-sequence name ...] [-public] [-nopublic] [-zero] 
[-nozero]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_c_v_s_t_o_r_e incorporates a message from the 
standard input into an  _M_H
+                 folder.   If  `+folder'  isn't specified, a folder in the 
user's _M_H
+                 directory will be used, either that specified by the "Inbox:" 
entry
+                 in  the  user's profile, or the folder named "inbox".  The 
new mes-
+                 sage being incorporated is assigned the next highest number 
in  the
+                 folder.   If  the specified (or default) folder doesn't 
exist, then
+                 it will be created if the `-create' option is specified,  
otherwise
+                 _r_c_v_s_t_o_r_e will exit.
+
+                 If the user's profile contains a "Msg-Protect: nnn" entry, it 
 will
+                 be  used as the protection on the newly created messages, 
otherwise
+                 the _M_H default of 0644 will be used.  During all 
operations on mes-
+                 sages,  this  initially  assigned  protection will be 
preserved for
+                 each message, so _c_h_m_o_d(1) may be used to set  a  
protection  on  an
+                 individual   message,   and   its   protection  will  be  
preserved
+                 thereafter.
+
+                 _R_c_v_s_t_o_r_e will incorporate anything except 
zero length messages into
+                 the user's MH folder.
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+                 then  _r_c_v_s_t_o_r_e  will  add  the  newly  
incorporated message to each
+                 sequence named by the  profile  entry.   This  is  similar  
to  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.  Note that 
_r_c_v_s_t_o_r_e will  not
+                 zero each sequence prior to adding messages.
+
+                 Furthermore, the incoming messages may  be  added  to  
user-defined
+                 sequences  as  they  arrive  by  appropriate use of the 
`-sequence'
+                 option.  As with _p_i_c_k, use of the `-zero'  and  
`-nozero'  switches
+                 can  also  be used to zero old sequences or not.  Similarly, 
use of
+                 the `-public' and `-nopublic switches may be used  to  force  
addi-
+                 tions to public and private sequences.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RCVSTORE(1)                       -77-                       
RCVSTORE(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Folder-Protect:      To set mode when creating a new folder
+                 Inbox:               To find the default inbox
+                 Msg-Protect:         To set mode when creating a new message
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), pick(1), mh-mail(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to "inbox"
+                 `-create'
+                 `-nopublic' if the folder is read-only, `-public' otherwise
+                 `-nozero'
+
+
+            _C_o_n_t_e_x_t
+                 No context changes will be attempted, with  the  exception  
of  se-
+                 quence manipulation.
+
+
+            _B_u_g_s
+                 If you use the "Unseen-Sequence" profile entry, 
_r_c_v_s_t_o_r_e could  try
+                 to update the context while another _M_H process is also 
trying to do
+                 so.  This can cause the context  to  become  corrupted.   To  
avoid
+                 this,  do not use _r_c_v_s_t_o_r_e if you use the 
"Unseen-Sequence" profile
+                 entry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REFILE(1)                         -78-                         
REFILE(1)
+
+
+            _N_A_M_E
+                 refile - file message in other folders
+
+            _S_Y_N_O_P_S_I_S
+                 refile [msgs] [-draft] [-link] [-nolink] [-preserve] 
[-nopreserve]
+                      [-src +folder] [-file file] [-rmmproc program] 
[-normmproc]
+                      +folder ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_e_f_i_l_e moves (_m_v (1)) or links  (_l_n (1))  
messages  from  a  source
+                 folder  into  one  or  more destination folders.  If you 
think of a
+                 message as a sheet of paper, this operation is  not  unlike  
filing
+                 the  sheet  of  paper  (or copies) in file cabinet folders.  
When a
+                 message is filed, it is linked into the  destination  
folder(s)  if
+                 possible,  and  is  copied  otherwise.   As long as the 
destination
+                 folders are all on the same file  system,  multiple  filing  
causes
+                 little  storage  overhead.   This  facility  provides a good 
way to
+                 cross-file or multiply-index messages.  For example, if  a  
message
+                 is received from Jones about the ARPA Map Project, the command
+
+                      refile cur +jones +Map
+
+                 would allow the message to be found in either of  the  two  
folders
+                 `jones' or `Map'.
+
+                 The option `-file file' directs _r_e_f_i_l_e to use the 
specified file as
+                 the  source  message  to  be  filed,  rather  than a message 
from a
+                 folder.  Note that the file should be a validly formatted  
message,
+                 just like any other _M_H message.  It should NOT be in mail 
drop for-
+                 mat (to convert a file in mail drop format to a folder of  
_M_H  mes-
+                 sages, see _i_n_c (1)).
+
+                 If a destination folder doesn't exist, _r_e_f_i_l_e 
will ask if you  want
+                 to  create  it.  A negative response will abort the file 
operation.
+                 If the standard input for _r_e_f_i_l_e is _n_o_t a 
tty, then _r_e_f_i_l_e will not
+                 ask any questions and will proceed as if the user answered 
"yes" to
+                 all questions.
+
+                 The option `-link' preserves the source folder copy of the  
message
+                 (i.e.,  it  does  a  _l_n(1) rather than a _m_v(1)), 
whereas, `-nolink'
+                 deletes the filed messages from the source folder.  Normally, 
 when
+                 a  message  is filed, it is assigned the next highest number 
avail-
+                 able in each of the destination folders.  Use  of  the  
`-preserve'
+                 switch  will override this message renaming, but name 
conflicts may
+                 occur, so use this switch cautiously.
+
+                 If `-link' is not specified (or `-nolink' is specified), the  
filed
+                 messages  will  be removed from the source folder, by 
renaming them
+                 with a site-dependent prefix (usually a comma).
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REFILE(1)                         -79-                         
REFILE(1)
+
+
+                 If the user has a profile component such as
+
+                         rmmproc:        /bin/rm
+
+                 then _r_e_f_i_l_e will instead call the named program 
to delete the  mes-
+                 sage files.  The user may specify `-rmmproc program' on the 
command
+                 line to override  this  profile  specification.   The  
`-normmproc'
+                 option  forces  the message files to be deleted by renaming 
them as
+                 described above.
+
+                 The `-draft' switch tells _r_e_f_i_l_e to file the 
<mh-dir>/draft.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Folder-Protect:      To set mode when creating a new folder
+                 rmmproc:             Program to delete the message
+
+
+            _S_e_e _A_l_s_o
+                 folder(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-src +folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-nolink'
+                 `-nopreserve'
+
+
+            _C_o_n_t_e_x_t
+                 If `-src +folder' is given, it will become the current 
folder.   If
+                 neither  `-link' nor `all' is specified, the current message 
in the
+                 source folder will be set to the last message specified; 
otherwise,
+                 the current message won't be changed.
+
+                 If the Previous-Sequence profile entry is set, in addition  
to  de-
+                 fining the named sequences from the source folder, 
_r_e_f_i_l_e will also
+                 define  those  sequences  for   the   destination   folders.  
  See
+                 _m_h-_s_e_q_u_e_n_c_e (5) for information 
concerning the previous sequence.
+
+
+            _B_u_g_s
+                 Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to 
delete the message,  the  _r_m_m_p_r_o_c
+                 must  NOT  call _r_e_f_i_l_e without specifying 
`-normmproc', or you will
+                 create an infinte loop.
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -80-                           
REPL(1)
+
+
+            _N_A_M_E
+                 repl - reply to a message
+
+            _S_Y_N_O_P_S_I_S
+                 repl [+folder] [msg] [-annotate] [-noannotate] [-cc 
all/to/cc/me]
+                      [-nocc all/to/cc/me] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-editor editor]
+                      [-noedit] [-fcc +folder] [-filter filterfile] [-form 
formfile]
+                      [-inplace] [-noinplace] [-query] [-noquery] [-width 
columns]
+                      [-whatnowproc program] [-nowhatnowproc] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_e_p_l aids a user in producing a reply to an existing 
message.  _R_e_p_l
+                 uses  a  reply  template to guide its actions when 
constructing the
+                 message draft of the reply.  In its simplest form  (with  no  
argu-
+                 ments),  it  will  set  up  a message-form skeleton in reply 
to the
+                 current message in the  current  folder,  and  invoke  the  
whatnow
+                 shell.   The  default  reply template will direct 
_r_e_p_l to construct
+                 the composed message as follows:
+
+                      To: <Reply-To> or <From>
+                      cc: <cc>, <To>, and yourself
+                      Subject: Re: <Subject>
+                      In-reply-to: Your message of <Date>.
+                                   <Message-Id>
+
+                 where field names enclosed in angle  brackets  (< >)  
indicate  the
+                 contents  of the named field from the message to which the 
reply is
+                 being made.  A  reply  template  is  simply  a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 The `-cc type' switch takes an argument which  specifies  who 
 gets
+                 placed  on  the "cc:" list of the reply.  The `-query' switch 
modi-
+                 fies the action of `-cc type' switch by interactively asking 
you if
+                 each  address  that normally would be placed in the "To:" and 
"cc:"
+                 list  should  actually  be  sent  a  copy.   (This  is  
useful  for
+                 special-purpose  replies.)  Note that the position of the 
`-cc' and
+                 `-nocc' switches, like all other switches which take a 
positive and
+                 negative form, is important.
+
+                 Lines beginning with the fields "To:", "cc:", and  "Bcc:"  
will  be
+                 standardized  and  have  duplicate addresses removed.  In 
addition,
+                 the `-width columns' switch will guide _r_e_p_l's 
formatting  of  these
+                 fields.
+
+                 If the file named "replcomps" exists in the user's MH 
directory, it
+                 will be used instead of the default form.  In either case, 
the file
+                 specified by `-form formfile' will be used if given.
+
+                 If the draft already exists, _r_e_p_l will ask you as to  
the  disposi-
+                 tion  of  the  draft.  A reply of quit will abort 
_r_e_p_l, leaving the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -81-                           
REPL(1)
+
+
+                 draft intact; replace will replace the existing draft with a  
blank
+                 skeleton; and list will display the draft.
+
+                 See _c_o_m_p (1) for a  description  of  the  `-editor'  
and  `-noedit'
+                 switches.  Note that while in the editor, the message being 
replied
+                 to is available through a link  named  "@"  (assuming  the  
default
+                 _w_h_a_t_n_o_w_p_r_o_c ).   In addition, the 
actual pathname of the message is
+                 stored in the envariable $editalt, and the pathname of  the  
folder
+                 containing the message is stored in the envariable $mhfolder.
+
+                 Although _r_e_p_l uses the `-form formfile' switch to 
direct it how  to
+                 construct  the  beginning  of  the  draft, the `-filter 
filterfile'
+                 switch directs _r_e_p_l as to how the message being  
replied-to  should
+                 be  formatted in the body of the draft.  If `-filter' is not 
speci-
+                 fied, then the message being replied-to is not included in 
the body
+                 of  the draft.  If `-filter filterfile' is specified, then 
the mes-
+                 sage being replied-to is filtered  (re-formatted)  prior  to  
being
+                 output  to  the body of the draft.  The filter file for 
_r_e_p_l should
+                 be a standard form file for _m_h_l, as _r_e_p_l will 
invoke _m_h_l to  format
+                 the  message  being replied-to.  There is no default message 
filter
+                 (`-filter' must be followed by a file name).  A filter file 
that is
+                 commonly used is:
+
+                      :
+                      body:nocomponent,compwidth=9,offset=9
+
+                 which says to output a blank line and then the body of the  
message
+                 being replied-to, indented by one tab-stop.  Another format 
popular
+                 on USENET is:
+
+
+                      message-id:nocomponent,nonewline,\
+                      formatfield="In message %{text}, "
+                      from:nocomponent,formatfield="%(friendly{text}) writes:"
+                      body:component=">",overflowtext=">",overflowoffset=0
+
+                 Which  cites  the  Message-ID  and  author  of  the  message  
being
+                 replied-to,  and  then  outputs each line of the body 
prefaced with
+                 the ">" character.
+
+                 If the `-annotate' switch is given, the  message  being  
replied-to
+                 will be annotated with the lines
+
+                      Replied: date
+                      Replied: addrs
+
+                 where the address list contains one line for each  addressee. 
  The
+                 annotation  will  be done only if the message is sent 
directly from
+                 _r_e_p_l.   If  the  message  is  not  sent  immediately  
 from   _r_e_p_l,
+                 "comp -use"  may  be  used to re-edit and send the 
constructed mes-
+                 sage, but the annotations won't take place.  The `-inplace'  
switch
+                 causes annotation to be done in place in order to preserve 
links to
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -82-                           
REPL(1)
+
+
+                 the annotated message.
+
+                 The `-fcc +folder' switch can be used to  automatically  
specify  a
+                 folder  to  receive Fcc:s.  More than one folder, each 
preceeded by
+                 `-fcc' can be named.
+
+                 In addition to the standard _m_h-_f_o_r_m_a_t (5) 
escapes, _r_e_p_l also recog-
+                 nizes the following additional _c_o_m_p_o_n_e_n_t 
escape:
+
+                 _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 _f_c_c     string   Any folders specified with `-fcc 
folder'
+
+                 To avoid reiteration, _r_e_p_l strips any leading `Re: '  
strings  from
+                 the _s_u_b_j_e_c_t component.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 Upon exiting from the editor, _r_e_p_l will invoke the 
_w_h_a_t_n_o_w program.
+                 See _w_h_a_t_n_o_w (1) for a discussion of available 
options.  The invoca-
+                 tion of this program can be inhibited by using the 
`-nowhatnowproc'
+                 switch.   (In truth of fact, it is the _w_h_a_t_n_o_w 
program which starts
+                 the initial edit.  Hence, `-nowhatnowproc' will  prevent  any 
 edit
+                 from occurring.)
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/replcomps         The reply template
+                 or <mh-dir>/replcomps               Rather than the standard 
template
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/draft                      The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Current-Folder:      To find the default current folder
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 Msg-Protect:         To  set  mode  when  creating  a  new  
message
+                 (draft)
+                 fileproc:            Program to refile the message
+                 mhlproc:             Program to filter message being 
replied-to
+                 whatnowproc:         Program to ask the "What now?" questions
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), send(1), whatnow(1), mh-format(5)
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            REPL(1)                           -83-                           
REPL(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msg' defaults to cur
+                 `-nocc all' at ATHENA sites, `-cc all' otherwise
+                 `-noannotate'
+                 `-nodraftfolder'
+                 `-noinplace'
+                 `-noquery'
+                 `-width 72'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 mes-
+                 sage replied-to will become the current message.
+
+
+            _H_i_s_t_o_r_y
+                 Prior to using the format string  mechanism,  `-noformat'  
used  to
+                 cause  address  headers to be output as-is.  Now all address 
fields
+                 are formatted using Internet standard guidelines.
+
+
+            _B_u_g_s
+                 If any addresses occur in the reply template, addresses in 
the tem-
+                 plate that do not contain hosts are defaulted incorrectly.  
Instead
+                 of using the localhost for the  default,  _r_e_p_l  uses  
the  sender's
+                 host.   Moral of the story: if you're going to include 
addresses in
+                 a reply template, include the host portion of the address.
+
+                 The `-width columns' switch is only  used  to  do  
address-folding;
+                 other headers are not line-wrapped.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _r_e_p_l uses a  built-in  
_w_h_a_t_n_o_w,  it
+                 does  not  actually  run the _w_h_a_t_n_o_w program.  
Hence, if you define
+                 your own _w_h_a_t_n_o_w_p_r_o_c, don't call it 
_w_h_a_t_n_o_w since  _r_e_p_l  won't  run
+                 it.
+
+                 If your current working directory is not writable, the  link  
named
+                 "@" is not available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMF(1)                            -84-                            
RMF(1)
+
+
+            _N_A_M_E
+                 rmf - remove an MH folder
+
+            _S_Y_N_O_P_S_I_S
+                 rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_m_f removes all of the messages (files) within  the  
specified  (or
+                 default)  folder,  and  then removes the folder (directory) 
itself.
+                 If there are any files within the folder which are not  a  
part  of
+                 _M_H,  they  will  _n_o_t be removed, and an error will 
be produced.  If
+                 the folder is given explicitly or the  `-nointeractive'  
option  is
+                 given,  then the folder will be removed without confirmation. 
 Oth-
+                 erwise, the user will be asked for confirmation.  If 
_r_m_f can't find
+                 the  current  folder,  for  some  reason,  the folder to be 
removed
+                 defaults to `+inbox' (unless overridden  by  user's  profile  
entry
+                 "Inbox") with confirmation.
+
+                 _R_m_f irreversibly deletes messages that don't have other 
 links,  so
+                 use it with caution.
+
+                 If the folder being removed is a subfolder, the parent folder 
 will
+                 become  the new current folder, and _r_m_f will produce a 
message tel-
+                 ling the user this has happened.  This provides an  easy  
mechanism
+                 for selecting a set of messages, operating on the list, then 
remov-
+                 ing the list and returning to the current  folder  from  
which  the
+                 list was extracted.
+
+                 _R_m_f of a read-only folder will delete the private 
sequence and  cur
+                 information  (i.e.,  "atr-_s_e_q-_f_o_l_d_e_r"  
entries)  from  the  profile
+                 without affecting the folder itself.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Inbox:               To find the default inbox
+
+
+            _S_e_e _A_l_s_o
+                 rmm(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder, usually with 
confirmation
+                 `-interactive' if +folder' not given, `-nointeractive' 
otherwise
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMF(1)                            -85-                            
RMF(1)
+
+
+            _C_o_n_t_e_x_t
+                 _R_m_f will set the current folder to the parent folder if 
a subfolder
+                 is  removed; or if the current folder is removed, it will 
make "in-
+                 box" current.  Otherwise, it doesn't change the current  
folder  or
+                 message.
+
+
+            _B_u_g_s
+                 Although intuitively one would suspect that _r_m_f works  
recursively,
+                 it  does  not.   Hence if you have a sub-folder within a 
folder, in
+                 order to _r_m_f the parent, you must first _r_m_f each 
of the children.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMM(1)                            -86-                            
RMM(1)
+
+
+            _N_A_M_E
+                 rmm - remove messages
+
+            _S_Y_N_O_P_S_I_S
+                 rmm [+folder] [msgs] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _R_m_m removes the specified messages by renaming  the  
message  files
+                 with preceding commas.  Many sites consider files that start 
with a
+                 comma to be a temporary backup, and arrange for _c_r_o_n 
(8) to  remove
+                 such files once a day.
+
+                 If the user has a profile component such as
+
+                         rmmproc:        /bin/rm
+
+                 then instead of simply renaming the message file, _r_m_m 
will call the
+                 named program to delete the file.  Note that at most 
installations,
+                 _c_r_o_n (8) is told to remove files that begin with  a  
comma  once  a
+                 night.
+
+                 Some users of csh prefer the following:
+
+                         alias rmm 'refile +d'
+
+                 where folder +d is a folder for deleted messages, and
+
+                         alias mexp 'rm `mhpath +d all`'
+
+                 is used to "expunge" deleted messages.
+
+                 The current message is not changed by _r_m_m, so a 
_n_e_x_t  will  advance
+                 to the next message in the folder as expected.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 rmmproc:             Program to delete the message
+
+
+            _S_e_e _A_l_s_o
+                 rmf(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            RMM(1)                            -87-                            
RMM(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _B_u_g_s
+                 Since _r_e_f_i_l_e uses your _r_m_m_p_r_o_c to 
delete the message,  the  _r_m_m_p_r_o_c
+                 must  NOT  call _r_e_f_i_l_e without specifying 
`-normmproc', or you will
+                 create an infinte loop.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                           -88-                           
SCAN(1)
+
+
+            _N_A_M_E
+                 scan - produce a one line per message scan listing
+
+            _S_Y_N_O_P_S_I_S
+                 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+                      [-format string] [-header] [-noheader] [-width columns]
+                      [-reverse] [-noreverse] [-file filename] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_c_a_n produces a one-line-per-message listing of the 
specified  mes-
+                 sages.   Each  _s_c_a_n  line  contains  the message 
number (name), the
+                 date, the "From:" field, the "Subject" field, and, if room  
allows,
+                 some of the body of the message.  For example:
+
+                      15+  7/ 5  Dcrocker  nned  <<Last week I asked some of
+                      16 - 7/ 5  dcrocker  message id format  <<I recommend
+                      18   7/ 6  Obrien    Re: Exit status from mkdir
+                      19   7/ 7  Obrien    "scan" listing format in MH
+
+                 The `+' on message 15 indicates that it  is  the  current  
message.
+                 The  `-'  on  message  16 indicates that it has been replied 
to, as
+                 indicated by a "Replied:"  component  produced  by  an  
`-annotate'
+                 switch to the _r_e_p_l command.
+
+                 If there is sufficient room left on the _s_c_a_n line  
after  the  sub-
+                 ject,  the line will be filled with text from the body, 
preceded by
+                 <<, and terminated by >> if the body is sufficiently  short.  
 _S_c_a_n
+                 actually  reads  each  of the specified messages and parses 
them to
+                 extract the desired fields.  During parsing, appropriate 
error mes-
+                 sages  will  be  produced  if there are format errors in any 
of the
+                 messages.
+
+                 The `-header' switch produces a header line prior to the 
_s_c_a_n list-
+                 ing.   Currently,  the  name of the folder and the current 
date and
+                 time are output (see the HISTORY section for more 
information).
+
+                 If the `-clear' switch is used and _s_c_a_n'_s output is 
directed  to  a
+                 terminal, then _s_c_a_n will consult the $TERM and 
$TERMCAP envariables
+                 to determine your terminal type in order to find out how  to  
clear
+                 the  screen  prior  to exiting.  If the `-clear' switch is 
used and
+                 _s_c_a_n'_s output is not directed to a terminal  (e.g., 
 a  pipe  or  a
+                 file), then _s_c_a_n will send a formfeed prior to 
exiting.
+
+                 For example, the command:
+
+                      (scan -clear -header; show all -show pr -f) | lpr
+
+                 produces a scan listing  of  the  current  folder,  followed  
by  a
+                 formfeed,  followed  by  a formatted listing of all messages 
in the
+                 folder, one per page.  Omitting `-show pr -f' will cause  the 
 mes-
+                 sages  to  be  concatenated, separated by a one-line header 
and two
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                           -89-                           
SCAN(1)
+
+
+                 blank lines.
+
+                 If _s_c_a_n encounters a message without a "Date:" field, 
 rather  than
+                 leaving  that  portion  of  the  scan  listing  blank,  the 
date is
+                 filled-in with the last write date of the message,  and  
post-fixed
+                 with  a  `*'.   This  is  particularly  handy  for scanning a 
_d_r_a_f_t
+                 _f_o_l_d_e_r, as message drafts usually aren't allowed 
to have  dates  in
+                 them.
+
+                 To override the output format used by _s_c_a_n, the 
`-format string' or
+                 `-form file'  switches are used.  This permits individual 
fields of
+                 the scan listing to be extracted with ease.  The string is 
simply a
+                 format   string  and  the  file  is  simply  a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 In addition to the standard _m_h-_f_o_r_m_a_t (5) 
escapes, _s_c_a_n also recog-
+                 nizes the following additional _c_o_m_p_o_n_e_n_t 
escapes:
+
+                 _E_s_c_a_p_e    _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 body      string   the (compressed) first part of the body
+                 dtimenow  date     the current date
+                 folder    string   the name of the current folder
+
+                 Also, if no date header was present in the  message,  the  
_f_u_n_c_t_i_o_n
+                 escapes  which operate on {_d_a_t_e} will return values 
for the date of
+                 last modification of the message file itself.
+
+                 _s_c_a_n will update the _M_H context prior to starting 
the  listing,  so
+                 interrupting  a  long  _s_c_a_n  listing preserves the 
new context.  _M_H
+                 purists hate this idea.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Alternate-Mailboxes: To determine the user's mailboxes
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 inc(1), pick(1), show(1), mh-format(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the folder current
+                 `msgs' defaults to all
+                 `-format' defaulted as described above
+                 `-noheader'
+                 `-width' defaulted to the width of the terminal
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SCAN(1)                           -90-                           
SCAN(1)
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.
+
+
+            _H_i_s_t_o_r_y
+                 Prior to using the format string mechanism, `-header' used to 
 gen-
+                 erate a heading saying what each column in the listing was.  
Format
+                 strings prevent this from happening.
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _s_c_a_n.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+                 The value of each _c_o_m_p_o_n_e_n_t escape is set 
by _s_c_a_n to  the  contents
+                 of  the first message header _s_c_a_n encounters with the 
corresponding
+                 component name; any following headers with the same component 
 name
+                 are ignored.
+
+                 The switch `-reverse', makes _s_c_a_n list the messages 
in reverse ord-
+                 er; this should be considered a bug.
+
+                 The `-file filename' switch allows the user to obtain a 
_s_c_a_n  list-
+                 ing of a maildrop file as produced by _p_a_c_k_f.  This 
listing includes
+                 every message in the file.  The user should use _m_s_h for 
more selec-
+                 tive  processing  of the file.  `-reverse' is ignored with 
this op-
+                 tion.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                           -91-                           
SEND(1)
+
+
+            _N_A_M_E
+                 send - send a message
+
+            _S_Y_N_O_P_S_I_S
+                 send [-alias aliasfile] [-draft] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+                      [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] 
[-noverbose]
+                      [-watch] [-nowatch] [-width columns] [file ...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_e_n_d will cause each of the specified files to  be  
delivered  (via
+                 _p_o_s_t (8))  to each of the destinations in the "To:", 
"cc:", "Bcc:",
+                 and "Fcc:" fields of the message.  If  _s_e_n_d  is  
re-distributing  a
+                 message,  as invoked from _d_i_s_t, then the 
corresponding "Resent-xxx"
+                 fields are examined instead.
+
+                 If `-push' is specified, _s_e_n_d will detach itself  
from  the  user's
+                 terminal and perform its actions in the background.  If 
_p_u_s_h 'd and
+                 the draft can't be sent, then the `-forward' switch says that 
draft
+                 should be forwarded with the failure notice sent to the user. 
 This
+                 differs from putting _s_e_n_d in the background because 
the  output  is
+                 trapped and analyzed by _M_H.
+
+                 If `-verbose' is specified, _s_e_n_d  will  indicate  the 
 interactions
+                 occurring  with the transport system, prior to actual 
delivery.  If
+                 `-watch' is specified _s_e_n_d will monitor the delivery 
of  local  and
+                 network  mail.   Hence, by specifying both switches, a large 
detail
+                 of information can be gathered about each  step  of  the  
message's
+                 entry into the transport system.
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 _S_e_n_d with no _f_i_l_e argument will query  
whether  the  draft  is  the
+                 intended  file, whereas `-draft' will suppress this question. 
 Once
+                 the transport system has successfully accepted custody of the 
 mes-
+                 sage,  the  file will be renamed with a leading comma, which 
allows
+                 it to be retrieved until the next draft message is sent.  If  
there
+                 are errors in the formatting of the message, _s_e_n_d 
will abort with a
+                 (hopefully) helpful error message.
+
+                 If a "Bcc:" field is encountered, its addresses will  be  
used  for
+                 delivery,  and  the  "Bcc:"  field will be removed from the 
message
+                 sent to sighted recipients.  The blind recipients will  
receive  an
+                 entirely  new  message  with a minimal set of headers.  
Included in
+                 the body of the message will be a copy of the message sent  
to  the
+                 sighted  recipients.   If  `-filter filterfile'  is 
specified, then
+                 this copy is filtered (re-formatted) prior to  being  sent  
to  the
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                           -92-                           
SEND(1)
+
+
+                 blind recipients.
+
+                 Prior to sending the message, the  fields  "From: 
address@hidden",  and
+                 "Date: now" will be appended to the headers in the message.  
If the
+                 envariable $SIGNATURE is set, then its value is used as  your 
 per-
+                 sonal  name  when constructing the "From:" line of the 
message.  If
+                 this envariable is not set, then  _s_e_n_d  will  consult 
 the  profile
+                 entry "Signature" for this information.  On hosts where 
_M_H was con-
+                 figured with the UCI option, if $SIGNATURE is not set and the 
"Sig-
+                 nature"   profile   entry   is   not   present,   then   the  
 file
+                 $HOME/.signature is consulted.  If `-msgid' is  specified,  
then  a
+                 "Message-ID:" field will also be added to the message.
+
+                 If _s_e_n_d is re-distributing a message (when invoked by 
_d_i_s_t ),  then
+                 "Resent-"  will  be  prepended  to  each  of these fields: 
"From:",
+                 "Date:", and "Message-ID:".  If  the  message  already  
contains  a
+                 "From:"  field,  then a "Sender: address@hidden" field will 
be added as
+                 well.  (An already existing "Sender:" field is an error!)
+
+                 By using the `-format' switch, each of the entries in the 
"To:" and
+                 "cc:" fields will be replaced with "standard" format entries. 
 This
+                 standard format is designed to be usable  by  all  of  the  
message
+                 handlers  on  the various systems around the Internet.  If 
`-nofor-
+                 mat' is given, then headers are output exactly as  they  
appear  in
+                 the message draft.
+
+                 If an "Fcc: folder" is encountered, the message will be  
copied  to
+                 the  specified folder for the sender in the format in which 
it will
+                 appear to any non-Bcc receivers of the message.  That is,  it 
 will
+                 have the appended fields and field reformatting.  The "Fcc:" 
fields
+                 will be removed from all outgoing copies of the message.
+
+                 By using the `-width columns' switch, the user can direct  
_s_e_n_d  as
+                 to how long it should make header lines containing addresses.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read (more than one file,  each   preceeded  by  `-alias',  
can  be
+                 named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Aliasfile:           For a default alias file
+                 Signature:           To determine the user's mail signature
+                 mailproc:            Program to post failure notices
+                 postproc:            Program to post the message
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SEND(1)                           -93-                           
SEND(1)
+
+
+            _S_e_e _A_l_s_o
+                 comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to <mh-dir>/draft
+                 `-alias /usr/local/lib/mh/MailAliases'
+                 `-nodraftfolder'
+                 `-nofilter'
+                 `-format'
+                 `-forward'
+                 `-nomsgid'
+                 `-nopush'
+                 `-noverbose'
+                 `-nowatch'
+                 `-width 72'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 Under some configurations, it is not possible to mointor  the 
 mail
+                 delivery transaction; `-watch' is a no-op on those systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                           -94-                           
SHOW(1)
+
+
+            _N_A_M_E
+                 show - show (list) messages
+
+            _S_Y_N_O_P_S_I_S
+                 show [+folder] [msgs] [-draft] [-header] [-noheader]
+                      [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_h_o_w lists each of the specified messages to  the  
standard  output
+                 (typically,  the  terminal).   Typically,  the  messages are 
listed
+                 exactly as they are, with no reformatting.  A program named 
by  the
+                 _s_h_o_w_p_r_o_c  profile  component  is invoked to 
do the listing, and any
+                 switches not recognized by _s_h_o_w are passed along to  
that  program.
+                 The  default program is known as _m_o_r_e (1).  To 
override the default
+                 and the _s_h_o_w_p_r_o_c profile  component,  use  
the  `-showproc program'
+                 switch.   For  example, `-show pr' will cause the _p_r (1) 
program to
+                 list the messages.  The _M_H command _m_h_l can be used 
as a _s_h_o_w_p_r_o_c to
+                 show  messages in a more uniform format.  Normally, this 
program is
+                 specified as the _s_h_o_w_p_r_o_c is the user's 
.mh_profile.   See  _m_h_l (1)
+                 for  the  details.   If  the  `-noshowproc'  option  is  
specified,
+                 `/bin/cat' is used instead of _s_h_o_w_p_r_o_c.
+
+                 The `-header' switch tells _s_h_o_w to display a  
one-line  description
+                 of  the  message being shown.  This description includes the 
folder
+                 and the message number.
+
+                 If no `msgs' are specified, the current message is used.   If 
 more
+                 than  one  message  is  specified,  _m_o_r_e will prompt 
for a <RETURN>
+                 prior to listing each message.  _m_o_r_e will list each 
message, a page
+                 at  a  time.   When  the end of page is reached, _m_o_r_e 
will ring the
+                 bell and wait for a <SPACE> or <RETURN>.  If a <RETURN> is 
entered,
+                 _m_o_r_e  will print the next line, whereas <SPACE> will 
print the next
+                 screenful.  To exit _m_o_r_e, type "q".
+
+                 If the standard output is not a terminal, no queries are 
made,  and
+                 each file is listed with a one-line header and two lines of 
separa-
+                 tion.
+
+                 "show -draft" will list the file <mh-dir>/draft if it exists.
+
+                 If the profile entry "Unseen-Sequence" is  present  and  
non-empty,
+                 then _s_h_o_w will remove each of the messages shown from 
each sequence
+                 named  by  the   profile   entry.    This   is   similar   to 
  the
+                 "Previous-Sequence"  profile  entry  supported  by  all 
_M_H commands
+                 which take `msgs' or `msg' arguments.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                           -95-                           
SHOW(1)
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+                 Unseen-Sequence:     To name sequences denoting unseen 
messages
+                 showproc:            Program to show messages
+
+
+            _S_e_e _A_l_s_o
+                 mhl(1), more(1), next(1), pick(1), prev(1), scan(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to cur
+                 `-header'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current folder.  The 
 last
+                 message shown will become the current message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SHOW(1)                           -96-                           
SHOW(1)
+
+
+            _B_u_g_s
+                 The `-header' switch doesn't work when `msgs' expands to more 
 than
+                 one  message.   If the _s_h_o_w_p_r_o_c is _m_h_l, 
then is problem can be cir-
+                 cumvented by referencing the "messagename" field in the 
_m_h_l  format
+                 file.
+
+                 _S_h_o_w updates the user's context before showing the 
message.   Hence
+                 _s_h_o_w  will  mark messages as seen prior to the user 
actually seeing
+                 them.  This is generally not a problem, unless the user  
relies  on
+                 the  "unseen"  messages  mechanism, and interrupts 
_s_h_o_w while it is
+                 showing "unseen" messages.
+
+                 If _s_h_o_w_p_r_o_c is _m_h_l, then _s_h_o_w 
uses a built-in _m_h_l: it does not  ac-
+                 tually  run  the  _m_h_l  program.   Hence,  if  you  
define  your own
+                 _s_h_o_w_p_r_o_c, don't call it _m_h_l since 
_s_h_o_w won't run it.
+
+                 If _m_o_r_e (1) is your showproc (the default), then 
avoid running _s_h_o_w
+                 in  the  background  with only its standard output piped to 
another
+                 process, as in
+
+                      show | imprint &
+
+                 Due to a bug in _m_o_r_e, show will go into a "tty  
input"  state.   To
+                 avoid  this  problem,  re-direct  _s_h_o_w's diagnostic 
output as well.
+                 For users of _c_s_h:
+
+                      show |& imprint &
+
+                 For users of _s_h:
+
+                      show 2>&1 | imprint &
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                         -97-                         
SLOCAL(1)
+
+
+            _N_A_M_E
+                 slocal - special local mail delivery
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/slocal [address info sender]
+                      [-addr address] [-info data] [-sender sender]
+                      [-user username] [-mailbox mbox] [-file file]
+                      [-maildelivery deliveryfile] [-verbose] [-noverbose] 
[-debug]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_l_o_c_a_l is a program designed to allow you to have 
your inbound mail
+                 processed according to a complex set of selection criteria.  
You do
+                 not normally invoke _s_l_o_c_a_l yourself, rather 
_s_l_o_c_a_l  is  invoked  on
+                 your behalf by your system's Message Transfer Agent.
+
+                 The message selection criteria used by _s_l_o_c_a_l is 
specified  in  the
+                 file  ._m_a_i_l_d_e_l_i_v_e_r_y  in  the  user's 
home directory.  The format of
+                 this file is given below.
+
+                 The message delivery address and message sender are 
determined from
+                 the  Message  Transfer  Agent  envelope  information,  if 
possible.
+                 Under _S_e_n_d_M_a_i_l, the sender will  obtained  
from  the  UUCP  "From "
+                 line,  if present.  The user may override these values with 
command
+                 line arguments, or arguments to the `-addr' and `-sender' 
switches.
+
+                 The message is normally read from the standard input.  The  
`-file'
+                 switch  sets  the name of the file from which the message 
should be
+                 read, instead of reading stdin.  The `-user'  switch  tells  
_s_l_o_c_a_l
+                 the  name  of the user for whom it is delivering mail.  The 
`-mail-
+                 box' switch tells _s_l_o_c_a_l the name of the user's 
maildrop file.
+
+                 The `-info' switch may be used to pass  an  arbitrary  
argument  to
+                 sub-processes  which  _s_l_o_c_a_l may invoke on your 
behalf.  The `-ver-
+                 bose' switch causes _s_l_o_c_a_l to give information on 
stdout about  its
+                 progress.  The `-debug' switch produces more verbose 
debugging out-
+                 put on stderr.
+
+
+              _M_e_s_s_a_g_e _T_r_a_n_s_f_e_r _A_g_e_n_t_s
+
+                 If your MTA is _S_e_n_d_M_a_i_l, you should include 
the line
+
+                          "| /usr/local/lib/mh/slocal -user username"
+
+                 in your .forward file in your  home  directory.   This  will  
cause
+                 _S_e_n_d_M_a_i_l to invoke _s_l_o_c_a_l on your 
behalf.
+
+                 If  your  MTA   is   _M_M_D_F-_I,   you   should   
(symbolically)   link
+                 /usr/local/lib/mh/slocal  to  the  file  bin/rcvmail  in  
your home
+                 directory.  This will cause _M_M_D_F-_I to invoke 
_s_l_o_c_a_l on your  behalf
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                         -98-                         
SLOCAL(1)
+
+
+                 with the correct "_a_d_d_r_e_s_s _i_n_f_o 
_s_e_n_d_e_r" arguments.
+
+                 If your MTA is  _M_M_D_F-_I_I,  then  you  should  not  
use  _s_l_o_c_a_l.   An
+                 equivalent  functionality is already provided by 
_M_M_D_F-_I_I; see mail-
+                 delivery(5) for details.
+
+
+              _T_h_e _M_a_i_l_d_e_l_i_v_e_r_y _F_i_l_e
+
+
+                 The ._m_a_i_l_d_e_l_i_v_e_r_y file controls how 
local  delivery  is  performed.
+                 Each  line  of  this  file  consists  of  five fields, 
separated by
+                 white-space or comma.  Since double-quotes are honored, these 
char-
+                 acters may be included in a single argument by enclosing the 
entire
+                 argument in double-quotes.   A  double-quote  can  be  
included  by
+                 preceding  it  with  a  backslash.   Lines  beginning  with 
`#' are
+                 ignored.  The format of each line in the 
._m_a_i_l_d_e_l_i_v_e_r_y file is:
+
+
+                         header  pattern action  result  string
+
+                 header:
+                      The name of a header field that is to be searched for  a 
 pat-
+                      tern.   This  is  any field in the headers of the 
message that
+                      might be present.   The  following  special  fields  are 
 also
+                      defined:
+
+                      _s_o_u_r_c_e    the out-of-band sender information
+                      _a_d_d_r      the address that was used to cause 
delivery  to  the
+                                recipient
+                      _d_e_f_a_u_l_t   this  matches  _o_n_l_y  if  
the  message  hasn't   been
+                                delivered yet
+                      *         this always matches
+
+                 pattern:
+                      The sequence of characters to match in  the  specified  
header
+                      field.  Matching is case-insensitive, but does not use 
regular
+                      expressions.
+
+                 action:
+                      The action to take to deliver the message:
+
+                      _d_e_s_t_r_o_y   This action always succeeds.
+
+                      _f_i_l_e or > Append the message to the file named 
by string.  The
+                                message is appended to the file in the 
maildrop for-
+                                mat which is used by your message transport  
system.
+                                If  the  message  can  be appended to the 
file, then
+                                this action succeeds.  When writing to the  
file,  a
+                                "Delivery-Date: date"  header  is  added which 
indi-
+                                cates the date and time that message was 
appended to
+                                the file.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                         -99-                         
SLOCAL(1)
+
+
+                      _m_b_o_x      Identical to _f_i_l_e, but always  
appends  the  message
+                                using  the  format  used  by _p_a_c_k_f 
(the MMDF mailbox
+                                format).
+
+                      _p_i_p_e or | Pipe the message as the standard input 
to  the  com-
+                                mand  named  by string, using the Bourne shell 
_s_h(1)
+                                to interpret the string.  Prior to giving the 
string
+                                to  the  shell,  it  is  expanded with the 
following
+                                built-in variables:
+
+                                $(sender) the out-of-band sender information
+                                $(address)  the  address  that  was  used  to  
cause
+                                          delivery to the recipient
+                                $(size)   the size of the message in bytes
+                                $(reply-to) either the "Reply-To:" or "From:"  
field
+                                          of the message
+                                $(info)   the out-of-band information specified
+                      _q_p_i_p_e or
+                      <_c_a_r_e_t>   Similar to _p_i_p_e, but 
executes the command  directly,
+                                after  built-in  variable  expansion, without 
assis-
+                                tance from the shell.  This action can  be  
used  to
+                                avoid  quoting  special  characters which your 
shell
+                                might interpret.
+
+                 result:
+                      Indicates how the action should be performed:
+
+                      _A         Perform the action.  If the  action  
succeeds,  then
+                                the message is considered delivered.
+
+                      _R         Perform the action.  Regardless of  the  
outcome  of
+                                the action, the message is not considered 
delivered.
+
+                      ?         Perform the action only if the message has not 
 been
+                                delivered.  If the action succeeds, then the 
message
+                                is considered delivered.
+
+                      _N         Perform the action only if the message has 
not  been
+                                delivered  and  the  previous  action 
succeeded.  If
+                                this action succeeds, then the message is 
considered
+                                delivered.
+
+                 To summarize, here's an example:
+
+                 #_f_i_e_l_d   _p_a_t_t_e_r_n   _a_c_t_i_o_n 
 _r_e_s_u_l_t    _s_t_r_i_n_g
+                 # lines starting with a '#' are ignored, as are blank lines
+                 #
+                 # file mail with mmdf2 in the "To:" line into file mmdf2.log
+                 _T_o       _m_m_d_f_2      _f_i_l_e     _A       
_m_m_d_f_2._l_o_g
+                 # Messages from mmdf pipe to the program err-message-archive
+                 _F_r_o_m     _m_m_d_f       _p_i_p_e     _A      
 /_b_i_n/_e_r_r-_m_e_s_s_a_g_e-_a_r_c_h_i_v_e
+                 # Anything with the "Sender:" address "mh-workers"
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -100-                         
SLOCAL(1)
+
+
+                 # file in mh.log if not filed already
+                 _S_e_n_d_e_r   _m_h-_w_o_r_k_e_r_s 
_f_i_l_e     ?       _m_h._l_o_g
+                 # "To:" unix - put in file unix-news
+                 _T_o       _U_n_i_x        >       _A       
_u_n_i_x-_n_e_w_s
+                 # if the address is jpo=ack - send an acknowledgement copy 
back
+                 _a_d_d_r     _j_p_o=_a_c_k     |       _R       
"/_b_i_n/_r_e_s_e_n_d -_r $(_r_e_p_l_y-_t_o)"
+                 # anything from steve - destroy!
+                 _F_r_o_m     _s_t_e_v_e    _d_e_s_t_r_o_y    
_A       -
+                 # anything not matched yet - put into mailbox
+                 _d_e_f_a_u_l_t  -           >       ?       
_m_a_i_l_b_o_x
+                 # always run rcvtty
+                 *        -           |       _R       
/_m_h/_l_i_b/_r_c_v_t_t_y
+
+                 The file is always read completely, so that several matches 
can  be
+                 made and several actions can be taken.  The 
._m_a_i_l_d_e_l_i_v_e_r_y file must
+                 be owned either by the user or by root, and must be  writable 
 only
+                 by  the  owner.  If the ._m_a_i_l_d_e_l_i_v_e_r_y 
file cannot be found, or does
+                 not perform an action which delivers the  message,  then  the 
 file
+                 /usr/local/lib/mh/maildelivery is read according to the same 
rules.
+                 This file must be owned by the root and must be  writable  
only  by
+                 the  root.   If  this  file  cannot be found or does not 
perform an
+                 action which delivers the message, then standard  delivery  
to  the
+                 user's maildrop is performed.
+
+
+              _S_u_b-_p_r_o_c_e_s_s _e_n_v_i_r_o_n_m_e_n_t
+
+                 When a process is invoked, its environment is:  the  
user/group-ids
+                 are   set   to  recipient's  ids;  the  working  directory  
is  the
+                 recipient's home directory; the umask is 0077; the process  
has  no
+                 /dev/tty;  the  standard  input is set to the message; the 
standard
+                 output and diagnostic output are set to /dev/null; all other  
file-
+                 descriptors  are  closed;  the envariables $USER, $HOME, 
$SHELL are
+                 set appropriately, and no other envariables exist.
+
+                 The process is given a certain amount of time to execute.   
If  the
+                 process  does  not exit within this limit, the process will 
be ter-
+                 minated with extreme prejudice.  The amount of time  is  
calculated
+                 as  ((size  x 60) + 300) seconds, where size is the number of 
bytes
+                 in the message.
+
+                 The exit status of the process is consulted in determining 
the suc-
+                 cess  of  the action.  An exit status of zero means that the 
action
+                 succeeded.  Any other exit status (or abnormal  termination)  
means
+                 that the action failed.
+
+                 In order to avoid any time limitations, you might implement a 
 pro-
+                 cess  that began by _f_o_r_k_i_n_g.  The parent would 
return the appropri-
+                 ate value immediately, and the child could continue on, doing 
what-
+                 ever it wanted for as long as it wanted.  This approach is 
somewhat
+                 risky if the parent is going to return an exit status of 
zero.   If
+                 the  parent  is  going  to return a non-zero exit status, 
then this
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SLOCAL(1)                        -101-                         
SLOCAL(1)
+
+
+                 approach can lead to quicker delivery into your maildrop.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         MH tailor file
+                 $HOME/.maildelivery                 The file controlling 
local delivery
+                 /usr/local/lib/mh/maildelivery      Rather than the standard 
file
+                 /usr/spool/mail/$USER               The default maildrop
+
+
+            _S_e_e _A_l_s_o
+                 rcvstore(1), mhook(1), mh-format(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-noverbose'
+                 `-maildelivery .maildelivery'
+                 `-mailbox /usr/spool/mail/$USER'
+                 `-file' defaults to stdin
+                 `-user' defaults to the current user
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 _S_l_o_c_a_l is designed to be backward-compatible with 
the  _m_a_i_l_d_e_l_i_v_e_r_y
+                 facility  provided by _M_M_D_F-_I_I.  Thus, the 
._m_a_i_l_d_e_l_i_v_e_r_y file syntax
+                 is limited, as is the functionality of _s_l_o_c_a_l.
+
+                 In addition to an exit status of zero, the _M_M_D_F 
values _R_P__M_O_K  (32)
+                 and  _R_P__O_K (9) mean that the message has been fully 
delivered.  Any
+                 other non-zero exit status, including abnormal termination, 
is  in-
+                 terpreted  as the _M_M_D_F value _R_P__M_E_C_H 
(200), which means "use an al-
+                 ternate route" (deliver the message to the maildrop).
+
+
+            _B_u_g_s
+                 Only two return codes are meaningful, others should be.
+
+                 _S_l_o_c_a_l is designed to be backwards-compatible 
with the _m_a_i_l_d_e_l_i_v_e_r_y
+                 functionality provided by MMDF-II.
+
+                 Versions of _M_M_D_F with the 
_m_a_i_l_d_e_l_i_v_e_r_y  mechanism  aren't  entirely
+                 backwards-compatible with earlier versions of _M_M_D_F.  
If you have an
+                 _M_M_D_F-_I old-style hook, the best you can do is to  
have  a  one-line
+                 ._m_a_i_l_d_e_l_i_v_e_r_y file:
+
+                      default - pipe A "bin/rcvmail $(address) $(info) 
$(sender)"
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SORTM(1)                         -102-                          
SORTM(1)
+
+
+            _N_A_M_E
+                 sortm - sort messages
+
+            _S_Y_N_O_P_S_I_S
+                 sortm [+folder] [msgs] [-datefield field] [-textfield field]
+                      [-notextfield] [-limit days] [-nolimit] [-verbose]
+                      [-noverbose] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _S_o_r_t_m sorts the specified messages in the named 
folder according to
+                 the chronological order of the "Date:" field of each message.
+
+                 The `-verbose' switch directs _s_o_r_t_m to tell the  
user  the  general
+                 actions that it is taking to place the folder in sorted order.
+
+                 The `-datefield field' switch tells _s_o_r_t_m the name 
of the field  to
+                 use  when  making  the  date comparison.  If the user has a 
special
+                 field in each message, such as  "BB-Posted:"  or  
"Delivery-Date:",
+                 then  the  `-datefield'  switch  can  be used to direct 
_s_o_r_t_m which
+                 field to examine.
+
+                 The `-textfield field' switch causes _s_o_r_t_m to sort 
messages by  the
+                 specified  text  field.   If  this  field is "subject", any 
leading
+                 "re:" is stripped off.  In any case, all characters except  
letters
+                 and  numbers  are  stripped  and  the  resulting strings are 
sorted
+                 datefield-major, textfield-minor, using  a  case  insensitive 
 com-
+                 parison.
+
+                 With `-textfield field', if `-limit days'  is  specified,  
messages
+                 with  similar textfields that are dated within `days' of each 
other
+                 appear together.  Specifying `-nolimit' makes the  limit  
infinity.
+                 With   `-limit  0',  the  sort  is  instead  made  
textfield-major,
+                 date-minor.
+
+                 For example, to order a folder by date-major, subject-minor, 
use:
+
+                      sortm -textfield subject +folder
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Current-Folder:      To find the default current folder
+
+
+            _S_e_e _A_l_s_o
+                 folder (1)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            SORTM(1)                         -103-                          
SORTM(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `+folder' defaults to the current folder
+                 `msgs' defaults to all
+                 `-datefield date'
+                 `-notextfield'
+                 `-noverbose'
+                 `-nolimit'
+
+
+            _C_o_n_t_e_x_t
+                 If a folder is given, it will become the current  folder.   
If  the
+                 current  message  is  moved,  _s_o_r_t_m  will  preserve 
 its  status as
+                 current.
+
+
+            _H_i_s_t_o_r_y
+                 Timezones used to be ignored when comparing dates: they 
aren't  any
+                 more.
+
+                 Messages which were in the folder, but  not  specified  by  
`msgs',
+                 used  to  be  moved to the end of the folder; now such 
messages are
+                 left untouched.
+
+                 _S_o_r_t_m sometimes did not preserve the message 
numbering in a  folder
+                 (e.g.,  messages 1, 3, and 5, might have been renumbered to 
1, 2, 3
+                 after sorting).  This was a bug, and has been fixed.   To  
compress
+                 the message numbering in a folder, use "_f_o_l_d_e_r 
-_p_a_c_k" as always.
+
+
+            _B_u_g_s
+                 If _s_o_r_t_m encounters a message without a date-field, 
or if the  mes-
+                 sage  has a date-field that _s_o_r_t_m cannot parse, 
then _s_o_r_t_m attempts
+                 to keep the message in the same relative position.  This  
does  not
+                 always  work.  For instance, if the first message encountered 
lacks
+                 a date which can be parsed, then it will usually be placed  
at  the
+                 end of the messages being sorted.
+
+                 When _s_o_r_t_m complains about a message which it can't 
temporally ord-
+                 er,  it  complains  about  the message number _p_r_i_o_r 
to sorting.  It
+                 should indicate what the message number will be 
_a_f_t_e_r sorting.
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            VMH(1)                           -104-                            
VMH(1)
+
+
+            _N_A_M_E
+                 vmh - visual front-end to MH
+
+            _S_Y_N_O_P_S_I_S
+                 vmh [-prompt string] [-vmhproc program] [-novmhproc]
+                      [switches for _v_m_h_p_r_o_c] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _v_m_h is a program which implements the server side of 
the _M_H  window
+                 management  protocol  and  uses  _c_u_r_s_e_s (3)  
routines to maintain a
+                 split-screen interface to any program which implements  the  
client
+                 side  of the protocol.  This latter program, called the 
_v_m_h_p_r_o_c, is
+                 specified using the `-vmhproc program' switch.
+
+                 The upshot of all this is that one can run _m_s_h on a 
display  termi-
+                 nal and get a nice visual interface.  To do this, for 
example, just
+                 add the line
+
+                      mshproc: vmh
+
+                 to your .mh_profile.  (This takes advantage of the fact that 
_m_s_h is
+                 the default _v_m_h_p_r_o_c for _v_m_h.)
+
+                 In order to facilitate things, if the `-novmhproc' switch is 
given,
+                 and  _v_m_h  can't  run  on  the  user's  terminal, the 
_v_m_h_p_r_o_c is run
+                 directly without the window management protocol.
+
+                 After initializing the protocol, _v_m_h prompts the user 
for a command
+                 to  be  given to the client.  Usually, this results in output 
being
+                 sent to one or more windows.  If a output to a window  would  
cause
+                 it  to  scroll, _v_m_h prompts the user for instructions, 
roughly per-
+                 mitting the capabilities of _l_e_s_s or  _m_o_r_e  
(e.g.,  the  ability  to
+                 scroll backwards and forwards):
+
+                      SPACE      advance to the next windowful
+                      RETURN  *  advance to the next line
+                      y       *  retreat to the previous line
+                      d       *  advance to the next ten lines
+                      u       *  retreat to the previous ten lines
+                      g       *  go to an arbitrary line
+                                 (preceed g with the line number)
+                      G       *  go to the end of the window
+                                 (if a line number is given, this acts like 
`g')
+                      CTRL-L     refresh the entire screen
+                      h          print a help message
+                      q          abort the window
+
+                 (A `*' indicates that a numeric prefix is meaningful for this 
 com-
+                 mand.)
+
+                 Note that if a command resulted in more than one window's 
worth  of
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            VMH(1)                           -105-                            
VMH(1)
+
+
+                 information  being  displayed,  and  you allow the command 
which is
+                 generating information for the window to gracefully  finish  
(i.e.,
+                 you  don't  use  the `q' command to abort information being 
sent to
+                 the window), then _v_m_h will give you one last change to  
peruse  the
+                 window.   This  is  useful for scrolling back and forth.  
Just type
+                 `q' when you're done.
+
+                 To abnormally terminate _v_m_h (without core dump), use  
<QUIT>  (usu-
+                 ally  CTRL-\).   For instance, this does the "right" thing 
with _b_b_c
+                 and _m_s_h.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+
+
+            _S_e_e _A_l_s_o
+                 msh(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prompt (vmh) '
+                 `-vmhproc msh'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token by the shell that invokes _v_m_h.  Therefore, 
one must usu-
+                 ally place the argument to this switch inside double-quotes.
+
+                 At present, there is no way to pass signals (e.g., interrupt, 
quit)
+                 to the client.  However, generating QUIT when _v_m_h is 
reading a com-
+                 mand from the terminal is sufficient to tell the client to go 
 away
+                 quickly.
+
+                 Acts strangely (loses peer or botches  window  management  
protocol
+                 with peer) on random occasions.
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -106-                        
WHATNOW(1)
+
+
+            _N_A_M_E
+                 whatnow - prompting front-end for send
+
+            _S_Y_N_O_P_S_I_S
+                 whatnow [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-prompt string] [file] 
[-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _W_h_a_t_n_o_w is the default program that  queries  
the  user  about  the
+                 disposition  of a composed draft.  It is normally invoked by 
one of
+                 _c_o_m_p, _d_i_s_t, _f_o_r_w, or _r_e_p_l 
after the initial edit.
+
+                 When started, the editor is started on the draft (unless  
`-noedit'
+                 is  given,  in  which  case the initial edit is suppressed).  
Then,
+                 _w_h_a_t_n_o_w repetitively prompts the user with 
"What now?" and awaits a
+                 response.  The valid responses are:
+
+                 display         to list the message being 
distributed/replied-to on
+                                 the terminal
+                 edit            to re-edit using the same editor that was 
used on the
+                                 preceding round unless a profile entry
+                                 "<lasteditor>-next: <editor>" names an 
alternate editor
+                 edit <editor>   to invoke <editor> for further editing
+                 list            to list the draft on the terminal
+                 push            to send the message in the background
+                 quit            to terminate the session and preserve the 
draft
+                 quit -delete    to terminate, then delete the draft
+                 refile +folder  to refile the draft into the given folder
+                 send            to send the message
+                 send -watch     to cause the delivery process to be monitored
+                 whom            to list the addresses that the message will 
go to
+                 whom -check     to list the addresses and verify that they are
+                                 acceptable to the transport service
+
+                 For the edit response, any valid switch to  the  editor  is  
valid.
+                 Similarly,  for  the  send  and whom responses, any valid 
switch to
+                 _s_e_n_d (1) and _w_h_o_m (1) commands, respectively, 
are valid.   For  the
+                 push  response,  any  valid  switch  to  _s_e_n_d (1) is 
valid (as this
+                 merely invokes _s_e_n_d with  the  `-push'  option).   
For  the  _r_e_f_i_l_e
+                 response,  any  valid  switch  to  the  
_f_i_l_e_p_r_o_c is valid.  For the
+                 display and list responses, any valid  argument  to  the  
_l_p_r_o_c  is
+                 valid.   If any non-switch arguments are present, then the 
pathname
+                 of the draft will be excluded from the argument list given  
to  the
+                 _l_p_r_o_c (this is useful for listing another _M_H 
message).
+
+                 See _m_h-_p_r_o_f_i_l_e (5) for further information 
about  how  editors  are
+                 used  by MH.  It also discusses how complex envariables can 
be used
+                 to direct _w_h_a_t_n_o_w's actions.
+
+                 The `-prompt string' switch sets the prompting string for 
_w_h_a_t_n_o_w.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -107-                        
WHATNOW(1)
+
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/draft                      The draft file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Editor:              To override the default editor
+                 <lasteditor>-next:   To name an editor to be used after  exit 
 from
+                 <lasteditor>
+                 fileproc:            Program to refile the message
+                 lproc:               Program to list the contents of a message
+                 sendproc:            Program to use to send the message
+                 whomproc:            Program to determine who a message would 
go to
+
+
+            _S_e_e _A_l_s_o
+                 send(1), whom(1)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-prompt "What Now? "'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-prompt' switch must be interpreted as a 
 sin-
+                 gle  token  by the shell that invokes _w_h_a_t_n_o_w.  
Therefore, one must
+                 usually place the argument to this switch inside 
double-quotes.
+
+                 If the initial edit fails, _w_h_a_t_n_o_w deletes your 
draft (by  renaming
+                 it  with  a  leading  comma); failure of a later edit 
preverves the
+                 draft.
+
+                 If _w_h_a_t_n_o_w_p_r_o_c is 
_w_h_a_t_n_o_w, then _c_o_m_p, _d_i_s_t, _f_o_r_w, and  
_r_e_p_l  use  a
+                 built-in  _w_h_a_t_n_o_w,  and  do  not  actually run 
the _w_h_a_t_n_o_w program.
+                 Hence, if you define your own 
_w_h_a_t_n_o_w_p_r_o_c, don't  call  it  _w_h_a_t_n_o_w
+                 since it won't be run.
+
+                 If _s_e_n_d_p_r_o_c is _s_e_n_d, then 
_w_h_a_t_n_o_w uses a built-in _s_e_n_d, it does not
+                 actually  run  the  _s_e_n_d  program.   Hence,  if you 
define your own
+                 _s_e_n_d_p_r_o_c, don't call it _s_e_n_d since 
_w_h_a_t_n_o_w won't run it.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHATNOW(1)                       -108-                        
WHATNOW(1)
+
+
+            _N_A_M_E
+                 whom - report to whom a message would go
+
+            _S_Y_N_O_P_S_I_S
+                 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [file] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _W_h_o_m is used to expand the headers of  a  message  
into  a  set  of
+                 addresses  and  optionally verify that those addresses are 
deliver-
+                 able at that time (if `-check' is given).
+
+                 The `-draftfolder +folder' and `-draftmessage msg' switches  
invoke
+                 the _M_H draft folder facility.  This is an advanced (and 
highly use-
+                 ful) feature.  Consult the Advanced  Features  section  of  
the  _M_H
+                 manual for more information.
+
+                 The files specified by the profile entry "Aliasfile:" and any 
addi-
+                 tional  alias  files given by the `-alias aliasfile' switch 
will be
+                 read (more than one file,  each   preceeded  by  `-alias',  
can  be
+                 named).  See _m_h-_a_l_i_a_s (5) for more information.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+                 Draft-Folder:        To find the default draft-folder
+                 Aliasfile:           For a default alias file
+                 postproc:            Program to post the message
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5), post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 `file' defaults to <mh-dir>/draft
+                 `-nocheck'
+                 `-alias /usr/local/lib/mh/MailAliases'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            WHOM(1)                          -109-                           
WHOM(1)
+
+
+            _B_u_g_s
+                 With the `-check' option, _w_h_o_m makes no  guarantees  
that  the  ad-
+                 dresses  listed  as being ok are really deliverable, rather, 
an ad-
+                 dress being listed as ok means that at the time that 
_w_h_o_m  was  run
+                 the address was thought to be deliverable by the transport 
service.
+                 For local addresses, this is absolute; for  network  
addresses,  it
+                 means  that the host is known; for uucp addresses, it (often) 
means
+                 that the _U_U_C_P network is available for use.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+                                                  -110-
+
+
+                 _M_O_R_E _D_E_T_A_I_L_S
+
+                      This section describes some of the more intense points  
of  the  _M_H
+                 system,  by  expanding  on  topics  previously  discussed.   
The  format
+                 presented conforms to the standard form  for  the  
description  of  UNIX
+            documentation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -111-                       
MH-ALIAS(5)
+
+
+            _N_A_M_E
+                 mh-alias - alias file for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 any _M_H command
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 This describes both _M_H personal alias files and the 
(primary) alias
+                 file for mail delivery, the file
+
+                         /usr/local/lib/mh/MailAliases
+
+                 It does not describe aliases files used by  the  message  
transport
+                 system.  Each line of the alias file has the format:
+
+                         alias : address-group
+                 or
+                         alias ; address-group
+                 or
+                         < alias-file
+                 or
+                         ; comment
+
+                 where:
+
+                         address-group  :=  address-list
+                                        |   "<" file
+                                        |   "=" UNIX-group
+                                        |   "+" UNIX-group
+                                        |   "*"
+
+                         address-list   :=  address
+                                        |   address-list, address
+
+                 Continuation lines in alias files end with `\' followed by 
the new-
+                 line character.
+
+                 Alias-file and file are UNIX file names.   UNIX-group  is  a  
group
+                 name  (or  number)  from  /_e_t_c/_g_r_o_u_p.   An  
address  is  a "simple"
+                 Internet-style address.  Througout  this  file,  case  is  
ignored,
+                 except for alias-file names.
+
+                 If the line starts with a `<', then the file named after the 
`<' is
+                 read  for more alias definitions.  The reading is done 
recursively,
+                 so a `<' may occur in the beginning  of  an  alias  file  
with  the
+                 expected results.
+
+                 If the address-group starts with a `<', then the file  named  
after
+                 the  `<' is read and its contents are added to the 
address-list for
+                 the alias.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -112-                       
MH-ALIAS(5)
+
+
+                 If the address-group starts with an `=', then the  file  
/_e_t_c/_g_r_o_u_p
+                 is  consulted  for  the UNIX-group named after the `='.  Each 
login
+                 name  occurring  as  a  member  of  the  group  is  added  to 
  the
+                 address-list for the alias.
+
+                 In contrast, if the address-group starts with a `+', then the 
 file
+                 /_e_t_c/_g_r_o_u_p is consulted to determine the 
group-id of the UNIX-group
+                 named after the `+'.  Each login name occurring in the  
/_e_t_c/_p_a_s_s_w_d
+                 file  whose  group-id  is  indicated  by this group is added 
to the
+                 address-list for the alias.
+
+                 If the address-group is simply `*', then the  file  
/_e_t_c/_p_a_s_s_w_d  is
+                 consulted and all login names with a userid greater than some 
magic
+                 number (usually 200) are added to the address-list for the 
alias.
+
+                 In match, a trailing * on an alias will match just  about  
anything
+                 appropriate.  (See example below.)
+
+                 An approximation of the way aliases are resolved at posting 
time is
+                 (it's not really done this way):
+
+                      1) Build a list of  all  addresses  from  the  message  
to  be
+                      delivered, eliminating duplicate addresses.
+
+                      2) If this draft originated on the local host, then for  
those
+                      addresses  in the message that have no host specified, 
perform
+                      alias resolution.
+
+                      3) For each line in the alias file,  compare  "alias"  
against
+                      all of the existing addresses.  If a match, remove the 
matched
+                      "alias" from the address list, and add each new address 
in the
+                      address-group  to the address list if it is not already 
on the
+                      list.  The alias itself is  not  usually  output,  
rather  the
+                      address-group  that  the  alias maps to is output 
instead.  If
+                      "alias" is terminated with a `;' instead of a `:',  then 
 both
+                      the  "alias" and the address are output in the correct 
format.
+                      (This makes replies possible since  _M_H  aliases  and 
 personal
+                      aliases are unknown to the mail transport system.)
+
+                 Since the alias file is read line by line, forward references 
work,
+                 but  backward  references  are  not  recognized,  thus, there 
is no
+                 recursion.
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -113-                       
MH-ALIAS(5)
+
+
+                 Example:
+                      </usr/local/lib/mh/BBoardAliases
+                      sgroup: fred, fear, freida
+                      b-people: Blind List: bill, betty;
+                      fred: address@hidden
+                      UNIX-committee: <unix.aliases
+                      staff: =staff
+                      wheels: +wheel
+                      everyone: *
+                      news.*: news
+
+                 The first line says that more aliases should  immediately  be 
 read
+                 from  the  file  
/_u_s_r/_l_o_c_a_l/_l_i_b/_m_h/_B_B_o_a_r_d_A_l_i_a_s_e_s.
   Following this,
+                 "fred" is defined as an alias for  "address@hidden",  and  
"sgroup"  is
+                 defined  as  an alias for the three names "address@hidden", 
"fear", and
+                 "freida".
+
+                 The alias "b-people" is a blind list which includes  the  
addresses
+                 "bill"   and  "betty";  the  message  will  be  delieved  to  
those
+                 addresses, but the message header will  show only "Blind  
List:  ;"
+                 (not the addresses).
+
+                 Next, the definition of "UNIX-committee" is given  by  
reading  the
+                 file  _u_n_i_x._a_l_i_a_s_e_s in the users _M_H 
directory, "staff" is defined as
+                 all users who are listed as members of the  group  "staff"  
in  the
+                 /_e_t_c/_g_r_o_u_p  file,  and  "wheels"  is  defined 
 as  all  users whose
+                 group-id in /_e_t_c/_p_a_s_s_w_d is equivalent to 
the "wheel" group.
+
+                 Finally, "everyone" is defined as  all  users  with  a  
user-id  in
+                 /_e_t_c/_p_a_s_s_w_d   greater  than  200,  and  all 
 aliases  of  the  form
+                 "news.<anything>" are defined to be "news".
+
+                 The key thing to understand about aliasing in _M_H is that 
aliases in
+                 _M_H  alias  files  are expanded into the headers of 
messages posted.
+                 This aliasing occurs first, at posting time, without the  
knowledge
+                 of  the  message  transport  system.  In contrast, once the 
message
+                 transport system is given  a  message  to  deliver  to  a  
list  of
+                 addresses, for each address that appears to be local, a 
system-wide
+                 alias file is consulted.  These aliases are NOT expanded  
into  the
+                 headers of messages delivered.
+
+            _H_e_l_p_f_u_l _H_i_n_t_s
+
+                 To use aliasing in _M_H quickly, do the following:
+
+                      First, in your ._m_h__p_r_o_f_i_l_e, choose a 
name for your alias file,
+                      say "aliases", and add the line:
+
+                           Aliasfile: aliases
+
+                      Second, create the file "aliases" in your _M_H 
directory.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-ALIAS(5)                      -114-                       
MH-ALIAS(5)
+
+
+                      Third,  start  adding  aliases  to  your  "aliases"  
file   as
+                      appropriate.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/MailAliases       Primary alias file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Aliasfile:           For a default alias file
+
+
+            _S_e_e _A_l_s_o
+                 ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), 
post(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 In previous releases of _M_H, only  a  single,  system-wide 
 mh-alias
+                 file  was  supported.  This led to a number of problems, 
since only
+                 mail-system administrators were capable  of  (un)defining  
aliases.
+                 Hence,  the semantics of mh-alias were extended to support 
personal
+                 alias files.  Users of _M_H no longer need to bother 
mail-system  ad-
+                 ministrators for keeping information in the system-wide alias 
file,
+                 as each _M_H user can create/modify/remove aliases at will  
from  any
+                 number of personal files.
+
+
+            _B_u_g_s
+                 Although  the  forward-referencing  semantics  of  
_m_h-_a_l_i_a_s   files
+                 prevent  recursion,  the  "< alias-file"  command  may defeat 
this.
+                 Since the number of file descriptors is finite (and very  
limited),
+                 such  infinite recursion will terminate with a meaningless 
diagnos-
+                 tic when all the fds are used up.
+
+                 Forward references do not work correctly inside blind lists.
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -115-                      
MH-FORMAT(5)
+
+
+            _N_A_M_E
+                 mh-format - format file for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 some _M_H commands
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Several _M_H commands utilize either a _f_o_r_m_a_t 
string or a _f_o_r_m_a_t file
+                 during their execution.  For example, _s_c_a_n (1) uses a 
format string
+                 which directs it how to generate the scan listing for each 
message;
+                 _r_e_p_l (1)  uses  a  format file which directs it how 
to generate the
+                 reply to a message, and so on.
+
+                 Format strings are designed to be efficiently parsed  by  
_M_H  which
+                 means  they  are  not  necessarily  simple to write and 
understand.
+                 This means that novice, casual, or even advanced users of 
_M_H should
+                 not  have  to deal with them.  Some canned scan listing 
formats are
+                 in  /usr/local/lib/mh/scan.time,  
/usr/local/lib/mh/scan.size,  and
+                 /usr/local/lib/mh/scan.timely.  Look in /usr/local/lib/mh for 
other
+                 _s_c_a_n and _r_e_p_l format files which may  have  
been  written  at  your
+                 site.
+
+                 It suffices to have your local _M_H expert actually write 
new  format
+                 commands or modify existing ones.  This manual section 
explains how
+                 to do that.   Note:  familiarity  with  the  C  
_p_r_i_n_t_f  routine  is
+                 assumed.
+
+                 A format string consists  of  ordinary  text,  and  special  
multi-
+                 character _e_s_c_a_p_e sequences which begin with `%'.  
When specifying a
+                 format string, the usual C backslash characters are honored:  
`\b',
+                 `\f', `\n', `\r', and `\t'.  Continuation lines in format 
files end
+                 with `\' followed by the newline character.  There are three  
types
+                 of  _e_s_c_a_p_e  sequences:  header  
_c_o_m_p_o_n_e_n_t_s, built-in _f_u_n_c_t_i_o_n_s, and
+                 flow _c_o_n_t_r_o_l.
+
+                 A _c_o_m_p_o_n_e_n_t escape is specified as 
`%{_c_o_m_p_o_n_e_n_t}', and  exists  for
+                 each  header  found  in  the  message being processed.  For 
example
+                 `%{date}' refers to the "Date:" field of the  appropriate  
message.
+                 All  component  escapes  have  a string value.  Normally, 
component
+                 values are compressed by converting any control characters 
(tab and
+                 newline  included)  to spaces, then eliding any leading or 
multiple
+                 spaces.  However, commands may give  different  
interpretations  to
+                 some  component  escapes; be sure to refer to each command's 
manual
+                 entry for complete details.
+
+                 A _f_u_n_c_t_i_o_n escape is specified as 
`%(_f_u_n_c_t_i_o_n)'.  All functions are
+                 built-in, and most have a string or numeric value.
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -116-                      
MH-FORMAT(5)
+
+
+              _C_o_n_t_r_o_l-_f_l_o_w _e_s_c_a_p_e_s
+
+                 A _c_o_n_t_r_o_l escape is one of: `%<', `%?', `%|', 
or  `%>'.  These  are
+                 combined into the conditional execution construct:
+
+                         %<condition
+                                 _f_o_r_m_a_t _t_e_x_t _1
+                         %?condition2
+                                 _f_o_r_m_a_t _t_e_x_t _2
+                         %?condition3
+                                 _f_o_r_m_a_t _t_e_x_t _3
+                         ...
+                         %|
+                                 _f_o_r_m_a_t _t_e_x_t _N
+                         %>
+
+                 Extra white space is shown here only for clarity.  These 
constructs
+                 may   be   nested   without   ambiguity.    They   form  a  
general
+                 if-elseif-else-endif block where only one of the 
_f_o_r_m_a_t  _t_e_x_t  seg-
+                 ments is interpreted.
+
+                 The `%<'  and  `%?'  control  escapes  causes  a  condition  
to  be
+                 evaluated.  This condition may be either a 
_c_o_m_p_o_n_e_n_t or a _f_u_n_c_t_i_o_n.
+                 The four constructs have the following syntax:
+
+                         %<{component}
+                         %<(function)
+                         %?{component}
+                         %?(function)
+
+                 These control escapes test whether the function or component  
value
+                 is   non-zero  (for  integer-valued  escapes),  or  non-empty 
 (for
+                 string-valued escapes).
+
+                 If this test evaulates true, then the format text up  to  the 
 next
+                 corresponding control escape (one of `%|', `%?', or `%>') is 
inter-
+                 preted normally.   Next,  all  format  text  (if  any)  up  
to  the
+                 corresponding  `%>'  control  escape  is skipped.  The `%>' 
control
+                 escape is not interpreted; normal interpretation resumes 
after  the
+                 `%>' escape.
+
+                 If the test evaluates false, however, then the format  text  
up  to
+                 the next corresponding control escape (again, one of `%|', 
`%?', or
+                 `%>') is skipped, instead of being  interpreted.   If  the  
control
+                 escape  encountered  was  `%?',  then the condition 
associated with
+                 that control escape is evaluated, and interpretation proceeds 
after
+                 that  test  as described in the previous paragraph.  If the 
control
+                 escape encountered was  `%|',  then  the  format  text  up  
to  the
+                 corresponding  `%>'  escape is interpreted normally.  As 
above, the
+                 `%>' escape is not interpreted and  normal  interpretation  
resumes
+                 after the `%>' escape.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -117-                      
MH-FORMAT(5)
+
+
+                 The `%?' control escape and its following format text is  
optional,
+                 and  may  be  included zero or more times.  The `%|' control 
escape
+                 and its following format text is also optional, and may be 
included
+                 zero or one times.
+
+
+              _F_u_n_c_t_i_o_n _e_s_c_a_p_e_s
+
+                 Most functions expect an argument of a particular type:
+
+                 _A_r_g_u_m_e_n_t _D_e_s_c_r_i_p_t_i_o_n    
        _E_x_a_m_p_l_e _S_y_n_t_a_x
+                 literal  A literal number,      %(_f_u_n_c 1234)
+                          or string              %(_f_u_n_c text string)
+                 comp     Any header component   
%(_f_u_n_c{_i_n-_r_e_p_l_y-_t_o})
+                 date     A date component       %(_f_u_n_c{_d_a_t_e})
+                 addr     An address component   %(_f_u_n_c{_f_r_o_m})
+                 expr     An optional component, 
%(_f_u_n_c(_f_u_n_c_2))
+                          function or control,   %(_f_u_n_c 
%<{_r_e_p_l_y-_t_o}%|%{_f_r_o_m}%>)
+                          perhaps nested         
%(_f_u_n_c(_f_u_n_c_2{_c_o_m_p}))
+
+                 The types _d_a_t_e and _a_d_d_r have the same syntax 
as _c_o_m_p,  but  require
+                 that  the  header  component  be  a date string, or address 
string,
+                 respectively.
+
+                 All arguments except those of type _e_x_p_r are required. 
 For the _e_x_p_r
+                 argument  type,  the  leading `%' must be omitted for 
component and
+                 function escape arguments, and must  be  present  (with  a  
leading
+                 space) for control escape arguments.
+
+                 The evaluation of format strings is based on a simple machine 
 with
+                 an  integer  register  _n_u_m, and a text string register 
_s_t_r.  When a
+                 function escape is processed, if it accepts an optional 
_e_x_p_r  argu-
+                 ment which is not present, it reads the current value of 
either _n_u_m
+                 or _s_t_r as appropriate.
+
+
+              _R_e_t_u_r_n _v_a_l_u_e_s
+
+                 Component escapes write the value of their message header  in 
 _s_t_r.
+                 Function  escapes  write  their  return  value in _n_u_m 
for functions
+                 returning _i_n_t_e_g_e_r or _b_o_o_l_e_a_n  
values,  and  in  _s_t_r  for  functions
+                 returning string values.  (The _b_o_o_l_e_a_n type is 
a subset of integers
+                 with usual values 0=false and 1=true.)  Control  escapes  
return  a
+                 _b_o_o_l_e_a_n value, and set _n_u_m.
+
+                 All component escapes, and those function escapes which  
return  an
+                 _i_n_t_e_g_e_r  or  _s_t_r_i_n_g  value, pass 
this value back to their caller in
+                 addition to setting _s_t_r or _n_u_m.  These escapes 
will print out  this
+                 value  unless  called  as  part  of  an  argument to another 
escape
+                 sequence.  Escapes which return a _b_o_o_l_e_a_n value 
do pass this  value
+                 back to their caller in _n_u_m, but will never print out 
the value.
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -118-                      
MH-FORMAT(5)
+
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 msg                 integer  message number
+                 cur                 integer  message is current
+                 size                integer  size of message
+                 strlen              integer  length of _s_t_r
+                 width               integer  output buffer size in bytes
+                 charleft            integer  bytes left in output buffer
+                 timenow             integer  seconds since the UNIX epoch
+                 me                  string   the user's mailbox
+                 eq         literal  boolean  _n_u_m == _a_r_g
+                 ne         literal  boolean  _n_u_m != _a_r_g
+                 gt         literal  boolean  _n_u_m > _a_r_g
+                 match      literal  boolean  _s_t_r contains _a_r_g
+                 amatch     literal  boolean  _s_t_r starts with _a_r_g
+                 plus       literal  integer  _a_r_g plus _n_u_m
+                 minus      literal  integer  _a_r_g minus _n_u_m
+                 divide     literal  integer  _n_u_m divided by _a_r_g
+                 modulo     literal  integer  _n_u_m modulo _a_r_g
+                 num        literal  integer  Set _n_u_m to _a_r_g
+                 lit        literal  string   Set _s_t_r to _a_r_g
+                 getenv     literal  string   Set _s_t_r to environment 
value of _a_r_g
+                 profile    literal  string   Set _s_t_r to profile 
component _a_r_g value
+                 nonzero    expr     boolean  _n_u_m is non-zero
+                 zero       expr     boolean  _n_u_m is zero
+                 null       expr     boolean  _s_t_r is empty
+                 nonnull    expr     boolean  _s_t_r is non-empty
+                 void       expr              Set _s_t_r or _n_u_m
+                 comp       comp     string   Set _s_t_r to component text
+                 compval    comp     integer  _n_u_m set to 
"atoi(_c_o_m_p)"
+                 trim       expr              trim trailing white-space from 
_s_t_r
+                 putstr     expr              print _s_t_r
+                 putstrf    expr              print _s_t_r in a fixed width
+                 putnum     expr              print _n_u_m
+                 putnumf    expr              print _n_u_m in a fixed width
+
+                 These functions require a date component as an argument:
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 sec        date     integer  seconds of the minute
+                 min        date     integer  minutes of the hour
+                 hour       date     integer  hours of the day (0-23)
+                 wday       date     integer  day of the week (Sun=0)
+                 day        date     string   day of the week (abbrev.)
+                 weekday    date     string   day of the week
+                 sday       date     integer  day of the week known?
+                                              (0=implicit,-1=unknown)
+                 mday       date     integer  day of the month
+                 yday       date     integer  day of the year
+                 mon        date     integer  month of the year
+                 month      date     string   month of the year (abbrev.)
+                 lmonth     date     string   month of the year
+                 year       date     integer  year (may be > 100)
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -119-                      
MH-FORMAT(5)
+
+
+                 zone       date     integer  timezone in hours
+                 tzone      date     string   timezone string
+                 szone      date     integer  timezone explicit?
+                                              (0=implicit,-1=unknown)
+                 date2local date              coerce date to local timezone
+                 date2gmt   date              coerce date to GMT
+                 dst        date     integer  daylight savings in effect?
+                 clock      date     integer  seconds since the UNIX epoch
+                 rclock     date     integer  seconds prior to current time
+                 tws        date     string   official 822 rendering
+                 pretty     date     string   user-friendly rendering
+                 nodate     date     integer  _s_t_r not a date string
+
+                 These functions require an address component as  an  
argument.  The
+                 return  value of functions noted with `*' pertain only to the 
first
+                 address present in the header component.
+
+                 _F_u_n_c_t_i_o_n   _A_r_g_u_m_e_n_t 
_R_e_t_u_r_n   _D_e_s_c_r_i_p_t_i_o_n
+                 proper     addr     string   official 822 rendering
+                 friendly   addr     string   user-friendly rendering
+                 addr       addr     string   address@hidden or host!mbox 
rendering*
+                 pers       addr     string   the personal name*
+                 note       addr     string   commentary text*
+                 mbox       addr     string   the local mailbox*
+                 mymbox     addr     integer  the user's addresses? 
(0=no,1=yes)
+                 host       addr     string   the host domain*
+                 nohost     addr     integer  no host was present*
+                 type       addr     integer  host type* (0=local,1=network,
+                                              -1=uucp,2=unknown)
+                 path       addr     string   any leading host route*
+                 ingrp      addr     integer  address was inside a group*
+                 gname      addr     string   name of group*
+                 formataddr expr              append _a_r_g to _s_t_r as 
a
+                                              (comma separated) address list
+                 putaddr    literal           print _s_t_r address list with
+                                              _a_r_g as optional label;
+                                              get line width from _n_u_m
+
+                 When escapes are nested, evaluation  is  done  from  
inner-most  to
+                 outer-most.   The  outer-most escape must begin with `%'; the 
inner
+                 escapes must not.  For example,
+
+                      %<(mymbox{from}) To: %{to}%>
+
+                 writes the value of the header component "From:" to 
_s_t_r; then (_m_y_m_-
+                 _b_o_x)  reads  _s_t_r  and  writes  its  result to 
_n_u_m; then the control
+                 escape evaluates _n_u_m.  If _n_u_m is non-zero, the  
string  "To:  "  is
+                 printed followed by the value of the header component "To:".
+
+                 A minor explanation of (_m_y_m_b_o_x{_c_o_m_p}) is 
in order.  In general,  it
+                 checks each of the addresses in the header component 
"_c_o_m_p" against
+                 the user's mailbox name and any  
_A_l_t_e_r_n_a_t_e-_M_a_i_l_b_o_x_e_s.   It  returns
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -120-                      
MH-FORMAT(5)
+
+
+                 true  if  any address matches, however, it also returns true 
if the
+                 "_c_o_m_p" header is not present in the message.  If 
needed, the (_n_u_l_l)
+                 function can be used to explicitly test for this condition.
+
+                 When a function or component escape is interpreted and  the  
result
+                 will  be immediately printed, an optional field width can be 
speci-
+                 fied to print the field in exactly a given  number  of  
characters.
+                 For  example,  a  numeric escape like %4(_s_i_z_e) will 
print at most 4
+                 digits of the message size; overflow will be indicated by a 
`?'  in
+                 the first position (like `?234').  A string escape like 
%4(_m_e) will
+                 print the first 4 characters and truncate at the end. Short  
fields
+                 are  padded  at  the  right  with  the  fill character 
(normally, a
+                 blank).  If the field width argument begins with  a  leading  
zero,
+                 then the fill character is set to a zero.
+
+                 As above, the functions (_p_u_t_n_u_m_f) and 
(_p_u_t_s_t_r_f) print their  result
+                 in  exactly  the  number  of  characters specified by their 
leading
+                 field width argument. For example,  
%06(_p_u_t_n_u_m_f(_s_i_z_e))  will  print
+                 the message size in a field six characters wide filled with 
leading
+                 zeros; %14(_p_u_t_s_t_r_f{_f_r_o_m}) will print 
the "From:"  header  component
+                 in  fourteen  characters with trailing spaces added as 
needed.  For
+                 _p_u_t_s_t_r_f, using a negative value for the field 
width  causes  right-
+                 justification  of  the string within the field, with padding 
on the
+                 left up to the field width.  The functions  
(_p_u_t_n_u_m)  and  (_p_u_t_s_t_r)
+                 print  their  result  in the minimum number of characters 
required,
+                 and ignore any leading field width argument.
+
+                 The available output width is kept in  an  internal  
register;  any
+                 output past this width will be truncated.
+
+                 Comments may be inserted in most places where a  function  
argument
+                 is  not expected.  A comment begins with `%;' and ends with a 
(non-
+                 escaped) newline.
+
+                 With all this in mind, here's the default format string  for  
_s_c_a_n.
+                 It's  been  divided into several pieces for readability.  The 
first
+                 part is:
+
+                      %4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>
+
+                 which says that the  message  number  should  be  printed  in 
 four
+                 digits,  if  the  message  is the current message then a `+' 
else a
+                 space should be printed, and if a "Replied:" field is present 
 then
+                 a  `-'  else if an "Encrypted:" field is present then an `E' 
other-
+                 wise a space should be printed.  Next:
+
+                      %02(mon{date})/%02(mday{date})
+
+                 the month  and  date  are  printed  in  two  digits  (zero  
filled)
+                 separated by a slash.  Next,
+
+                      %<{date} %|*>
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -121-                      
MH-FORMAT(5)
+
+
+                 If a "Date:" field was present, then a space is printed,  
otherwise
+                 a `*'.  Next,
+
+                      %<(mymbox{from})%<{to}To:%14(friendly{to})%>%>
+
+                 if the message is from me, and there is a "To:" header, print 
`To:'
+                 followed by a "user-friendly" rendering of the first address 
in the
+                 "To:" field.  Continuing,
+
+                      %<(zero)%17(friendly{from})%>
+
+                 if either of the above two tests failed, then the  "From:"  
address
+                 is printed in a "user-friendly" format.  And finally,
+
+                      %{subject}%<{body}<<%{body}%>
+
+                 the subject and initial body (if any) are printed.
+
+                 For a more complicated example, next consider the default 
_r_e_p_l_c_o_m_p_s
+                 format file.
+
+                      %(lit)%(formataddr %<{reply-to}
+
+                 This clears _s_t_r and formats the "Reply-To:" header if 
present.   If
+                 not present, the else-if clause is executed.
+
+                      %?{from}%?{sender}%?{return-path}%>)\
+
+                 This formats the "From:",  "Sender:"  and  "Return-Path:"  
headers,
+                 stopping as soon as one of them is present.  Next:
+
+                      %<(nonnull)%(void(width))%(putaddr To: )\n%>\
+
+                 If the _f_o_r_m_a_t_a_d_d_r result is non-null, it 
is printed as  an  address
+                 (with  line folding if needed) in a field _w_i_d_t_h 
wide with a leading
+                 label of "To: ".
+
+                      
%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
+
+                 _s_t_r is cleared, and the "To:" and "Cc:"  headers,  
along  with  the
+                 user's  address  (depending  on  what  was specified with the 
"-cc"
+                 switch to _r_e_p_l) are formatted.
+
+                      %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
+
+                 If the result is non-null, it is printed as above  with  a  
leading
+                 label of "cc: ".
+
+                      %<{fcc}Fcc: %{fcc}\n%>\
+
+                 If a "-fcc folder" switch was given to _r_e_p_l (see 
_r_e_p_l (1) for  more
+                 details about %{_f_c_c}), an "Fcc:" header is output.
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -122-                      
MH-FORMAT(5)
+
+
+                      %<{subject}Subject: Re: %{subject}\n%>\
+
+                 If a subject component was present, a  suitable  reply  
subject  is
+                 output.
+
+                      %<{date}In-reply-to: Your message of "\
+                      
%<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
+                                   %{message-id}%>\n%>\
+                      --------
+
+                 If a date component was present, an "In-Reply-To:" header is 
output
+                 with the preface "Your message of ".  If the date was 
parseable, it
+                 is output in a user-friendly format, otherwise it is output  
as-is.
+                 The message-id is included if present.  As with all 
plain-text, the
+                 row of dashes are output as-is.
+
+                 This last part is a good example for  a  little  more  
elaboration.
+                 Here's that part again in pseudo-code:
+
+                      if (comp_exists(date))  then
+                           print ("In-reply-to: Your message of \"")
+                           if (not_date_string(date.value) then
+                                print (date.value)
+                           else
+                                print (pretty(date.value))
+                           endif
+                           print ("\"")
+                           if (comp_exists(message-id)) then
+                                print ("\n\t")
+                                print (message-id.value)
+                           endif
+                           print ("\n")
+                      endif
+
+                 Although this seems complicated, in point of fact, this  
method  is
+                 flexible  enough to extract individual fields and print them 
in any
+                 format the user desires.
+
+            _F_i_l_e_s
+                 None
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 scan(1), repl(1), ap(8), dp(8)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-FORMAT(5)                     -123-                      
MH-FORMAT(5)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _H_i_s_t_o_r_y
+                 This software was contributed for MH 6.3.  Prior  to  this,  
output
+                 format  specifications  were much easier to write, but 
considerably
+                 less flexible.
+
+
+            _B_u_g_s
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -124-                        
MH-MAIL(5)
+
+
+            _N_A_M_E
+                 mh-mail - message format for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 any _M_H command
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _M_H processes messages in a particular format.  It should  
be  noted
+                 that  although  neither  Bell  nor Berkeley mailers produce 
message
+                 files in the format that _M_H prefers, _M_H can read 
message  files  in
+                 that antiquated format.
+
+                 Each user possesses a mail drop box which  initially  
receives  all
+                 messages  processed  by _p_o_s_t (8).  _I_n_c (1) will 
read from that drop
+                 box and incorporate the new messages found there  into  the  
user's
+                 own  mail folders (typically `+inbox').  The mail drop box 
consists
+                 of one or more messages.
+
+                 Messages are expected to consist of lines of  text.   
Graphics  and
+                 binary data are not handled.  No data compression is 
accepted.  All
+                 text is clear ASCII 7-bit data.
+
+                 The general "memo" framework of RFC-822 is used.   A  message 
 con-
+                 sists of a block of information in a rigid format, followed 
by gen-
+                 eral text with no specified format.  The  rigidly  formatted  
first
+                 part of a message is called the header, and the free-format 
portion
+                 is called the body.  The header must always exist, but the 
body  is
+                 optional.   These  parts  are separated by an empty line, 
i.e., two
+                 consecutive newline characters.  Within _M_H, the header 
and body may
+                 be separated by a line consisting of dashes:
+
+                      To:
+                      cc:
+                      Subject:
+                      --------
+
+                 The header is composed of one or more header  items.   Each  
header
+                 item  can  be  viewed as a single logical line of ASCII 
characters.
+                 If the text of a header item extends across several real 
lines, the
+                 continuation lines are indicated by leading spaces or tabs.
+
+                 Each header item is called a component and is composed of a 
keyword
+                 or  name,  along  with  associated text.  The keyword begins 
at the
+                 left margin, may NOT contain spaces or  tabs,  may  not  
exceed  63
+                 characters  (as specified by RFC-822), and is terminated by a 
colon
+                 (`:').  Certain components (as identified by their  keywords) 
 must
+                 follow rigidly defined formats in their text portions.
+
+                 The  text  for  most  formatted  components  (e.g.,   "Date:" 
  and
+                 "Message-Id:") is produced automatically.  The only ones 
entered by
+                 the user are address fields such as "To:",  "cc:",  etc.   
Internet
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -125-                        
MH-MAIL(5)
+
+
+                 addresses  are  assigned mailbox names and host computer 
specifica-
+                 tions.  The rough format is "address@hidden", such  as  
"address@hidden",  or
+                 "address@hidden".  Multiple addresses are separated by 
commas.  A
+                 missing host/domain is assumed to be the local host/domain.
+
+                 As mentioned above, a blank line (or a line of dashes) 
signals that
+                 all  following text up to the end of the file is the body.  
No for-
+                 matting is expected or enforced within the body.
+
+                 Following is a list of header components that are considered  
mean-
+                 ingful to various MH programs.
+                 Date:
+                      Added by _p_o_s_t (8), contains date and  time  of  
the  message's
+                      entry into the transport system.
+
+                 From:
+                      Added by _p_o_s_t (8), contains  the  address  of  
the  author  or
+                      authors  (may  be  more  than  one  if  a  "Sender:"  
field is
+                      present).  Replies are typically directed to addresses 
in  the
+                      "Reply-To:"  or  "From:"  field  (the former has 
precedence if
+                      present).
+
+                 Sender:
+                      Added by _p_o_s_t (8) in the event that the message 
already has  a
+                      "From:"  line.   This  line contains the address of the 
actual
+                      sender.  Replies are never sent to addresses in the  
"Sender:"
+                      field.
+
+                 To:
+                      Contains addresses of primary recipients.
+
+                 cc:
+                      Contains addresses of secondary recipients.
+
+                 Bcc:
+                      Still more recipients.  However, the "Bcc:" line is not 
copied
+                      onto  the  message  as  delivered, so these recipients 
are not
+                      listed.  _M_H uses an encapsulation method for blind 
copies, see
+                      _s_e_n_d (1).
+
+                 Fcc:
+                      Causes _p_o_s_t (8) to copy the message into the 
specified  folder
+                      for  the  sender, if the message was successfully given 
to the
+                      transport system.
+
+                 Message-ID:
+                      A unique message identifier added by _p_o_s_t (8) if 
the  `-msgid'
+                      flag is set.
+
+                 Subject:
+                      Sender's commentary.  It is displayed by _s_c_a_n 
(1).
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -126-                        
MH-MAIL(5)
+
+
+                 In-Reply-To:
+                      A commentary line added by _r_e_p_l (1) when 
replying  to  a  mes-
+                      sage.
+
+                 Resent-Date:
+                      Added when redistributing a message by _p_o_s_t (8).
+
+                 Resent-From:
+                      Added when redistributing a message by _p_o_s_t (8).
+
+                 Resent-To:
+                      New recipients for a message resent by _d_i_s_t (1).
+
+                 Resent-cc:
+                      Still more recipients.  See "cc:" and "Resent-To:".
+
+                 Resent-Bcc:
+                      Even more recipients.  See "Bcc:" and "Resent-To:".
+
+                 Resent-Fcc:
+                      Copy  resent  message  into  a   folder.    See   "Fcc:" 
  and
+                      "Resent-To:".
+
+                 Resent-Message-Id:
+                      A unique identifier glued on by _p_o_s_t (8) if the 
`-msgid'  flag
+                      is set.  See "Message-Id:" and "Resent-To:".
+
+                 Resent:
+                      Annotation for _d_i_s_t (1) under the `-annotate' 
option.
+
+                 Forwarded:
+                      Annotation for _f_o_r_w (1) under the `-annotate' 
option.
+
+                 Replied:
+                      Annotation for _r_e_p_l (1) under the `-annotate' 
option.
+
+
+            _F_i_l_e_s
+                 /usr/spool/mail/$USER               Location of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-MAIL(5)                       -127-                        
MH-MAIL(5)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -128-                     
MH-PROFILE(5)
+
+
+            _N_A_M_E
+                 mh-profile - user profile customization for MH message handler
+
+            _S_Y_N_O_P_S_I_S
+                 ._m_h__p_r_o_f_i_l_e
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Each user of _M_H is expected to have a file named 
._m_h__p_r_o_f_i_l_e in his
+                 or her home directory.  This file contains a set of user 
parameters
+                 used by some or all of the _M_H family of programs.  Each 
line of the
+                 file is of the format
+
+                     _p_r_o_f_i_l_e-_c_o_m_p_o_n_e_n_t: 
_v_a_l_u_e
+
+                 The  possible  profile  components  are  exemplified  below.  
 Only
+                 `Path:'  is  mandatory.  The others are optional; some have 
default
+                 values if they are not present.  In the notation used below,  
(pro-
+                 file,  default)  indicates  whether  the information is kept 
in the
+                 user's _M_H profile or _M_H context, and  indicates  what 
 the  default
+                 value is.
+
+                 Path: Mail
+                           Locates _M_H transactions in directory  "Mail".   
(profile,
+                           no default)
+
+                 context: context
+                           Declares the location of the _M_H  context  file, 
 see  the
+                           HISTORY     section     below.      (profile,    
default:
+                           <mh-dir>/context)
+
+                 Current-Folder: inbox
+                           Keeps  track  of  the  current  open  folder.   
(context,
+                           default: folder specified by "Inbox")
+
+                 Inbox:  inbox
+                           Defines the  name  of  your  inbox.   (profile,  
default:
+                           inbox)
+
+                 Previous-Sequence: pseq
+                           Names the sequences which should be defined as the 
`msgs'
+                           or  `msg' argument given to the program.  If not 
present,
+                           or empty, no sequences are defined.  Otherwise, for 
 each
+                           name  given,  the  sequence is first zero'd and 
then each
+                           message is added to the sequence.  (profile, no 
default)
+
+                 Sequence-Negation: not
+                           Defines the string which, when  prefixed  to  a  
sequence
+                           name,  negates that sequence.  Hence, "notseen" 
means all
+                           those messages that are not  a  member  of  the  
sequence
+                           "seen".  (profile, no default)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -129-                     
MH-PROFILE(5)
+
+
+                 Unseen-Sequence: unseen
+                           Names the sequences which should be defined as 
those mes-
+                           sages recently incorporated by _i_n_c.  
_S_h_o_w knows to remove
+                           messages from this sequence once it thinks they 
have been
+                           seen.   If  not  present,  or  empty,  no  
sequences  are
+                           defined.   Otherwise,  each  message  is  added  to 
 each
+                           sequence name given.  (profile, no default)
+
+                 mh-sequences: .mh_sequences
+                           The name of the file in each folder which defines  
public
+                           sequences.  To disable the use of public sequences, 
leave
+                           the  value  portion  of  this  entry  blank.    
(profile,
+                           default: .mh_sequences)
+
+                 atr-_s_e_q-_f_o_l_d_e_r: 172 178-181 212
+                           Keeps track of the private sequence  called  
_s_e_q  in  the
+                           specified folder.  (context, no default)
+
+                 Editor: /usr/ucb/ex
+                           Defines  editor  to  be  used  by   _c_o_m_p 
(1),   _d_i_s_t (1),
+                           _f_o_r_w (1), and _r_e_p_l (1).  (profile, 
default: prompter)
+
+                 Msg-Protect: 644
+                           Defines octal protection bits  for  message  files. 
  See
+                           _c_h_m_o_d (1)  for an explanation of the 
octal number.  (pro-
+                           file, default: 0644)
+
+                 Folder-Protect: 711
+                           Defines protection bits for  folder  directories.   
(pro-
+                           file, default: 0711)
+
+                 _p_r_o_g_r_a_m: default switches
+                           Sets default switches to be used whenever the mh  
program
+                           _p_r_o_g_r_a_m  is invoked.  For example, 
one could override the
+                           _E_d_i_t_o_r: profile component when replying 
 to  messages  by
+                           adding a component such as:
+                                   repl: -editor /bin/ed
+                           (profile, no defaults)
+
+                 _l_a_s_t_e_d_i_t_o_r-next: nexteditor
+                           Names "nexteditor" to be the default editor  after  
using
+                           "lasteditor".   This takes effect at "What now?" 
level in
+                           _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l.  After editing the draft with
+                           "lasteditor",  the  default editor is set to be 
"nextedi-
+                           tor".  If the user types "edit" without any 
arguments  to
+                           "What  now?",  then  "nexteditor"  is used.  
(profile, no
+                           default)
+
+                 bboards: system
+                           Tells _b_b_c which BBoards you are interested 
in.  (profile,
+                           default: system)
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -130-                     
MH-PROFILE(5)
+
+
+                 Folder-Stack: _f_o_l_d_e_r_s
+                           The contents of the folder-stack for the 
_f_o_l_d_e_r  command.
+                           (context, no default)
+
+                 mhe:
+                           If present, tells _i_n_c to  compose  an  
_M_H_E  auditfile  in
+                           addition  to  its other tasks.  _M_H_E is Brian 
Reid's _E_m_a_c_s
+                           front-end for _M_H.  An early version is supplied 
with  the
+                           _m_h._6 distribution.  (profile, no default)
+
+                 Alternate-Mailboxes: address@hidden, bug-mh*
+                           Tells _r_e_p_l and _s_c_a_n which addresses 
are really yours.  In
+                           this  way,  _r_e_p_l knows which addresses 
should be included
+                           in the reply, and _s_c_a_n knows if the message 
 really  ori-
+                           ginated  from  you.   Addresses  must  be  
separated by a
+                           comma, and the hostnames listed should be the  
"official"
+                           hostnames  for the mailboxes you indicate, as local 
nick-
+                           names for hosts are not replaced with their 
official site
+                           names.   For  each  address, if a host is not 
given, then
+                           that address on any host is considered  to  be  
you.   In
+                           addition,  an asterisk (`*') may appear at either 
or both
+                           ends of the mailbox and host to indicate wild-card 
match-
+                           ing.  (profile, default: your user-id)
+
+                 Aliasfile: aliases other-alias
+                           Indicates aliases files for _a_l_i, 
_w_h_o_m,  and  _s_e_n_d.   This
+                           may  be  used instead of the `-alias file' switch.  
(pro-
+                           file, no default)
+
+                 Draft-Folder: drafts
+                           Indicates a default draft folder for  _c_o_m_p, 
 _d_i_s_t,  _f_o_r_w,
+                           and _r_e_p_l.  (profile, no default)
+
+                 digest-issue-_l_i_s_t: 1
+                           Tells _f_o_r_w the last issue of the last 
volume sent for the
+                           digest _l_i_s_t.  (context, no default)
+
+                 digest-volume-_l_i_s_t: 1
+                           Tells _f_o_r_w the last volume  sent  for  the  
digest  _l_i_s_t.
+                           (context, no default)
+
+                 MailDrop: .mail
+                           Tells _i_n_c your maildrop, if different from  
the  default.
+                           This is superceded by the MAILDROP envariable.  
(profile,
+                           default: /usr/spool/mail/$USER)
+
+                 Signature: RAND MH System (agent: Marshall Rose)
+                           Tells _s_e_n_d your mail signature.  This  is  
superceded  by
+                           the  SIGNATURE  envariable.   If SIGNATURE is not 
set and
+                           this profile entry is not present, the  "gcos"  
field  of
+                           the  /_e_t_c/_p_a_s_s_w_d  file  will be 
used; otherwise, on hosts
+                           where _M_H was configured with the  UCI  option,  
the  file
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -131-                     
MH-PROFILE(5)
+
+
+                           $HOME/.signature  is  consulted.   Your signature 
will be
+                           added to the address _s_e_n_d puts in the 
"From:" header;  do
+                           not  include an address in the signature text.  
(profile,
+                           no default)
+
+                 The following profile elements are  used  whenever  an  
_M_H  program
+                 invokes  some  other program such as _m_o_r_e (1).  The 
._m_h__p_r_o_f_i_l_e can
+                 be used to select alternate  programs  if  the  user  wishes. 
  The
+                 default values are given in the examples.
+
+                      fileproc:     /usr/local/refile
+                      incproc:      /usr/local/inc
+                      installproc:  /usr/local/lib/mh/install-mh
+                      lproc:        /usr/ucb/more
+                      mailproc:     /usr/local/mhmail
+                      mhlproc:      /usr/local/lib/mh/mhl
+                      moreproc:     /usr/ucb/more
+                      mshproc:      /usr/local/msh
+                      packproc:     /usr/local/packf
+                      postproc:     /usr/local/lib/mh/post
+                      rmmproc:      none
+                      rmfproc:      /usr/local/rmf
+                      sendproc:     /usr/local/send
+                      showproc:     /usr/ucb/more
+                      whatnowproc:  /usr/local/whatnow
+                      whomproc:     /usr/local/whom
+
+                 If you define the envariable MH, you can specify  a  profile  
other
+                 than ._m_h__p_r_o_f_i_l_e to be read by the _M_H 
programs that you invoke.  If
+                 the value of MH is not absolute, (i.e., does not begin with a 
 / ),
+                 it  will  be  presumed to start from the current working 
directory.
+                 This is one of the very few exceptions  in  _M_H  where  
non-absolute
+                 pathnames are not considered relative to the user's _M_H 
directory.
+
+                 Similarly, if you define the envariable MHCONTEXT, you can  
specify
+                 a  context  other than the normal context file (as specified 
in the
+                 _M_H profile).  As always, unless the value of MHCONTEXT is 
absolute,
+                 it will be presumed to start from your _M_H directory.
+
+                 _M_H programs also support other envariables:
+
+                 MAILDROP : tells _i_n_c the default maildrop
+                      This supercedes the "MailDrop:" profile entry.
+
+                 SIGNATURE : tells _s_e_n_d and _p_o_s_t your mail 
signature
+                      This supercedes the "Signature:" profile entry.
+
+                 HOME : tells all _M_H programs your home directory
+
+                 SHELL : tells _b_b_l the default shell to run
+
+                 TERM : tells _M_H your terminal type
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -132-                     
MH-PROFILE(5)
+
+
+                      The TERMCAP envariable  is  also  consulted.   In  
particular,
+                      these  tell  _s_c_a_n  and _m_h_l how to clear 
your terminal, and how
+                      many columns wide your terminal is.  They also  tell  
_m_h_l  how
+                      many lines long your terminal screen is.
+
+                 editalt : the alternate message
+                      This is set by _d_i_s_t and _r_e_p_l during edit 
sessions so  you  can
+                      peruse  the message being distributed or replied to.  
The mes-
+                      sage is also available  through  a  link  called  "@"  
in  the
+                      current  directory  if  your current working directory 
and the
+                      folder the message lives in are on the same UNIX 
filesystem.
+
+                 mhdraft : the path to the working draft
+                      This is set by _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l to  tell  the  _w_h_a_t_-
+                      _n_o_w_p_r_o_c  which  file  to  ask "What now?" 
questions about.  In
+                      addition, _d_i_s_t, _f_o_r_w, and _r_e_p_l 
set  mhfolder  if  appropriate.
+                      Further,  _d_i_s_t  and  _r_e_p_l set mhaltmsg 
to tell the _w_h_a_t_n_o_w_p_r_o_c
+                      about an alternate message associated with the draft 
(the mes-
+                      sage being distributed or replied to), and _d_i_s_t 
sets mhdist to
+                      tell the _w_h_a_t_n_o_w_p_r_o_c that message  
re-distribution  is  occur-
+                      ring.   Also,  mheditor  is  set  to  tell the 
_w_h_a_t_n_o_w_p_r_o_c the
+                      user's choice of  editor  (unless  overridden  by  
`-noedit').
+                      Similarly,  mhuse  may be set by _c_o_m_p.  Finally, 
mhmessages is
+                      set by _d_i_s_t, _f_o_r_w, and _r_e_p_l if 
annotations are to occur (along
+                      with  mhannotate, and mhinplace).  It's amazing all the 
infor-
+                      mation that has to get passed  via  envariables  to  
make  the
+                      "What now?" interface look squeaky clean to the _M_H 
user, isn't
+                      it?  The reason for all this is that the _M_H  user  
can  select
+                      _a_n_y  program as the 
_w_h_a_t_n_o_w_p_r_o_c, including one of the standard
+                      shells.  As a result, it's not possible  to  pass  
information
+                      via an argument list.
+                      If the WHATNOW option was set during  _M_H  
configuration  (type
+                      `-help'  to an _M_H command to find out), and if this 
envariable
+                      is set, if the commands _r_e_f_i_l_e, 
_s_e_n_d, _s_h_o_w, or  _w_h_o_m  are  not
+                      given  any  `msgs'  arguments, then they will default to 
using
+                      the file indicated by mhdraft.  This is useful for 
getting the
+                      default behavior supplied by the default 
_w_h_a_t_n_o_w_p_r_o_c.
+
+                 mhfolder : the folder containing the alternate message
+                      This is set by _d_i_s_t and _r_e_p_l during edit 
sessions so  you  can
+                      peruse  other  messages  in the current folder besides 
the one
+                      being distributed or replied to.  The mhfolder  
envariable  is
+                      also set by _s_h_o_w, _p_r_e_v, and _n_e_x_t 
for use by _m_h_l.
+
+                 MHBBRC :
+                      If you define the envariable MHBBRC, you can specify a 
BBoards
+                      information  file  other than ._b_b_r_c to be read 
by _b_b_c.  If the
+                      value of MHBBRC is not absolute, (i.e., does not begin 
with  a
+                      / ),  it  will  be  presumed to start from the current 
working
+                      directory.
+
+                 MHFD :
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -133-                     
MH-PROFILE(5)
+
+
+                      If the OVERHEAD option was set during _M_H  
configuration  (type
+                      `-help' to an _M_H command to find out), then if this 
envariable
+                      is set, _M_H considers it to be the number of a file  
descriptor
+                      which  is  opened, read-only to the _M_H profile.  
Similarly, if
+                      the envariable MHCONTEXTFD is set, this is  the  number  
of  a
+                      file  descriptor  which is opened read-only to the 
_M_H context.
+                      This feature of _M_H is experimental, and  is  used  
to  examine
+                      possible  speed  improvements for _M_H startup.  Note 
that these
+                      envariables must be set and non-empty to enable this  
feature.
+                      However,  if OVERHEAD is enabled during _M_H 
configuration, then
+                      when _M_H programs call other _M_H programs, this 
scheme is  used.
+                      These file descriptors are not closed throughout the 
execution
+                      of the _M_H program, so children may  take  advantage  
of  this.
+                      This approach is thought to be completely safe and does 
result
+                      in some performance enhancements.
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 or $MH                              Rather than the standard 
profile
+                 <mh-dir>/context                    The user context
+                 or $CONTEXT                         Rather than the standard 
context
+                 <folder>/.mh_sequences              Public sequences for 
<folder>
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 All
+
+
+            _S_e_e _A_l_s_o
+                 mh(1), environ(5), mh-sequence(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 All
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -134-                     
MH-PROFILE(5)
+
+
+            _H_i_s_t_o_r_y
+                 In previous versions of _M_H, the current-message value of 
a writable
+                 folder  was  kept  in a file called "cur" in the folder 
itself.  In
+                 _m_h._3, the ._m_h__p_r_o_f_i_l_e contained the 
current-message values for  all
+                 folders, regardless of their writability.
+
+                 In all versions of _M_H since _m_h._4,  the  
._m_h__p_r_o_f_i_l_e  contains  only
+                 static  information, which _M_H programs will NOT update.  
Changes in
+                 context are made to the _c_o_n_t_e_x_t file kept in 
the users MH  _d_i_r_e_c_t_o-
+                 _r_y.  This includes, but is not limited to: the 
"Current-Folder" en-
+                 try and all private sequence information.  Public sequence 
informa-
+                 tion is kept in a file called 
._m_h__s_e_q_u_e_n_c_e_s in each folder.
+
+                 To convert from the format used in releases of _M_H prior 
to the for-
+                 mat used in the _m_h._4 release, 
_i_n_s_t_a_l_l-_m_h should be invoked with the
+                 `-compat' switch.  This generally happens automatically on 
_M_H  sys-
+                 tems generated with the "COMPAT" option during _M_H 
configuration.
+
+                 The ._m_h__p_r_o_f_i_l_e may override the  path  of  
the  _c_o_n_t_e_x_t  file,  by
+                 specifying  a "context" entry (this must be in lower-case).  
If the
+                 entry is not absolute (does not start with a / ), then it is 
inter-
+                 preted  relative  to the user's _M_H directory.  As a 
result, you can
+                 actually have more than one set of private sequences by using 
 dif-
+                 ferent context files.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-PROFILE(5)                    -135-                     
MH-PROFILE(5)
+
+
+            _B_u_g_s
+                 The shell quoting conventions are not available in the 
.mh_profile.
+                 Each token is separated by whitespace.
+
+                 There is some question as to  what  kind  of  arguments  
should  be
+                 placed  in  the  profile  as  options.  In order to provide a 
clear
+                 answer, recall command line semantics of all _M_H programs: 
conflict-
+                 ing  switches  (e.g., `-header and `-noheader') may occur 
more than
+                 one time on the command line, with the last switch  taking  
effect.
+                 Other  arguments, such as message sequences, filenames and 
folders,
+                 are always remembered on the invocation line and are not 
superseded
+                 by  following  arguments  of  the  same type.  Hence, it is 
safe to
+                 place only switches (and their arguments) in the profile.
+
+                 If one finds that an _M_H program is being invoked  again  
and  again
+                 with  the same arguments, and those arguments aren't 
switches, then
+                 there are a few possible solutions to this problem.  The  
first  is
+                 to  create a (soft) link in your $_H_O_M_E/_b_i_n 
directory to the _M_H pro-
+                 gram of your choice.  By giving this link a different name, 
you can
+                 create  a new entry in your profile and use an alternate set 
of de-
+                 faults for the _M_H command.  Similarly, you  could  create 
 a  small
+                 shell script which called the _M_H program of your choice 
with an al-
+                 ternate set of invocation line switches (using links and an  
alter-
+                 nate profile entry is preferable to this solution).
+
+                 Finally, the _c_s_h user could create an alias for the 
command of  the
+                 form:
+
+                      alias cmd 'cmd arg1 arg2 ...'
+
+                 In this way, the user can avoid lengthy type-in to the  
shell,  and
+                 still  give  _M_H commands safely.  (Recall that some 
_M_H commands in-
+                 voke others, and that in all cases, the profile  is  read,  
meaning
+                 that aliases are disregarded beyond an initial command 
invocation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -136-                    
MH-SEQUENCE(5)
+
+
+            _N_A_M_E
+                 mh-sequence - sequence specification for MH message system
+
+            _S_Y_N_O_P_S_I_S
+                 most _M_H commands
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 Most _M_H commands accept a  `msg'  or  `msgs'  
specification,  where
+                 `msg'  indicates  one message and `msgs' indicates one or 
more mes-
+                 sages.  To designate a message,  you  may  use  either  its  
number
+                 (e.g., 1, 10, 234) or one of these "reserved" message names:
+
+                      _N_a_m_e      _D_e_s_c_r_i_p_t_i_o_n
+                      first     the first message in the folder
+                      last      the last message in the folder
+                      cur       the most recently accessed message
+                      prev      the message numerically preceding "cur"
+                      next      the message numerically following "cur"
+
+                 In commands that take a `msg' argument, the default is "cur". 
 As a
+                 shorthand, "." is equivalent to "cur".
+
+                 For example: In a folder containing five messages numbered  
5,  10,
+                 94,  177  and 325, "first" is 5 and "last" is 325.  If "cur" 
is 94,
+                 then "prev" is 10 and "next" is 177.
+
+                 The word `msgs' indicates that one or more messages may  be  
speci-
+                 fied.   Such a specification consists of one message 
designation or
+                 of several message designations separated  by  spaces.   A  
message
+                 designation  consists either of a message name as defined 
above, or
+                 a message range.
+
+                 A message range is specified as "name1-name2"  or  "name:n",  
where
+                 `name',  `name1'  and  `name2'  are  message  names,  and `n' 
is an
+                 integer.
+
+                 The specification "name1-name2" designates  all  
currently-existing
+                 messages from `name1' to `name2' inclusive.  The message name 
"all"
+                 is a shorthand for the message range "first-last".
+
+                 The specification "name:n" designates up to  `n'  messages.   
These
+                 messages  start with `name' if `name' is a message number or 
one of
+                 the reserved names "first" "cur", or "next", The messages end 
 with
+                 `name'  if  `name'  is "prev" or "last".  The interpretation 
of `n'
+                 may be overridden by preceding `n' with a plus or minus sign; 
 `+n'
+                 always  means  up  to  `n'  messages starting with `name', 
and `-n'
+                 always means up to `n' messages ending with `name'.
+
+                 In commands which accept a `msgs' argument, the default  is  
either
+                 "cur"  or  "all", depending on which makes more sense for 
each com-
+                 mand  (see  the  individual  man  pages  for  details).    
Repeated
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -137-                    
MH-SEQUENCE(5)
+
+
+                 specifications of the same message have the same effect as a 
single
+                 specification of the message.
+
+
+              _U_s_e_r-_D_e_f_i_n_e_d _M_e_s_s_a_g_e 
_S_e_q_u_e_n_c_e_s
+
+                 In addition to the "reserved"  (pre-defined)  message  names  
given
+                 above,  _M_H  supports  user-defined  sequence  names.   
User-defined
+                 sequences allow the _M_H user a tremendous amount of power 
in dealing
+                 with  groups of messages in the same folder by allowing the 
user to
+                 bind a group of messages to a meaningful symbolic name.
+
+                 The name used to denote a  message  sequence  must  consist  
of  an
+                 alphabetic  character followed by zero or more alphanumeric 
charac-
+                 ters, and can not be one of the  "reserved"  message  names  
above.
+                 After  defining  a  sequence, it can be used wherever an 
_M_H command
+                 expects a `msg' or `msgs' argument.
+
+                 Some  forms  of  message  ranges  are  allowed  with   
user-defined
+                 sequences.   The  specification "name:n" may be used, and it 
desig-
+                 nates up to the first `n' messages (or last `n' messages for  
`-n')
+                 which are elements of the user-defined sequence `name'.
+
+                 The specifications "name:next" and "name:prev" may  also  be  
used,
+                 and  they  designate  the next or previous message (relative 
to the
+                 current message) which is an element of the  user-defined  
sequence
+                 `name'.   The  specificaitions  "name:first"  and  
"name:last"  are
+                 equivalent to "name:1" and "name:-1", respectively.  The 
specifica-
+                 tion  "name:cur" is not allowed (use just "cur" instead).  
The syn-
+                 tax of these message range specifcations is subject  to  
change  in
+                 the future.
+
+                 User-defined sequence names are specific to each folder.  
They  are
+                 defined using the _p_i_c_k and _m_a_r_k commands.
+
+
+              _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+                 There are two varieties of sequences: _p_u_b_l_i_c 
sequences and  _p_r_i_v_a_t_e
+                 sequences.   _P_u_b_l_i_c  sequences of a folder are 
accessible to any _M_H
+                 user that can read that folder and are kept  in  the  
.mh_sequences
+                 file  in  the folder.  _P_r_i_v_a_t_e sequences are 
accessible only to the
+                 _M_H user that defined those sequences and are kept in the 
user's  _M_H
+                 context file.  By default, _p_i_c_k and _m_a_r_k 
create _p_u_b_l_i_c sequences if
+                 the folder for which the sequences are being defined is 
writable by
+                 the  _M_H  user.  Otherwise, _p_r_i_v_a_t_e 
sequences are created.  This can
+                 be overridden with the `-public' and `-private' switches to 
_m_a_r_k.
+
+
+              _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+                 _M_H provides the ability to select all messages not  
elements  of  a
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -138-                    
MH-SEQUENCE(5)
+
+
+                 user-defined  sequence.   To  do  this,  the user should 
define the
+                 entry "Sequence-Negation" in the _M_H profile file; its 
value may  be
+                 any  string.  This string is then used to preface an existing 
user-
+                 defined sequence name.  This specification  then  refers  to  
those
+                 messages not elements of the specified sequence name.  For 
example,
+                 if the profile entry is:
+
+                      Sequence-Negation: not
+
+                 then anytime an _M_H command is given "notfoo" as a `msg'  
or  `msgs'
+                 argument, it would substitute all messages that are not 
elements of
+                 the sequence "foo".
+
+                 Obviously, the user should beware of defining sequences with  
names
+                 that begin with the value of the "Sequence-Negation" profile 
entry.
+
+
+              _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+                 _M_H provides the ability to remember the `msgs'  or  `msg' 
 argument
+                 last  given to an _M_H command.  The entry 
"Previous-Sequence" should
+                 be defined in the _M_H profile; its value should be a  
sequence  name
+                 or  multiple  sequence names separated by spaces.  If this 
entry is
+                 defined, when when an _M_H  command  finishes,  it  will  
define  the
+                 sequence(s)  named  in the value of this entry to be those 
messages
+                 that were specified to the command.  Hence, a profile entry of
+
+                      Previous-Sequence: pseq
+
+                 directs any _M_H command that accepts a `msg' or `msgs'  
argument  to
+                 define the sequence "pseq" as those messages when it finishes.
+
+                 Note:  there  can  be  a   performance   penalty   in   using 
  the
+                 "Previous-Sequence"  facility.  If it is used, all _M_H 
programs have
+                 to write the sequence information to the .mh_sequences file 
for the
+                 folder  each  time  they  run.   If the "Previous-Sequence" 
profile
+                 entry is not included,  only  _p_i_c_k  and  _m_a_r_k 
 will  write  to  the
+                 .mh_sequences file.
+
+
+              _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+                 Finally, some users like to indicate messages which have  not 
 been
+                 previously seen by them.  Both _i_n_c and _s_h_o_w 
honor the profile entry
+                 "Unseen-Sequence" to support this  activity.   This  entry  
in  the
+                 .mh_profile  should  be  defined  as  one  or  more  sequence 
names
+                 separated by spaces.  If there is a value for 
"Unseen-Sequence"  in
+                 the profile, then whenever _i_n_c places new messages in a 
folder, the
+                 new messages will also be added to the  sequence(s)  named  
in  the
+                 value of this entry.  Hence, a profile entry of
+
+                      Unseen-Sequence: unseen
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            MH-SEQUENCE(5)                   -139-                    
MH-SEQUENCE(5)
+
+
+                 directs _i_n_c to add new messages to the sequence  
"unseen".   Unlike
+                 the  behavior of the "Previous-Sequence" entry in the 
profile, how-
+                 ever, the sequence(s) will not be zeroed by _i_n_c.
+
+                 Similarly, whenever _s_h_o_w (or _n_e_x_t or 
_p_r_e_v) displays a message, that
+                 message   will   be   removed  from  any  sequences  named  
by  the
+                 "Unseen-Sequence" entry in the profile.
+
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 <mh-dir>/context                    The user context
+                 <folder>/.mh_sequences              Public sequences for 
<folder>
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Sequence-Negation:   To designate messages not in a sequence
+                 Previous-Sequence:   The last message specification given
+                 Unseen-Sequence:     Those messages not yet seen by the user
+
+
+            _S_e_e _A_l_s_o
+                 mh(1), mark(1), pick(1), mh-profile(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 None
+
+
+            _C_o_n_t_e_x_t
+                 All
+
+
+            _B_u_g_s
+                 User-defined sequences are stored in the .mh_sequences  file  
as  a
+                 series  of  message specifications separated by spaces.  If a 
user-
+                 defined sequence contains too many  individual  message  
specifica-
+                 tions,  that line in the file may become too long for _M_H 
to handle.
+                 This will generate the error message ".mh_sequences is poorly 
 for-
+                 matted".   You'll  have  to edit the file by hand to remove 
the of-
+                 fending line.
+
+                 This can happen to users who define the  "Previous-Sequence"  
entry
+                 in  the  _M_H profile and have a folder containing many 
messages with
+                 gaps in the numbering.  A workaround for large folders is to 
minim-
+                 ize numbering gaps by using "folder -pack" often.
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            AP(8)                            -140-                             
AP(8)
+
+
+            _N_A_M_E
+                 ap - parse addresses 822-style
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/ap [-form formatfile] [-format string]
+                      [-normalize] [-nonormalize] [-width columns] addrs ...
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _A_p is a program that parses addresses according to the 
ARPA  Inter-
+                 net  standard.   It also understands many non-standard 
formats.  It
+                 is useful for seeing how _M_H will interpret an address.
+
+                 The _a_p program treats each argument as one or more  
addresses,  and
+                 prints  those  addresses out in the official 822-format.  
Hence, it
+                 is usually best to enclose each argument in double-quotes  
for  the
+                 shell.
+
+                 To override the output format used by _a_p, the  `-format 
string'  or
+                 `-format file'  switches  are used.  This permits individual 
fields
+                 of the address to be extracted with ease.  The string is  
simply  a
+                 format   stringand   thefile   is   simply   a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 In addition to the standard escapes, _a_p also recognizes 
the follow-
+                 ing additional escape:
+
+                 _E_s_c_a_p_e  _R_e_t_u_r_n_s  
_D_e_s_c_r_i_p_t_i_o_n
+                 error   string   A diagnostic if the parse failed
+
+                 If the `-normalize' switch is given, _a_p will try to track 
down  the
+                 official hostname of the address.
+
+                 Here is the default format string used by _a_p:
+
+                      %<{error}%{error}: %{text}%|%(putstr(proper{text}))%>
+
+                 which says that if an error was detected, print the error,  a 
 `:',
+                 and  the address in error.  Otherwise, output the 822-proper 
format
+                 of the address.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /usr/local/lib/mh/mtstailor         tailor file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            AP(8)                            -141-                             
AP(8)
+
+
+            _S_e_e _A_l_s_o
+                 dp(8),
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-format' defaults as described above
+                 `-normalize'
+                 `-width' defaults to the width of the terminal
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _a_p.  Therefore, one 
must usual-
+                 ly place the argument to this switch inside double-quotes.
+
+                 On hosts where _M_H was configured  with  the  BERK  
option,  address
+                 parsing is not enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            CONFLICT(8)                      -142-                       
CONFLICT(8)
+
+
+            _N_A_M_E
+                 conflict - search for alias/password conflicts
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/conflict [-mail name] [-search directory]
+                      [aliasfiles...] [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _C_o_n_f_l_i_c_t is a program that checks to see if 
the  interface  between
+                 _M_H and transport system is in good shape
+
+                 _C_o_n_f_l_i_c_t also checks for maildrops in 
/usr/spool/mail which do  not
+                 belong  to  a  valid user.  It assumes that no user name will 
start
+                 with `.', and thus ignores files  in  /usr/spool/mail  which  
begin
+                 with  `.'.   It also checks for entries in the 
_g_r_o_u_p (5) file which
+                 do not belong to a valid user, and for users  who  do  not  
have  a
+                 valid  group  number.   In  addition duplicate users and 
groups are
+                 noted.
+
+                 If the `-mail name' switch is used, then the results will  be 
 sent
+                 to  the  specified  _n_a_m_e.   Otherwise,  the results 
are sent to the
+                 standard output.
+
+                 The `-search directory' switch can be used  to  search  
directories
+                 other  than /usr/spool/mail and to report anomalies in those 
direc-
+                 tories.  The `-search directory' switch can appear  more  
than  one
+                 time in an invocation to _c_o_n_f_l_i_c_t.
+
+                 _C_o_n_f_l_i_c_t should be run under  _c_r_o_n 
(8), or whenever system account-
+                 ing takes place.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /etc/passwd                         List of users
+                 /etc/group                          List of groups
+                 /usr/local/mhmail                   Program to send mail
+                 /usr/spool/mail/                    Directory of mail drop
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `aliasfiles' defaults to /usr/local/lib/mh/MailAliases
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            CONFLICT(8)                      -143-                       
CONFLICT(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DP(8)                            -144-                             
DP(8)
+
+
+            _N_A_M_E
+                 dp - parse dates 822-style
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/dp [-form formatfile] [-format string]
+                      [-width columns] dates ...  [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _D_p is a program that parses dates according to  the  ARPA 
 Internet
+                 standard.   It  also understands many non-standard formats, 
such as
+                 those  produced  by  TOPS-20  sites  and  some  UNIX  sites   
using
+                 _c_t_i_m_e (3).  It is useful for seeing how _M_H will 
interpret a date.
+
+                 The _d_p program treats each argument as a single  date,  
and  prints
+                 the date out in the official 822-format.  Hence, it is 
usually best
+                 to enclose each argument in double-quotes for the shell.
+
+                 To override the output format used by _d_p, the  `-format 
string'  or
+                 `-format file'  switches  are used.  This permits individual 
fields
+                 of the address to be extracted with ease.  The string is  
simply  a
+                 format   stringand   thefile   is   simply   a  format  file. 
  See
+                 _m_h-_f_o_r_m_a_t (5) for the details.
+
+                 Here is the default format string used by _d_p:
+
+                      %<(nodate{text})error: %{text}%|%(putstr(pretty{text}))%>
+
+                 which says that if an error was detected, print the error,  a 
 `:',
+                 and  the date in error.  Otherwise, output the 822-proper 
format of
+                 the date.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 None
+
+
+            _S_e_e _A_l_s_o
+                 ap(8)
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-format' default as described above
+                 `-width' default to the width of the terminal
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            DP(8)                            -145-                             
DP(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The argument to the `-format' switch must be interpreted as a 
 sin-
+                 gle token by the shell that invokes _d_p.  Therefore, one 
must usual-
+                 ly place the argument to this switch inside double-quotes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            FMTDUMP(8)                       -146-                        
FMTDUMP(8)
+
+
+            _N_A_M_E
+                 fmtdump - decode MH format files
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/fmtdump [-form formatfile] [-format string]
+                      [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _F_m_t_d_u_m_p is a program that parses an _M_H 
format file and  produces  a
+                 pseudo-language listing of the how _M_H interprets the file.
+
+                 The `-format string' and `-form formatfile' switches may be 
used to
+                 specify a format string or format file to read.  The string 
is sim-
+                 ply a format string and the file is simply a format file.  
See  _m_h-
+                 _f_o_r_m_a_t(5) for the details.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+                 /usr/local/lib/mh/scan.default      The default format file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To determine the user's MH directory
+
+
+            _S_e_e _A_l_s_o
+                 mh-format(5), mh-sequences(8)
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 The output may not be useful  unless  you  are  familiar  
with  the
+                 internals of the mh-format subroutines.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            INSTALL-MH(8)                    -147-                     
INSTALL-MH(8)
+
+
+            _N_A_M_E
+                 install-mh - initialize the MH environment
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/install-mh [-auto] [-compat]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 When a user runs any _M_H program for the  first  time,  
the  program
+                 will  invoke _i_n_s_t_a_l_l-_m_h (with the `-auto' 
switch) to query the user
+                 for the initial _M_H environment.  The user does NOT invoke 
this pro-
+                 gram  directly.   The  user  is asked for the name of the 
directory
+                 that will be designated as the user's _M_H directory.  If 
this direc-
+                 tory  does  not  exist,  the user is asked if it should be 
created.
+                 Normally, this directory should be under the user's home 
directory,
+                 and  has  the  default name of Mail/.  After 
_i_n_s_t_a_l_l-_m_h has written
+                 the initial .mh_profile for the user, control returns to the 
origi-
+                 nal _M_H program.
+
+                 As with all  _M_H  commands,  _i_n_s_t_a_l_l-_m_h  
first  consults  the  $HOME
+                 envariable to determine the user's home directory.  If $HOME 
is not
+                 set, then the /_e_t_c/_p_a_s_s_w_d file is consulted.
+
+                 When converting from _m_h._3  to  _m_h._4,  
_i_n_s_t_a_l_l-_m_h  is  automatically
+                 invoked with the `-compat' switch.
+
+            _F_i_l_e_s
+                 $HOME/.mh_profile                   The user profile
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 Path:                To set the user's MH directory
+
+
+            _C_o_n_t_e_x_t
+                 With `-auto', the current folder is changed to "inbox".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POST(8)                          -148-                           
POST(8)
+
+
+            _N_A_M_E
+                 post - deliver a message
+
+            _S_Y_N_O_P_S_I_S
+                 /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
+                      [-verbose] [-noverbose] [-watch] [-nowatch] [-width 
columns]
+                      file [-help]
+
+            _D_E_S_C_R_I_P_T_I_O_N
+
+                 _P_o_s_t is the program called by _s_e_n_d (1) to 
deliver  the  message  in
+                 _f_i_l_e  to  local  and  remote  users.  In fact, all of 
the functions
+                 attributed to _s_e_n_d on its manual page are performed 
by  _p_o_s_t,  with
+                 _s_e_n_d  acting as a relatively simple preprocessor.  
Thus, it is _p_o_s_t
+                 which parses the various header fields,  appends  From:  and  
Date:
+                 lines, and interacts with the _S_e_n_d_M_a_i_l 
transport system.  _P_o_s_t will
+                 not normally be called directly by the user.
+
+                 _P_o_s_t searches the "To:", "cc:", "Bcc:", "Fcc:",  and  
"Resent-xxx:"
+                 header  lines  of  the specified message for destination 
addresses,
+                 checks these addresses for validity, and formats them so as 
to con-
+                 form  to  ARPAnet  Internet  Message  Format  protocol,  
unless the
+                 `-noformat' flag is set.  This will normally cause 
"@_l_o_c_a_l-_s_i_t_e" to
+                 be appended to each local destination address, as well as any 
local
+                 return addresses. The `-width columns' switch can be used to  
indi-
+                 cate  the  preferred  length  of the header components that 
contain
+                 addresses.
+
+                 If a "Bcc:" field is encountered, its addresses will  be  
used  for
+                 delivery,  and  the  "Bcc:"  field will be removed from the 
message
+                 sent to sighted recipients.  The blind recipients will  
receive  an
+                 entirely  new  message  with a minimal set of headers.  
Included in
+                 the body of the message will be a copy of the message sent  
to  the
+                 sighted  recipients.   If  `-filter filterfile'  is 
specified, then
+                 this copy is filtered (re-formatted) prior to  being  sent  
to  the
+                 blind recipients.
+
+                 The `-alias aliasfile' switch can be used to specify  a  file 
 that
+                 post  should  take  aliases from.  More than one file can be 
speci-
+                 fied, each being preceded with `-alias'.  In any event, the 
primary
+                 alias file is read first.
+
+                 The   `-msgid'   switch   indicates   that   a   
"Message-ID:"   or
+                 "Resent-Message-ID:" field should be added to the header.
+
+                 The `-verbose' switch indicates that the user should be 
informed of
+                 each step of the posting/filing process.
+
+                 The `-watch' switch indicates that the user would like to 
watch the
+                 transport  system's handling of the message (e.g., local and 
"fast"
+                 delivery).
+
+            [mh.6]                           MH.6.8                      UCI 
version
+
+
+
+
+
+
+
+
+
+            POST(8)                          -149-                           
POST(8)
+
+
+                 _P_o_s_t consults the envariable $SIGNATURE to determine  
the  sender's
+                 personal name in constructing the "From:" line of the message.
+
+            _F_i_l_e_s
+                 /usr/local/lib/mh/mtstailor         tailor file
+                 /usr/local/refile                   Program to process Fcc:s
+                 /usr/local/lib/mh/mhl               Program to process Bcc:s
+                 /usr/local/lib/mh/MailAliases       Primary alias file
+
+
+            _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+                 _p_o_s_t does NOT consult the user's .mh_profile
+
+
+            _S_e_e _A_l_s_o
+                 _S_t_a_n_d_a_r_d _f_o_r  _t_h_e  
_F_o_r_m_a_t  _o_f  _A_R_P_A  _I_n_t_e_r_n_e_t  
_T_e_x_t  _M_e_s_s_a_g_e_s  (aka
+                 RFC-822),
+                 mhmail(1), send(1), mh-mail(5), mh-alias(5)
+
+
+            _D_e_f_a_u_l_t_s
+                 `-alias /usr/local/lib/mh/MailAliases'
+                 `-format'
+                 `-nomsgid'
+                 `-noverbose'
+                 `-nowatch'
+                 `-width 72'
+                 `-nofilter'
+
+
+            _C_o_n_t_e_x_t
+                 None
+
+
+            _B_u_g_s
+                 "Reply-To:" fields are allowed to have groups in them 
according  to
+                 the 822 specification, but _p_o_s_t won't let you use 
them.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                 [mh.6]                           MH.6.8                      
UCI version
+
+
+
+
+
+
+
+
+
+
+
+
+                                          _5. _R_E_P_O_R_T_I_N_G 
_P_R_O_B_L_E_M_S
+
+
+
+
+
+                      If problems are encountered with an _M_H program, the 
problems should
+                 be  reported  to the local maintainers of _M_H.  When doing 
this, the name
+                 of the program should be reported, along with  the  version  
information
+                 for  the  program.   To  find out what version of an _M_H 
program is being
+                 run, invoke the program with the `-help' switch.  In addition 
to listing
+                 the  syntax of the command, the program will list information 
pertaining
+                 to its version.  This information includes the version of 
_M_H,  the  host
+                 it was generated on, and the date the program was loaded.  A 
second line
+                 of information, found on versions of _M_H after #5.380 
include  _M_H  confi-
+                 guration options.  For example,
+
+                      version: MH 6.1 #1[UCI] (nrtc-gremlin) of Wed Nov  6  
01:13:53  PST
+                      1985
+                      options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] 
[SMTP] [POP]
+
+                 The `6.1 #1[UCI]' indicates that the program is from the UCI  
_m_h._6  ver-
+                 sion  of  _M_H.   The  program was generated on the host 
`nrtc-gremlin' on
+                 `Wed Nov  6 01:13:53 PST 1985'.  It's usually a good idea  to 
 send  the
+                 output of the `-help' switch along with your report.
+
+                 If there is no local _M_H maintainer, try the  address  
Bug-MH.   If  that
+                 fails, use the Internet mailbox address@hidden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -150-
+
+
+
+
+
+
+
+
+
+
+
+
+                                           _6. _A_D_V_A_N_C_E_D 
_F_E_A_T_U_R_E_S
+
+
+
+
+
+                      This section describes some  features  of  _M_H  that  
were  included
+                 strictly for advanced _M_H users.  These capabilities 
permit _M_H to exhibit
+                 more powerful behavior for the seasoned _M_H users.
+
+
+                 _U_S_E_R-_D_E_F_I_N_E_D _S_E_Q_U_E_N_C_E_S
+
+                      User-defined sequences allow the _M_H user  a  
tremendous  amount  of
+                 power  in dealing with groups of messages in the same folder 
by allowing
+                 the user to bind a group of messages to a meaningful symbolic 
name.  The
+                 user  may choose any name for a message sequence, as long as 
it consists
+                 of alphanumeric characters and does not conflict with  the  
standard  _M_H
+                 reserved message names (e.g., "first", etc).  After defining 
a sequence,
+                 it can be used wherever an _M_H command expects a `msg'  or 
 `msgs'  argu-
+                 ment.
+
+                      A restricted form of message ranges are allowed  with  
user-defined
+                 sequences.  The  form  "name:n",  specifies up to the first 
`n' messages
+                 which are part of the user-defined sequence `name'.  A 
leading plus sign
+                 is  allowed on `n', but is ignored.  The interpretation of n 
is overrid-
+                 den if n is preceded by a minus sign; `-n' always means up to 
 the  last
+                 `n' messages which are part of the sequence `name'.
+
+                      Although all _M_H commands expand user-defined 
sequences as appropri-
+                 ate, there are two commands that allow the user to define and 
manipulate
+                 them: _p_i_c_k and _m_a_r_k.
+
+                 _P_i_c_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+                      Most users of _M_H will use user-defined sequences 
only with the _p_i_c_k
+                 command.  By giving the `-sequence name' switch to 
_p_i_c_k (which can occur
+                 more than once on the command line), each sequence named is  
defined  as
+                 those  messages  which _p_i_c_k matched according the the 
selection criteria
+                 it was given.  Hence,
+
+                      pick -from frated -seq fred
+
+                 finds all those messages in the current folder which were 
from "frated",
+                 creates  a  sequence  called "fred", and then adds them to 
the sequence.
+                 The user could then invoke
+
+                      scan fred
+
+                 to get a _s_c_a_n listing of those messages.  Note  that  
by  default,  _p_i_c_k
+                 creates  the named sequences before it adds the selected 
messages to the
+                 sequence.  Hence, if the named sequence already existed, the 
sequence is
+
+                                                  -151-
+
+
+
+
+
+
+
+
+
+                                                  -152-
+
+
+                 destroyed  prior  to  being  re-defined (nothing happens to 
the messages
+                 that were a part of this sequence, they simply cease to  be  
members  of
+                 that  sequence).   By  using  the `-nozero' switch, this 
behavior can be
+                 inhibited, as in
+
+                      pick -from frated -seq sgroup
+                      pick -from fear -seq sgroup -nozero
+                      pick -from freida -seq sgroup -nozero
+
+                 finds all those messages in the current folder which were 
from "frated",
+                 "fear", or "freida", and defines the sequence called "sgroup" 
as exactly
+                 those messages.  These operations amounted to an 
"inclusive-or" of three
+                 selection  criteria, using _p_i_c_k, one can also 
generate the "and" of some
+                 selection criteria as well:
+
+                      pick -from frated -seq fred
+                      pick -before friday -seq fred fred
+
+                 This example defines the sequence called "fred" as  exactly  
those  mes-
+                 sages from "frated" that were dated prior to "friday".[1]
+
+                      _P_i_c_k is normally used as a back-quoted command, 
for example,
+
+                      scan `pick -from postmaster`
+
+                 Now suppose that the user decides that another command should 
be issued,
+                 using   exactly   those   messages.    Since,   _p_i_c_k  
 wasn't   given  a
+                 `-sequence name' argument in this example, the user would 
end-up  typing
+                 the entire back-quoted command again.  A simpler way is to 
add a default
+                 sequence name to the .mh_profile.  For example,
+
+                      pick: -seq select -list
+
+                 will tell _p_i_c_k to always define the sequence "select" 
whenever it's run.
+                 The  `-list'  is necessary since the `-sequence name' switch 
sets `-nol-
+                 ist' whenever the former is  encountered.   Hence,  this  
profile  entry
+                 makes  _p_i_c_k define the "select" sequence and 
otherwise behave exactly as
+
+
+                    [1]  Of  course, it is much easier to simply use the 
built-in boolean
+                 operation of _p_i_c_k to get the desired results:
+
+                      pick -from frated -or -from fear -or -from freida -seq 
sgroup
+
+                 and
+
+                      pick -from frated -and -before friday -seq fred
+
+                 do exactly the same thing as the five commands listed above.  
Hence, the
+                 `-nozero'  option  to  _p_i_c_k  is  only  useful to 
manipulate existing se-
+                 quences.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -153-
+
+
+                 if there was no profile entry at all.
+
+                 _M_a_r_k _a_n_d _U_s_e_r-_D_e_f_i_n_e_d 
_S_e_q_u_e_n_c_e_s
+
+                      The _m_a_r_k command lets the user perform  
low-level  manipulation  of
+                 sequences,  and  also  provides  a  well-needed  debug  
facility  to the
+                 implementors/developers/maintainers  of  _M_H  (the  
_M_H-hacks).   In   the
+                 future,  a user-friendly "front-end" for _m_a_r_k will 
probably be developed
+                 to give the _M_H user a way to take better  advantage  of  
the  underlying
+                 facilities.
+
+                 _P_u_b_l_i_c _a_n_d _P_r_i_v_a_t_e 
_U_s_e_r-_D_e_f_i_n_e_d _S_e_q_u_e_n_c_e_s
+
+                      There are two kinds of sequences:  _p_u_b_l_i_c  
sequences,  and  _p_r_i_v_a_t_e
+                 sequences.   _P_u_b_l_i_c  sequences of a folder are 
accessible to any _M_H user
+                 that can read that folder and are kept in the .mh_sequences 
file in  the
+                 folder.   _P_r_i_v_a_t_e  sequences  are  accessible  
only  to the _M_H user that
+                 defined those sequences and are kept in the user's _M_H 
context file.   By
+                 default,  _p_i_c_k  (and  _m_a_r_k )  create  
_p_u_b_l_i_c sequences if the folder for
+                 which the sequences are being defined is writable by the 
_M_H user.   Oth-
+                 erwise,  _p_r_i_v_a_t_e sequences are created.  This 
can be overridden with the
+                 `-public' and `-nopublic' switches.
+
+                 _S_e_q_u_e_n_c_e _N_e_g_a_t_i_o_n
+
+                      In addition to telling an _M_H command to use  the  
messages  in  the
+                 sequence "seen", as in
+
+                      refile seen +old
+
+                 it would be useful to be easily able to tell an _M_H 
command  to  use  all
+                 messages  _e_x_c_e_p_t  those in the sequence.  One way 
of doing this would be
+                 to use _m_a_r_k and define the sequence explicitly, as in
+
+                      mark -delete -zero seen -seq notseen
+
+                 which, owing to _m_a_r_k 's cryptic interpretation of 
`-delete' and `-zero',
+                 defines  the  sequence  "notseen" to be all messages not in 
the sequence
+                 "seen".  Naturally, anytime the sequence "seen"  is  changed, 
 "notseen"
+                 will  have  to be updated.  Another way to achieve this is to 
define the
+                 entry "Sequence-Negation:" in the .mh_profile.  If the entry 
was
+
+                      Sequence-Negation: not
+
+                 then anytime an _M_H command was given "notseen"  as  a  
`msg'  or  `msgs'
+                 argument,  it would substitute all messages that are not a 
member of the
+                 sequence "seen".  That is,
+
+                      refile notseen +new
+
+                 does just that.  The value of the "Sequence-Negation:" entry 
in the pro-
+                 file  can  be  any  string.  Hence, experienced users of 
_M_H do not use a
+
+
+
+
+
+
+
+
+
+
+
+                                                  -154-
+
+
+                 word, but rather a special character which their shell does  
not  inter-
+                 pret  (users  of  the  _C_S_h_e_l_l  use a single caret 
or circumflex (usually
+                 shift-6), while users of the  Bourne  shell  use  an  
exclamation-mark).
+                 This is because there is nothing to prevent a user of _M_H 
from defining a
+                 sequence with this string as its prefix, if the  string  is  
nothing  by
+                 letters and digits.  Obviously, this could lead to confusing 
behavior if
+                 the "Sequence-Negation:" entry leads _M_H to believe  that  
two  sequences
+                 are opposites by virtue of their names differing by the 
prefix string.
+
+                 _T_h_e _P_r_e_v_i_o_u_s _S_e_q_u_e_n_c_e
+
+                      Many times users find themselves issuing a series  of  
commands  on
+                 the  same  sequences  of messages.  If the user first defined 
these mes-
+                 sages as a sequence, then considerable typing may be saved.  
If the user
+                 doesn't  have  this  foresight,  _M_H  provides  a  handy 
way of having _M_H
+                 remember the `msgs' or `msg' argument last given to an _M_H 
 command.   If
+                 the  entry "Previous-Sequence:" is defined in the 
.mh_profile, then when
+                 the command finishes, it will define the sequence(s) named in 
the  value
+                 of  this  entry  as  being  exactly  those messages that were 
specified.
+                 Hence, a profile entry of
+
+                      Previous-Sequence: pseq
+
+                 directs any _M_H command that accepts a `msg' or `msgs' 
argument to define
+                 the  sequence  "pseq" as those messages when it finishes.  
More than one
+                 sequence name may be placed in this entry, separated with  
spaces.   The
+                 one  disadvantage of this approach is that the _M_H progams 
have to update
+                 the sequence information for the folder each  time  they  run 
 (although
+                 most  programs read this information, usually only 
_p_i_c_k and _m_a_r_k have to
+                 write this information out).
+
+                 _T_h_e _U_n_s_e_e_n _S_e_q_u_e_n_c_e
+
+                      Finally, some users like to distinguish between messages 
which have
+                 been  previously seen by them.  Both _i_n_c and 
_s_h_o_w honorthe profile entry
+                 "Unseen-Sequence" to support this activity.   Whenever  
_i_n_c  places  new
+                 messages  in  a folder, if the entry "Unseen-Sequence" is 
defined in the
+                 .mh_profile, then when the command finishes, _i_n_c will 
add the  new  mes-
+                 sages  to  the  sequence(s)  named in the value of this 
entry.  Hence, a
+                 profile entry of
+
+                      Unseen-Sequence:  unseen
+
+                 directs _i_n_c to add new messages to the sequence  
"unseen".   Unlike  the
+                 behavior  of  the  "Previous-Sequence" entry in the profile 
however, the
+                 sequence(s) will not be zero'd.
+
+                      Similarly, whenever _s_h_o_w (or _n_e_x_t or  
_p_r_e_v )  displays  a  message,
+                 they   remove   those   messages   from   any  sequences  
named  by  the
+                 "Unseen-Sequence" entry in the profile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -155-
+
+
+                 _C_O_M_P_O_S_I_T_I_O_N _O_F _M_A_I_L
+
+                      There are a number of interesting advanced facilities 
for the  com-
+                 position of outgoing mail.
+
+
+                 _T_h_e _D_r_a_f_t _F_o_l_d_e_r
+
+                      The  _c_o_m_p,  _d_i_s_t,  _f_o_r_w,  and  
_r_e_p_l  commands  have  two  switches,
+                 `-draftfolder +folder'        and        `-draftmessage msg'. 
        If
+                 `-draftfolder +folder' is used, these commands are directed 
to construct
+                 a  draft  message in the indicated folder.  (The 
"Draft-Folder:" profile
+                 entry may be used to declare a default draft folder for use  
with  _c_o_m_p,
+                 _d_i_s_t, _f_o_r_w, and _r_e_p_l) If 
`-draftmessage msg' is not used, it defaults to
+                 `new' (unless the user invokes _c_o_m_p  with  `-use',  
in  which  case  the
+                 default  is  `cur').   Hence, the user may have several 
message composi-
+                 tions in progress simultaneously.  Now, all of the _M_H 
tools  are  avail-
+                 able  on  each of the user's message drafts (e.g., 
_s_h_o_w, _s_c_a_n, _p_i_c_k, and
+                 so on).  If the folder does not exist, the user is asked if 
it should be
+                 created (just like with _r_e_f_i_l_e ).  Also, the last 
draft message the user
+                 was composing is known as `cur' in the draft folder.
+
+                      Furthermore, the _s_e_n_d command has these switches 
as  well.   Hence,
+                 from  the shell, the user can send off whatever drafts 
desired using the
+                 standard _M_H `msgs' convention with `-draftmessage msgs'.  
If  no  `msgs'
+                 are given, it defaults to `cur'.
+
+                      In addition, all five  programs  have  a  
`-nodraftfolder'  switch,
+                 which undoes the last occurrence of `-draftfolder folder' 
(useful if the
+                 latter occurs in the user's _M_H profile).
+
+                      If the user does not give the `-draftfolder +folder'  
switch,  then
+                 all  these  commands act ``normally''.  Note that the 
`-draft' switch to
+                 _s_e_n_d and _s_h_o_w still refers to the file called 
`draft' in the  user's  _M_H
+                 directory.   In  the interests of economy of expression, when 
using _c_o_m_p
+                 or _s_e_n_d, the user needn't prefix the draft `msg' or 
`msgs' with `-draft-
+                 message'.   Both  of these commands accept a `file' or 
`files' argument,
+                 and they will, if given `-draftfolder +folder' treat these 
arguments  as
+                 `msg' or `msgs'.[2] Hence,
+
+                      send -draftf +drafts first
+
+                 is the same as
+
+                      send -draftf +drafts -draftm first
+
+
+
+
+                    [2]  This may appear to be inconsistent, at first, but it 
saves a lot
+                 of typing.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -156-
+
+
+                      To make all this a bit more clear, here are some  
examples.   Let's
+                 assume that the following entries are in the _M_H profile:
+
+                      Draft-Folder: +drafts
+                      sendf: -draftfolder +drafts
+
+                 Furthermore, let's assume that the program _s_e_n_d_f is 
a (symbolic) link in
+                 the user's $HOME/bin/ directory to _s_e_n_d.  Then, any 
of the commands
+
+                      comp
+                      dist
+                      forw
+                      repl
+
+                 constructs the message draft in the `draft' folder using the 
`new'  mes-
+                 sage  number.   Furthermore, they each define `cur' in this 
folder to be
+                 that message draft.  If the user were to use the _q_u_i_t 
 option  at  `What
+                 now?'  level, then later on, if no other draft composition 
was done, the
+                 draft could be sent with simply
+
+                      sendf
+
+                 Or, if more editing was required, the draft could be edited 
with
+
+                      comp -use
+
+                 Instead, if other drafts had been composed in the meantime, 
so that this
+                 message  draft  was no longer known as `cur' in the `draft' 
folder, then
+                 the user could _s_c_a_n the folder to see which message 
draft in the  folder
+                 should be used for editing or sending.  Clever users could 
even employ a
+                 back-quoted _p_i_c_k to do the work:
+
+                      comp -use `pick +drafts -to bug-mh`
+
+                 or
+
+                      sendf `pick +drafts -to bug-mh`
+
+                 Note that in the _c_o_m_p example, the output from 
_p_i_c_k must  resolve  to  a
+                 single  message  draft (it makes no sense to talk about 
composing two or
+                 more drafts with one invocation of _c_o_m_p ).  In  
contrast,  in  the  _s_e_n_d
+                 example,  as  many  message  drafts  as  desired  can appear, 
since _s_e_n_d
+                 doesn't mind sending more than one draft at a time.
+
+                      Note that the argument `-draftfolder +folder' is  not  
included  in
+                 the  profile  entry  for  _s_e_n_d,  since  when  
_c_o_m_p, et. al., invoke _s_e_n_d
+                 directly, they supply _s_e_n_d with the UNIX pathname of 
the message  draft,
+                 and  not  a `draftmessage msg' argument.  As far as 
_s_e_n_d is concerned, a
+                 _d_r_a_f_t _f_o_l_d_e_r is not being used.
+
+                      It is important to realize that _M_H treats the draft 
folder  like  a
+                 standard  _M_H  folder  in nearly all respects.  There are 
two exceptions:
+
+
+
+
+
+
+
+
+
+
+
+                                                  -157-
+
+
+                 first_____, under no circumstancs will the `-draftfolder 
folder' switch cause
+                 the named folder to become the current folder.[3] 
Second______, although  con-
+                 ceptually _s_e_n_d deletes the `msgs' named in the draft 
folder, it does not
+                 call `delete-prog' to perform the deletion.
+
+
+                 _W_h_a_t _H_a_p_p_e_n_s _i_f _t_h_e 
_D_r_a_f_t _E_x_i_s_t_s
+
+                      When the _c_o_m_p, _d_i_s_t, _f_o_r_w, and 
_r_e_p_l commands are  invoked  and  the
+                 draft  you indicated already exists, these programs will 
prompt the user
+                 for a reponse directing the program's action.  The prompt is
+
+                      Draft ``/usr/src/uci/mh/mhbox/draft'' exists (xx bytes).
+                      Disposition?
+
+                 The appropriate responses and their meanings are: 
replace_______:  deletes  the
+                 draft  and starts afresh; list____: lists the draft; 
refile______: files the draft
+                 into a folder and starts afresh; and, quit____: leaves 
the draft intact  and
+                 exits.   In addition, if you specified `-draftfolder folder' 
to the com-
+                 mand, then one other response will be accepted: new___: 
finds a new  draft,
+                 just  as  if `-draftmessage new' had been given.  Finally, 
the _c_o_m_p com-
+                 mand will accept one more response: use___: re-uses the 
draft, just  as  if
+                 `-use' had been given.
+
+
+                 _T_h_e _P_u_s_h _O_p_t_i_o_n _a_t _W_h_a_t 
_n_o_w? _L_e_v_e_l
+
+                      The _p_u_s_h option to the "What now?" query in the 
_c_o_m_p,  _d_i_s_t,  _f_o_r_w,
+                 and  _r_e_p_l  commands,  directs the command to 
_s_e_n_d the draft in a special
+                 detached fashion, with all normal output discarded.  If 
_p_u_s_h is used and
+                 the  draft  can not be sent, then _M_H will send the user a 
message, indi-
+                 cating the name of the draft file, and an explanation of the 
failure.
+
+                      The user can also invoke _s_e_n_d  from  the  shell  
with  the  `-push'
+                 switch, which makes _s_e_n_d act like it had been 
_p_u_s_h 'd by one of the com-
+                 position commands.
+
+                      By using _p_u_s_h, the user can free the  shell  to  
do  other  things,
+                 because  it appears to the shell that the _M_H command has 
finished.  As a
+                 result the shell will immediately prompt for  another  
command,  despite
+                 the  fact  that  the  command is really still running.  Note 
that if the
+                 user indicates that annotations are to be performed (with 
`-annotate' to
+
+
+                    [3]  Obviously,  if  the folder appeared in the context of 
a standard
+                 `+folder' argument to an _M_H program, as in
+
+                      scan +drafts
+
+                 it might become the current folder, depending on the context 
changes  of
+                 the _M_H program in question.
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -158-
+
+
+                 _d_i_s_t, _f_o_r_w, or _r_e_p_l), the annotations 
will be performed after  the  mes-
+                 sage has been successfully sent.  This action will appear to 
occur asyn-
+                 chronously.  Obviously, if one of the messages that is to  be 
 annotated
+                 is  removed  before  the  draft has been successfully sent, 
then when _M_H
+                 tries to make the annotations, it won't be able to do so.   
In  previous
+                 versions of _M_H, this resulted in an error message 
mysteriously appearing
+                 on the user's terminal.  In _m_h._5 and later  versions,  
in  this  special
+                 circumstance, no error will be generated.
+
+                      If send is _p_u_s_h 'd, then the `-forward' switch  
is  examined  if  a
+                 failure notice is generated.  If given, then the draft is 
forwarded with
+                 the failure notice sent to the user.  This allows  rapid  
_b_u_r_s_t 'ing  of
+                 the failure notice to retrieve the unsent draft.
+
+
+                 _O_p_t_i_o_n_s _a_t _W_h_a_t _n_o_w? 
_L_e_v_e_l
+
+                      By default, the message composition programs call a 
program  called
+                 _w_h_a_t_n_o_w  before  the initial draft composition. 
 The _M_H user can specify
+                 any program for this.  Following is some information about  
the  default
+                 "What  now?" level.  More detailed information can be found 
in the _w_h_a_t_-
+                 _n_o_w (1) manual entry.
+
+                      When using the _c_o_m_p, _d_i_s_t, _f_o_r_w, 
and _r_e_p_l commands at  "What  now?"
+                 level,  the _e_d_i_t, _l_i_s_t, 
_h_e_a_d_e_r_s, _r_e_f_i_l_e, and (for the _d_i_s_t and 
_r_e_p_l com-
+                 mands) the _d_i_s_p_l_a_y options will pass on any 
additional  arguments  given
+                 them to whatever program they invoke.
+
+                      In _m_h._1 (the original RAND _M_H ) and _m_h._2 
(the first UCI version  of
+                 _M_H ),  _M_H  used a complicated heuristic to determine 
if the draft should
+                 be deleted or preserved after an unsuccessful edit.   In  
_m_h._3,  _M_H  was
+                 changed to preserve the draft always, since _c_o_m_p, et. 
al., could usually
+                 look at a draft, apply another set of heuristics, and decide 
if  it  was
+                 important  or  not.   With the notion of a _d_r_a_f_t 
_f_o_l_d_e_r, in which one by
+                 default gets a `new' message draft, the edit 
deletion/preservation algo-
+                 rithm  was re-implemented, to keep the draft folder from 
being cluttered
+                 with aborted edits.
+
+                      Also, note that by default, if the  draft  cannot  be  
successfully
+                 sent,  these  commands  return  to "What now?" level.  But, 
when _p_u_s_h is
+                 used, this does not happen (obviously).  Hence, if these  
commands  were
+                 expected  to  annotate  any messages, this will have to be 
done by hand,
+                 later on, with the _a_n_n_o command.
+
+                      Finally, if the `-delete' switch is not given to the  
_q_u_i_t  option,
+                 then these commands will inform the user of the name of the 
unsent draft
+                 file.
+
+
+                 _D_i_g_e_s_t_s
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -159-
+
+
+                      The _f_o_r_w command has the beginnings  of  a  
digestifying  facility,
+                 with the `-digest list', `-issue number', and `-volume 
number' switches.
+
+                 If _f_o_r_w is given "list" to the `-digest' switch as 
the name of the  dis-
+                 cussion  group,  and  the `-issue number' switch is not 
given, then _f_o_r_w
+                 looks for an entry in the user's _M_H context  called  
"_d_i_g_e_s_t-issue-list"
+                 and  increments its value to use as the issue number.  
Similarly, if the
+                 `-volume number'  switch   is   not   given,   then   
_f_o_r_w   looks   for
+                 "_d_i_g_e_s_t-volume-list"  (but  does  not increment 
its value) to use as the
+                 volume number.
+
+                 Having calculated the name of  the  digest  and  the  volume  
and  issue
+                 numbers, _f_o_r_w will now process the components file 
using the same format
+                 string mechanism used by _r_e_p_l.  The current 
`%'-escapes are:
+
+                 _e_s_c_a_p_e  _t_y_p_e     
_s_u_b_s_t_i_t_u_t_i_o_n
+                 digest  string   digest name
+                 msg     integer  issue number
+                 cur     integer  volume number
+
+                 In addition, to capture the current date, any of the escapes  
valid  for
+                 _d_p (8) are also valid for _f_o_r_w.
+
+                 The default components file used by _f_o_r_w when in 
digest mode is:
+
+                      From:     %{digest}-Request
+                      To:       %{digest} Distribution: dist-%{digest};
+                      Subject:  %{digest} Digest V%(cur) #%(msg)
+                      Reply-To: %{digest}
+                      --------
+                      %{digest} Digest        %(weekday{date}), %2(mday{date}) 
%(month{date}) 19%02(year{date})
+                                      Volume %(cur) : Issue %(msg)
+
+                      Today's Topics:
+
+                 Hence, when the `-digest' switch is present, the  first  step 
 taken  by
+                 _f_o_r_w  is  to  expand the format strings in the 
component file.  The next
+                 step is to compose the draft using  the  standard  digest  
encapsulation
+                 algorithm  (even  putting an "End of list Digest" trailer in 
the draft).
+                 Once the draft is composed by _f_o_r_w, _f_o_r_w 
writes out the volume and issue
+                 profile entries for the digest, and then invokes the editor.
+
+                 Naturally,   when   composing   the   draft,   _f_o_r_w   
will   honor   the
+                 `-filter filterfile'  switch,  which is given to _m_h_l to 
filter each mes-
+                 sage being forwarded prior to encapsulation in the draft.  A 
good filter
+                 file to use, which is called _m_h_l._d_i_g_e_s_t, is:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -160-
+
+
+                      width=80,overflowoffset=10
+                      leftadjust,compress,compwidth=9
+                      
Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
+                      From:
+                      Subject:
+                      :
+                      body:nocomponent,overflowoffset=0,noleftadjust,nocompress
+
+
+
+                 _F_O_L_D_E_R _H_A_N_D_L_I_N_G
+
+                      There are two  interesting  facilities  for  
manipulating  folders:
+                 relative folder addressing, which allows a user to shorten 
the typing of
+                 long folder names; and the folder-stack, which permits a user 
to keep  a
+                 stack of current folders.
+
+
+                 _R_e_l_a_t_i_v_e _F_o_l_d_e_r 
_A_d_d_r_e_s_s_i_n_g
+
+                      By default, when `+folder' is given, and the  folder  
name  is  not
+                 absolute  (does not start with /, ./, or ../), then the UNIX 
pathname of
+                 the folder is interpreted relative to the user's _M_H 
directory.  Although
+                 this  mechanism  works  fine  for  top-level folders and 
their immediate
+                 sub-folders, once the depth of the sub-folder  tree  grows,  
it  becomes
+                 rather unwieldly:
+
+                      scan +mh/mh.4/draft/flames
+
+                 is a lot of typing.  _M_H can't do anything  if  the  
current  folder  was
+                 "+inbox", but if the current folder was, say, 
"+mh/mh.4/draft", _M_H has a
+                 short-hand notation to reference a sub-folder  of  the  
current  folder.
+                 Using  the  address@hidden'  notation,  the  _M_H user can 
direct any _M_H program
+                 which expects a `+folder' argument to look for the  folder  
relative  to
+                 the  current  folder  instead of the user's _M_H directory. 
 Hence, if the
+                 current folder _w_a_s "+mh/mh.4/draft", then
+
+                      scan @flames
+
+                 would do the trick handily.  In addition,  if  the  current  
folder  _w_a_s
+                 "+mh/mh.4/draft",
+
+                      scan @../pick
+
+                 would scan the folder "+mh/mh.4/pick", since, in the  UNIX  
fashion,  it
+                 references the folder "pick" which is a sub-folder of the 
folder that is
+                 the parent of the current folder.  Since most advanced _M_H 
users seem  to
+                 exhibit a large degree of locality in referencing folders 
when they pro-
+                 cess mail, this convention should receive a wide range of 
uses.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -161-
+
+
+                 _T_h_e _F_o_l_d_e_r-_S_t_a_c_k
+
+                      The _f_o_l_d_e_r-_s_t_a_c_k mechanism in 
_M_H gives the _M_H user a facility simi-
+                 lar to the _C_S_h_e_l_l 's directory-stack.  Simply put,
+
+                      folder -push +foo
+
+                 makes "foo" the current folder, saving the folder  that  was  
previously
+                 the current folder on the _f_o_l_d_e_r-_s_t_a_c_k. 
 As expected,
+
+                      folder -pop
+
+                 takes the top of the _f_o_l_d_e_r-_s_t_a_c_k and 
makes it the current folder.  Each
+                 of  these switches lists the 
_f_o_l_d_e_r-_s_t_a_c_k when they execute.  It is sim-
+                 ple to write a _p_u_s_h_f command as a shell script.  
It's one line:
+
+                      exec folder -push $@
+
+                 Probably a better way is to link  _f_o_l_d_e_r  to  the 
 $HOME/bin/  directory
+                 under the name of _p_u_s_h_f and then add the entry
+
+                      pushf: -push
+
+                 to the .mh_profile.
+
+                      The manual page for _f_o_l_d_e_r discusses the 
analogy between the _C_S_h_e_l_l
+                 directory stack commands and the switches in 
_f_o_l_d_e_r which manipulate the
+                 _f_o_l_d_e_r-_s_t_a_c_k.  The _f_o_l_d_e_r 
command uses the context entry `Folder-Stack:'
+                 to keep track of the folders in the user's stack of folders.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                Appendix A
+                                             _C_O_M_M_A_N_D 
_S_U_M_M_A_R_Y
+
+
+
+
+                 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
+                      [-nonormalize] [-user] [-nouser] aliases ...  [-help]
+
+                 anno [+folder] [msgs] [-component field] [-inplace] 
[-noinplace]
+                      [-date] [-nodate] [-text body] [-help]
+
+                 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] 
[-verbose]
+                      [-archive] [-noarchive] [-protocol] [-noprotocol]
+                      [-mshproc program] [switches for _m_s_h_p_r_o_c] 
[-rcfile rcfile]
+                      [-norcfile] [-file BBoardsfile] [-user BBoardsuser] 
[-help]
+
+                 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] 
[-noquiet]
+                      [-verbose] [-noverbose] [-help]
+
+                 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage 
msg]
+                      [-nodraftfolder] [-editor editor] [-noedit] [-file file]
+                      [-form formfile] [-use] [-nouse] [-whatnowproc program]
+                      [-nowhatnowproc] [-help]
+
+                 dist [+folder] [msg] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-form formfile] [-inplace]
+                      [-noinplace] [-whatnowproc program] [-nowhatnowproc] 
[-help]
+
+                 /usr/local/lib/mh/fmtdump [-form formatfile] [-format string]
+                      [-help]
+
+                 folder [+folder] [msg] [-all] [-fast] [-nofast] [-header]
+                      [-noheader] [-pack] [-nopack] [-recurse] [-norecurse] 
[-total]
+                      [-nototal] [-print] [-noprint] [-list] [-nolist] [-push]
+                      [-pop] [-help]
+
+                 folders
+
+                 forw [+folder] [msgs] [-annotate] [-noannotate]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-filter filterfile]
+                      [-form formfile] [-format] [-noformat] [-inplace] 
[-noinplace]
+                      [-whatnowproc program] [-nowhatnowproc] [-help]
+
+                 forw [+folder] [msgs] [-digest list] [-issue number]
+                      [-volume number] [other switches for _f_o_r_w] 
[-help]
+
+
+
+
+
+                                             -162-
+
+
+
+
+
+
+
+
+
+
+
+
+                 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
+                      [-nochangecur] [-file name] [-form formatfile]
+                      [-format string] [-silent] [-nosilent] [-truncate]
+                      [-notruncate] [-width columns] [-help]
+
+                 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] 
[-list]
+                      [-public] [-nopublic] [-zero] [-nozero] [-help]
+
+                 /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
+                      [-folder +folder] [-form formfile] [-length lines]
+                      [-width columns] [-moreproc program] [-nomoreproc] 
[files ...]
+                      [-help]
+
+                 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
+                      [-subject subject]] [-help]
+
+                 mhparam [profile-components] [-components] [-nocomponents] 
[-all]
+                      [-help]
+
+                 mhpath [+folder] [msgs] [-help]
+
+                 msgchk [-date] [-nodate] [-notify all/mail/nomail]
+                      [-nonotify all/mail/nomail] [users ...] [-help]
+
+                 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] 
[file]
+                      [-help]
+
+                 next [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+                 packf [+folder] [msgs] [-file name] [-help]
+
+                 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
+                      [-lbrace ... -rbrace] [--component pattern] [-after date]
+                      [-before date] [-datefield field] [-sequence name ...]
+                      [-public] [-nopublic] [-zero] [-nozero] [-list] [-nolist]
+                      [-help]
+
+
+                 prev [+folder] [-header] [-noheader] [-showproc program]
+                      [-noshowproc] [switches for _s_h_o_w_p_r_o_c] 
[-help]
+
+                 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] 
[-rapid]
+                      [-norapid] [-doteof] [-nodoteof] file [-help]
+
+                 /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
+                      [-sequence name ...] [-public] [-nopublic] [-zero] 
[-nozero]
+                      [-help]
+
+
+
+
+
+                                             -163-
+
+
+
+
+
+
+
+
+
+
+
+
+                 refile [msgs] [-draft] [-link] [-nolink] [-preserve] 
[-nopreserve]
+                      [-src +folder] [-file file] +folder ...  [-help]
+
+                 repl [+folder] [msg] [-annotate] [-noannotate] [-cc 
all/to/cc/me]
+                      [-nocc all/to/cc/me] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-editor editor]
+                      [-noedit] [-fcc +folder] [-filter filterfile] [-form 
formfile]
+                      [-inplace] [-noinplace] [-query] [-noquery]
+                      [-whatnowproc program] [-nowhatnowproc] [-width columns]
+                      [-help]
+
+                 rmf [+folder] [-interactive] [-nointeractive] [-help]
+
+                 rmm [+folder] [msgs] [-help]
+
+                 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
+                      [-format string] [-header] [-noheader] [-width columns]
+                      [-reverse] [-noreverse] [-file filename] [-help]
+
+                 send [-alias aliasfile] [-draft] [-draftfolder +folder]
+                      [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-forward] [-noforward]
+                      [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] 
[-noverbose]
+                      [-watch] [-nowatch] [-width columns] [file ...] [-help]
+
+                 show [+folder] [msgs] [-draft] [-header] [-noheader]
+                      [-showproc program] [-noshowproc] [switches for 
_s_h_o_w_p_r_o_c]
+                      [-help]
+
+                 sortm [+folder] [msgs] [-datefield field] [-textfield field]
+                      [-notextfield] [-limit days] [-nolimit] [-verbose]
+                      [-noverbose] [-help]
+
+                 vmh [-prompt string] [-vmhproc program] [-novmhproc]
+                      [switches for _v_m_h_p_r_o_c] [-help]
+
+                 whatnow [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [-editor editor] [-noedit] [-prompt string] [file] 
[-help]
+
+                 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
+                      [-draftfolder +folder] [-draftmessage msg] 
[-nodraftfolder]
+                      [file] [-help]
+
+                 /usr/local/lib/mh/ap [-form formatfile] [-format string]
+                      [-normalize] [-nonormalize] [-width columns] addrs ...
+                      [-help]
+
+                 /usr/local/lib/mh/conflict [-mail name] [-search directory]
+                      [aliasfiles ...] [-help]
+
+
+
+
+                                             -164-
+
+
+
+
+
+
+
+
+
+
+
+
+                 /usr/local/lib/mh/dp [-form formatfile] [-format string]
+                      [-width columns] dates ...  [-help]
+
+                 /usr/local/lib/mh/install-mh [-auto] [-compat]
+
+                 /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
+                      [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
+                      [-verbose] [-noverbose] [-watch] [-nowatch] [-width 
columns]
+                      file [-help]
+
+                 /usr/local/lib/mh/slocal [address info sender] [-addr address]
+                      [-info data] [-sender sender] [-user username] [-mailbox 
mbox]
+                      [-file file] [-maildelivery deliveryfile] [-verbose]
+                      [-noverbose] [-debug] [-help]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -165-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                Appendix B
+                                             _M_E_S_S_A_G_E 
_N_A_M_E _B_N_F
+
+
+
+
+
+                           msgs                  :=  msgspec                |
+                                                     msgs msgspec
+
+                           msgspec               :=  msg                    |
+                                                     msg-range              |
+                                                     msg-sequence           |
+                                                     user-defined-sequence
+
+                           msg                   :=  msg-name               |
+                                                     <number>
+
+                           msg-name              :=  "first"                |
+                                                     "last"                 |
+                                                     "cur"                  |
+                                                     "."                    |
+                                                     "next"                 |
+                                                     "prev"
+
+                           msg-range             :=  msg"-"msg              |
+                                                     "all"
+
+                           msg-sequence          :=  msg":"signed-number
+
+                           signed-number         :=  "+"<number>            |
+                                                     "-"<number>            |
+                                                     <number>
+
+                           user-defined-sequence :=  <alpha>                |
+                                                     <alpha><alphanumeric>*
+
+
+                 Where <number> is a decimal number greater than zero.
+
+                 Msg-range specifies all of the messages in the given range 
and must  not
+                 be empty.
+
+                 Msg-sequence specifies up to <number> of messages, beginning 
with  "msg"
+                 (in the case of first, cur, next, or <number>), or ending 
with "msg" (in
+                 the case of prev or last).  +<number> forces "starting  with  
msg",  and
+                 -<number> forces "ending with number".  In all cases, "msg" 
must exist.
+
+                 User-defined sequences are defined and manipulated  with  the 
 _p_i_c_k  and
+                 _m_a_r_k commands.
+
+
+
+                                                  -166-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                _R_E_F_E_R_E_N_C_E_S
+
+
+
+                 1.  Crocker, D. H., J. J. Vittal, K. T. Pogran,  and  D.  A.  
Henderson,
+                     Jr.,  "Standard  for  the  Format  of  ARPA  Network Text 
Messages,"
+                     _R_F_C_7_3_3, November 1977.
+
+                 2.  Thompson, K., and D. M. Ritchie,  "The  UNIX  
Time-sharing  System,"
+                     _C_o_m_m_u_n_i_c_a_t_i_o_n_s _o_f 
_t_h_e _A_C_M, Vol. 17, July 1974, pp. 365-375.
+
+                 3.  McCauley, E. J., and P. J. Drongowski, "KSOS-The Design 
of a  Secure
+                     Operating  System,"  _A_F_I_P_S 
_C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, National 
Computer
+                     Conference, Vol. 48, 1979, pp. 345-353.
+
+                 4.  Crocker, David H., _F_r_a_m_e_w_o_r_k _a_n_d 
_F_u_n_c_t_i_o_n_s _o_f _t_h_e "_M_S" _P_e_r_s_o_n_a_l 
_M_e_s_-
+                     _s_a_g_e _S_y_s_t_e_m, The RAND Corporation, 
R-2134-ARPA, December 1977.
+
+                 5.  Thompson, K., and D. M. Ritchie, _U_N_I_X 
_P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l, 6th  ed.,
+                     Western  Electric  Company,  May 1975 (available only to 
UNIX licen-
+                     sees).
+
+                 6. Crocker, D. H., "Standard for the Format of ARPA Internet  
Text  Mes-
+                     sages," _R_F_C_8_2_2, August 1982.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -167-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -i-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                _R_E_A_D _T_H_I_S
+
+
+
+
+                      Although the _M_H system was originally developed by  
the  RAND  Cor-
+                 poration,  and is now in the public domain, the RAND 
Corporation assumes
+                 no responsibility for _M_H or this particular version of 
_M_H.
+
+                      In addition, the Regents of the University of California 
issue  the
+                 following disclaimer in regard to the UCI version of _M_H:
+
+                      "Although each program has been tested by its 
contributor, no  war-
+                      ranty,  express  or  implied,  is  made  by  the 
contributor or the
+                      University of California, as to the accuracy and 
functioning of the
+                      program and related program material, nor shall the fact 
of distri-
+                      bution constitute any  such  warranty,  and  no  
responsibility  is
+                      assumed  by the contributor or the University of 
California in con-
+                      nection herewith."
+
+                      This version of _M_H is in the public domain, and as 
such, there  are
+                 no  real  restrictions on its use.  The _M_H source code 
and documentation
+                 have no licensing restrictions whatsoever.  As a courtesy,  
the  authors
+                 ask only that you provide appropriate credit to the RAND 
Corporation and
+                 the University of California for having developed the 
software.
+
+                      _M_H is a software package that is supported neither 
by the RAND Cor-
+                 poration nor the University of California.  However, since we 
do use the
+                 software ourselves and plan to continue using (and  
improving)  _M_H,  bug
+                 reports and their associated fixes should be reported back to 
us so that
+                 we may include them in future releases.  The  current  
computer  mailbox
+                 for   _M_H   is   address@hidden   (in   the   ARPA   
Internet),   and
+                 ...!ucbvax!ucivax!bug-mh (UUCP).  Presently, there are two 
Internet dis-
+                 cussion   groups,   address@hidden   and   address@hidden
+                 MH-Workers is for people discussing code changes to _M_H.  
MH-Users is for
+                 general  discussion  about  how to use _M_H.  MH-Users is 
bi-directionally
+                 gatewayed into USENET as comp.mail.mh.
+
+                 _H_O_W _T_O _G_E_T _M_H
+
+                      Since you probably already have _M_H, you may not need 
to  read  this
+                 unless  you  suspect you have an old version.  There are two 
ways to get
+                 the latest release:
+
+                      1.  If you can FTP to the  ARPA  Internet,  use  
anonymous  FTP  to
+                 ics.uci.edu  [128.195.1.1]  and  retrieve  the file 
pub/mh/mh-6.8.tar.Z.
+                 This is a tar  image  after  being  run  through  the  
compress  program
+                 (approximately  1.8MB).   There  should  also  be  a README 
file in that
+                 directory which tells what the current release of _M_H is, 
and how to  get
+                 updates.
+
+
+
+                                                   -i-
+
+
+
+
+
+
+
+
+
+                                                   -ii-
+
+
+                      This tar file is also available on louie.udel.edu 
[128.175.1.3]  in
+                 portal/mh-6.8.tar.Z.   You  may  also find MH on various 
other hosts; to
+                 make sure you get the latest version and don't waste your 
time re-fixing
+                 bugs, it's best to get it from either ics.uci.edu or 
louie.udel.edu.
+
+                      2.  You can send $75 US to the address below.  This 
covers the cost
+                 of  a  6250  BPI  9-track magtape, handling, and shipping.  
In addition,
+                 you'll get a laser-printed hard-copy of the entire MH 
documentation set.
+                 Be  sure  to  include your USPS address with your check.  
Checks must be
+                 drawn on U.S. funds and should be made payable to:
+
+                           Regents of the University of California
+
+                 The distribution address is:
+
+                           Computing Support Group
+                           Attn: MH distribution
+                           Department of Information and Computer Science
+                           University of California, Irvine
+                           Irvine, CA  92717
+
+                           714/856-7554
+
+                      If you just want the hard-copies of the  documentation,  
you  still
+                 have  to  pay  the $75.  The tar image has the documentation 
source (the
+                 manual is in roff format, but the rest are in TeX  format).   
Postscript
+                 formatted  versions  of  the TeX papers are available, as are 
crude tty-
+                 conversions of those papers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _F_O_R_E_W_O_R_D
+
+
+
+
+                      This document describes the RAND _M_H Message Handling 
 System.   Its
+                 primary  purpose  is  to  serve as a user's manual.  It has 
been heavily
+                 based on a previous version of the manual,  prepared  by  
Bruce  Borden,
+                 Stockton Gaines, and Norman Shapiro.
+
+                      _M_H is a particularly novel system, and thus it is 
often more  prone
+                 to  change  than  other  pieces  of  production software.  As 
such, some
+                 specific points in this manual may not be correct in the 
future.  In all
+                 cases,  the  on-line  sections  of  this  manual,  available 
through the
+                 UNIX[1] _m_a_n command, should present the most current 
information.
+
+                      When reading this document as a user's manual, certain 
sections are
+                 more  interesting than others.  The Preface and Summary are 
not particu-
+                 larly interesting to those interested in learning _M_H.  
The  Introduction
+                 is slightly more interesting, as it touches upon the 
organization of the
+                 remainder of this document.  The most useful sections are the 
 Overview,
+                 Tutorial,  and Detailed Description.  The Overview should be 
read by all
+                 _M_H users, regardless of their expertise (beginning, 
novice, advanced, or
+                 hacker).   The  Tutorial  should  be read by all beginning 
and novice _M_H
+                 users, as it presents a nice description of the _M_H 
system.  The Detailed
+                 Description  should  be  read by the day-to-day user of 
_M_H, as it spells
+                 out all of the realities of the _M_H system.  The Advanced  
Features  sec-
+                 tion discusses some powerful _M_H capabilities for advanced 
users.  Appen-
+                 dix A is particularly useful for novices, as it summarizes  
the  invoca-
+                 tion syntax of all the _M_H commands.
+
+                      There are also several other documents which may be 
useful to  you:
+                 _T_h_e  _R_A_N_D  _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_u_t_o_r_i_a_l, which is 
a tutorial for
+                 _M_H; _T_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e 
_H_a_n_d_l_i_n_g _S_y_s_t_e_m: _T_h_e _U_C_I 
_B_B_o_a_r_d_s _F_a_c_i_l_i_t_y, which
+                 describes  the  BBoards handling under _M_H; _M_H._5: 
_H_o_w _t_o _p_r_o_c_e_s_s _2_0_0 _m_e_s_-
+                 _s_a_g_e_s _a _d_a_y _a_n_d _s_t_i_l_l 
_g_e_t _s_o_m_e _r_e_a_l _w_o_r_k _d_o_n_e, which  was  
presented  at
+                 the  1985  Summer  Usenix Conference and Exhibition in 
Portland, Oregon;
+                 _M_H: _A _M_u_l_t_i_f_a_r_i_o_u_s _U_s_e_r 
_A_g_e_n_t, which has been accepted  for  publication
+                 by  Computer  Networks;  _M_Z_n_e_t: _M_a_i_l 
_S_e_r_v_i_c_e _f_o_r _P_e_r_s_o_n_a_l 
_M_i_c_r_o-_C_o_m_p_u_t_e_r
+                 _S_y_s_t_e_m_s, which was presented at the  First  
International  Symposium  on
+                 Computer  Message  Systems  in  Nottingham, U.K.; and, 
_D_e_s_i_g_n _o_f _t_h_e _T_T_I
+                 _P_r_o_t_o_t_y_p_e _T_r_u_s_t_e_d 
_M_a_i_l _A_g_e_n_t, which describes  a  proprietary  "trusted"
+                 mail  system  built on _M_H.  There are also documents, 
mostly specific to
+                 U.C. Irvine which you may find interesting: _M_H _f_o_r 
_B_e_g_i_n_n_e_r_s, and _M_H _f_o_r
+                 _M_M _U_s_e_r_s.  All of these documents exist in the 
_m_h._6 distribution sent to
+                 your site.  There's also a document, _C_h_a_n_g_e_s 
_t_o _t_h_e _R_A_N_D _M_H _M_e_s_s_a_g_e _H_a_n_-
+                 _d_l_i_n_g  _S_y_s_t_e_m:  _M_H._6,  which  
describes  user-visible changes made to _M_H
+                 since the last major release.
+
+
+                    [1] UNIX is a trademark of AT&T Bell Laboratories.
+
+
+                                                  -iii-
+
+
+
+
+
+
+
+
+
+                                                   -iv-
+
+
+                      This manual is very large, as it describes a large, 
powerful system
+                 in gruesome detail.  The important thing to remember is:
+
+
+                                              _D_O_N'_T 
_P_A_N_I_C[_2]
+
+
+                 As explained in the tutorial, you really need to know only 5 
commands to
+                 handle most of your mail.
+
+                      Very advanced users may wish to consult _T_h_e 
_R_A_N_D  _M_H  _M_e_s_s_a_g_e  _H_a_n_-
+                 _d_l_i_n_g  _S_y_s_t_e_m:  
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, which is also 
present in the _m_h._6
+                 distribution sent to your site.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                    [2] Note the large, _f_r_i_e_n_d_l_y letters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                             
_A_C_K_N_O_W_L_E_D_G_M_E_N_T_S
+
+
+
+
+                      The _M_H system described herein is based on  the  
original  RAND  _M_H
+                 system.   It  has  been  extensively  developed (perhaps too 
much so) by
+                 Marshall T. Rose and John L. Romine at  the  University  of  
California,
+                 Irvine.  Einar A. Stefferud, Jerry N. Sweet, and Terry P. 
Domae provided
+                 numerous suggestions to improve the UCI version of  _M_H.   
Of  course,  a
+                 large  number  of  people have helped _M_H along.  The list 
of ``_M_H immor-
+                 tals'' is too long to list here.  However, Van Jacobson 
deserves a  spe-
+                 cial  acknowledgement for his tireless work in improving the 
performance
+                 of _M_H.  Some programs have been speeded-up by a factor of 
10 or 20.  All
+                 of  users  of  _M_H,  everywhere,  owe  a special thanks to 
Van.  For this
+                 release, numerous _M_H-_W_o_r_k_e_r_s sent in fixes 
and other changes.  A handful
+                 of  courageous  _M_H-_W_o_r_k_e_r_s volunteered to 
beta-test these changes; their
+                 help is particularly appreciated.
+
+                      This manual is based on the original _M_H manual 
written at  RAND  by
+                 Bruce Borden, Stockton Gaines, and Norman Shapiro.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                   -v-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _P_R_E_F_A_C_E
+
+
+
+
+                      This report describes a system for dealing with messages 
 transmit-
+                 ted  on  a  computer.  Such messages might originate with 
other users of
+                 the same computer or might come from an outside source 
through a network
+                 to  which the user's computer is connected.  Such 
computer-based message
+                 systems are becoming increasingly widely used, both within  
and  outside
+                 the Department of Defense.
+
+                      The message handling system _M_H was developed for two 
reasons.   One
+                 was  to  investigate some research ideas concerning how a 
message system
+                 might take advantage  of  the  architecture  of  the  UNIX  
time-sharing
+                 operating  system  for Digital Equipment Corporation PDP-11 
and VAX com-
+                 puters, and the special features of UNIX's command-level 
interface  with
+                 the  user  (the  "shell").  The other reason was to provide a 
better and
+                 more adaptable base than that of conventional designs on 
which to  build
+                 a  command and control message system.  The effort has 
succeeded in both
+                 regards, although this report mainly describes the message 
system itself
+                 and how it fits in with UNIX.
+
+                      The present report  should  be  of  interest  to  three  
groups  of
+                 readers.   First, it is a complete reference manual for the 
users of _M_H.
+                 Second, it should be of interest to those who have a  general 
 knowledge
+                 of  computer-based message systems, both in civilian and 
military appli-
+                 cations.  Finally, it should be of interest to  those  who  
build  large
+                 subsystems  that  interface  with  users,  since  it  
illustrates  a new
+                 approach to such interfaces.
+
+                      The original _M_H system was developed  by  Bruce  
Borden,  using  an
+                 approach  suggested  by  Stockton  Gaines  and Norman 
Shapiro.  Valuable
+                 assistance was provided by Phyllis Kantar in the  later  
stages  of  the
+                 system's  implementation.   Several  colleagues contributed 
to the ideas
+                 included in this system, particularly Robert Anderson and 
David Crocker.
+                 In  addition,  valuable  experience  in  message systems, and 
a valuable
+                 source of ideas, was available to us in the form of a  
previous  message
+                 system for UNIX called MS, designed at RAND by David Crocker.
+
+                      This report was originally prepared as part  of  the  
RAND  project
+                 entitled "Data Automation Research", sponsored by Project AIR 
FORCE.
+
+
+
+
+
+
+
+
+
+
+
+                                                   -vi-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _S_U_M_M_A_R_Y
+
+
+
+
+                      Electronic communication of text messages is becoming  
commonplace.
+                 Computer-based  message systems-software packages that 
provide tools for
+                 dealing with messages-are used in many contexts.  In 
particular, message
+                 systems  are  becoming increasingly important in command and 
control and
+                 intelligence applications.
+
+                      This report describes a message handling system  called  
_M_H.   This
+                 system  provides  the  user with tools to compose, send, 
receive, store,
+                 retrieve, forward, and reply to messages.  _M_H has been 
built on the UNIX
+                 time-sharing  system,  a  popular operating system developed 
for the DEC
+                 PDP-11 and VAX classes of computers.
+
+                      A complete description of _M_H is given for users of 
the system.  For
+                 those who do not intend to use the system, this description 
gives a gen-
+                 eral idea of what a message system is like.  The  system  
involves  some
+                 new ideas about how large subsystems can be constructed.
+
+                      The interesting and unusual features of _M_H include  
the  following:
+                 The  user command interface to _M_H is the UNIX "shell" 
(the standard UNIX
+                 command interpreter).  Each separable  component  of  message 
 handling,
+                 such  as  message composition or message display, is a 
separate command.
+                 Each program is driven from and  updates  a  private  user  
environment,
+                 which  is  stored  as  a file between program invocations.  
This private
+                 environment also contains information  to  "custom  tailor"  
_M_H  to  the
+                 individual's  tastes.   _M_H  stores each message as a 
separate file under
+                 UNIX, and it utilizes the tree-structured UNIX file system  
to  organize
+                 groups  of  files  within separate directories or "folders".  
All of the
+                 UNIX facilities for dealing with files and directories, such  
as  renam-
+                 ing,  copying, deleting, cataloging, off-line printing, etc., 
are appli-
+                 cable to messages and directories of messages (folders).   
Thus,  impor-
+                 tant capabilities needed in a message system are available in 
_M_H without
+                 the need (often seen in other message systems) for code that  
duplicates
+                 the facilities of the supporting operating system.  It also 
allows users
+                 familiar with the shell to use _M_H with minimal effort.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                  -vii-
+
+
+
+
+
+
+
+
+
+
+
+
+                                                 _C_O_N_T_E_N_T_S
+
+
+
+
+                 READ THIS 
.........................................................    i
+
+                 FOREWORD 
..........................................................  iii
+
+                 ACKNOWLEDGMENTS 
...................................................    v
+
+                 PREFACE 
...........................................................   vi
+
+                 SUMMARY 
...........................................................  vii
+
+                 Section
+
+                    1.  INTRODUCTION 
...............................................    1
+
+                    2.  OVERVIEW 
...................................................    4
+
+                    3.  TUTORIAL 
...................................................    7
+
+                    4.  DETAILED DESCRIPTION 
.......................................   10
+                      THE USER PROFILE 
.............................................   10
+                      MESSAGE NAMING 
...............................................   13
+                      OTHER MH CONVENTIONS 
.........................................   14
+                      MH COMMANDS 
..................................................   16
+                         ALI 
.......................................................   17
+                         ANNO 
......................................................   19
+                         BBC 
.......................................................   21
+                         BBOARDS 
...................................................   24
+                         BURST 
.....................................................   26
+                         COMP 
......................................................   28
+                         DIST 
......................................................   30
+                         FOLDER 
....................................................   33
+                         FORW 
......................................................   37
+                         INC 
.......................................................   41
+                         MARK 
......................................................   44
+                         MHL 
.......................................................   46
+                         MHMAIL 
....................................................   51
+                         MHOOK 
.....................................................   53
+                         MHPARAM 
...................................................   55
+                         MHPATH 
....................................................   57
+                         MSGCHK 
....................................................   60
+                         MSH 
.......................................................   61
+                         NEXT 
......................................................   65
+                         PACKF 
.....................................................   66
+                         PICK 
......................................................   67
+                         PREV 
......................................................   72
+                         PROMPTER 
..................................................   73
+                         RCVSTORE 
..................................................   76
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                         REFILE 
....................................................   78
+                         REPL 
......................................................   80
+                         RMF 
.......................................................   84
+                         RMM 
.......................................................   86
+                         SCAN 
......................................................   88
+                         SEND 
......................................................   91
+                         SHOW 
......................................................   94
+                         SLOCAL 
....................................................   97
+                         SORTM 
.....................................................  102
+                         VMH 
.......................................................  104
+                         WHATNOW 
...................................................  106
+                         WHOM 
......................................................  108
+                      MORE DETAILS 
.................................................  110
+                         MH-ALIAS 
..................................................  111
+                         MH-FORMAT 
.................................................  115
+                         MH-MAIL 
...................................................  124
+                         MH-PROFILE 
................................................  128
+                         MH-SEQUENCE 
...............................................  136
+                         AP 
........................................................  140
+                         CONFLICT 
..................................................  142
+                         DP 
........................................................  144
+                         FMTDUMP 
...................................................  146
+                         INSTALL-MH 
................................................  147
+                         POST 
......................................................  148
+
+                    5.  REPORTING PROBLEMS 
.........................................  150
+
+                    6.  ADVANCED FEATURES 
..........................................  151
+                      USER-DEFINED SEQUENCES 
.......................................  151
+                         Pick and User-Defined Sequences 
...........................  151
+                         Mark and User-Defined Sequences 
...........................  153
+                         Public and Private User-Defined Sequences 
.................  153
+                         Sequence Negation 
.........................................  153
+                         The Previous Sequence 
.....................................  154
+                         The Unseen Sequence 
.......................................  154
+                      COMPOSITION OF MAIL 
..........................................  155
+                         The Draft Folder 
..........................................  155
+                         What Happens if the Draft Exists 
..........................  157
+                         The Push Option at What now? Level 
........................  157
+                         Options at What now? Level 
................................  158
+                         Digests 
...................................................  159
+                      FOLDER HANDLING 
..............................................  160
+                         Relative Folder Addressing 
................................  160
+                         The Folder-Stack 
..........................................  161
+
+                 Appendix
+                    A.  Command Summary 
............................................  162
+                    B.  Message Name BNF 
...........................................  166
+
+                 REFERENCES 
........................................................  167
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                         THE RAND MH
+
+
+                                      MESSAGE HANDLING
+
+
+                                           SYSTEM:
+
+
+                                        USER'S MANUAL
+
+
+
+
+
+
+                                         UCI Version
+
+
+
+
+
+                                      Marshall T. Rose
+
+                                       John L. Romine
+
+
+
+
+                               Based on the original manual by
+
+                                 Borden, Gaines, and Shapiro
+
+
+
+
+
+
+
+                                      November 30, 1993
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                        6.8.3 #1[UCI]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/historical/README b/docs/historical/README
new file mode 100644
index 0000000..5fdb663
--- /dev/null
+++ b/docs/historical/README
@@ -0,0 +1,108 @@
+The most recent versions of the documents in this directory were
+downloaded from ftp://ftp.vim.org/pub/mail/mh/doc/
+
+These older versions:
+  ADMIN-19910201.txt
+  MH-19910201.txt
+  MH-19921214.pdf
+  MH-19921214.txt
+were downloaded from ftp://munnari.oz.au/pub/mh/doc/
+
+designOfMH.pdf was downloaded from
+http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA257836
+
+The README below is retained in its original form for posterity.  All
+of the txt (.doc and .tty) files have been renamed to .txt.  All of
+the postscript (.ps) files have been converted to pdf using ps2pdf.
+
+D. Levine  28 Feb 2012
+
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+
+mh/doc/README
+
+These are formatted versions of the major MH documents (written
+using the troff "-ms" and "-me" macro packages).  The ".doc" files
+are formatted for 66 lines/page:
+
+  ADMIN.doc    - The MH Administrator's Manual - how to configure MH
+  MH.doc       - The MH User's Manual
+  changes.doc  - Changes from MH 6.6 to MH 6.8
+  mh-gen.doc   - The "READ-ME" file - how to generate MH (aka mh-gen(8))
+
+Postscript versions are also available:
+
+  ADMIN.ps     - The MH Administrator's Manual - how to configure MH
+  MH.ps                - The MH User's Manual
+  changes.ps   - Changes from MH 6.6 to MH 6.8
+  mh-gen.ps    - The "READ-ME" file - how to generate MH (aka mh-gen(8))
+
+------------------------------------------------------------------------
+
+These are postscript conversions of the MH papers which were written
+using the TeX typesetting language:
+
+  bboards.ps           - The UCI BBoards Facility
+  beginners.ps         - UCI MH for Beginners
+  mh4mm.ps             - MH for MM users
+  mh6.ps               - Changes from MH 6.0 to MH 6.5 for 4.3BSD
+  multifarious.ps      - MH: A Multifarious User Agen
+  mznet.ps             - MZnet - Mail Service for Personal Micro Comp. Sys.
+  realwork.ps          - MH.5 - How to process 200 messages...
+  trusted.ps           - Design of the TTI Prototype Trusted Mail Agent
+  tutorial.ps          - The MH Tutorial
+
+These conversions have been provided because they may be of use to some
+sites who retrieved MH using FTP, and who do not have TeX to typeset
+the papers themselves.  Of course, all recipients of an MH distribution
+tape receive a complete set of laser-printed manuals.
+
+These conversions were generated with the "dvips" program.  I have
+printed them on an Imagen 5320 w/ Turboscript, and the output is
+identical to the original "dvi" versions of these papers.
+
+As yet, I have had no success downloading the postscript files to a Mac-
+intosh, and printing them on a Laserwriter.  If you are able to generate
+copies of these papers which will print (identically to the originals or
+otherwise) on a Laserwriter, please contact "address@hidden".
+
+------------------------------------------------------------------------
+
+These files are tty-readable conversions of the MH papers which were
+written using the TeX typesetting language:
+
+  bboards.tty          - The UCI BBoards Facility
+  beginners.tty                - UCI MH for Beginners
+  mh4mm.tty            - MH for MM users
+  mh6.tty              - Changes from MH 6.0 to MH 6.5 for 4.3BSD
+  multifarious.tty     - MH: A Multifarious User Agen
+  mznet.tty            - MZnet - Mail Service for Personal Micro Comp. Sys.
+  realwork.tty         - MH.5 - How to process 200 messages...
+  trusted.tty          - Design of the TTI Prototype Trusted Mail Agent
+  tutorial.tty         - The MH Tutorial
+
+These conversions have been provided because they may be of use to some
+sites who retrieved MH using FTP, and who do not have TeX or a laser
+printer on which to print the papers.  If you have a Postscript
+printer, you may want to retrieve the Postscript conversion of these
+papers, available in a different tar archive.
+
+Of course, all recipients of an MH distribution tape receive a complete
+set of laser-printed manuals, and these conversions are not a
+substitute for properly-formatted copies of the originals.
+
+The conversion was generated by the "dvi2tty" program.  As full use of
+TeX's rich typesetting environment was used in writing many of these
+papers, and since the output is intended for a line printer, it is
+necessarily quite primitive.
+
+Font changes and special character representations are lost entirely.
+White-space between words may be deleted or expanded, especially near
+punctuation characters.  Blank lines may be added or deleted.
+
+Since typeset lines are typically longer than 80 tty characters, the
+output has been generated for 132-colunm output devices.  A typical
+page has about 76 lines.  Pages are separated by a formfeed character.
+
+/JLR
diff --git a/docs/historical/bboards.pdf b/docs/historical/bboards.pdf
new file mode 100644
index 0000000..6e7d2cf
Binary files /dev/null and b/docs/historical/bboards.pdf differ
diff --git a/docs/historical/bboards.txt b/docs/historical/bboards.txt
new file mode 100644
index 0000000..ace0d08
--- /dev/null
+++ b/docs/historical/bboards.txt
@@ -0,0 +1,965 @@
+
+
+
+
+                     The  Rand  MH  Message  Handling  System:
+
+
+
+                                   The  UCI  BBoards  Facility
+
+
+                                           Marshall T. Rosey
+
+                                  Wed May 21 21:03:57 PDT 1986
+
+
+
+                                                Abstract
+
+
+               This document discusses how to process BBoards using the
+
+               Rand MH system.  In particular, this guide discusses:  check-
+
+               ing  the  status  of  a  BBoard,  viewing  new  messages,  
archive
+
+               handling, composing mail destined for a BBoard, and reply-
+
+               ing to a message posted to a BBoard.
+
+
+                      Although this document is based on the standard MH
+
+               user manual[MH], this document is meant to supplement, not
+
+               supersede, that lengthier work.
+
+
+                      Comments concerning this documentation should be ad-
+
+               dressed to the Internet mailbox address@hidden
+
+
+
+_____________________________________
+y Computer Mail: address@hidden
+
+
+                     The  Rand  MH  Message  Handling  System:
+
+
+
+                                   The  UCI  BBoards  Facility
+
+
+
+Acknowledgements
+
+        The MH system described herein is based on the original Rand MH system.
+
+It has been extensively developed (perhaps too much so) by Marshall Rose and
+
+John Romine at the University of California, Irvine.  Einar Stefferud, Jerry 
Sweet,
+
+and Terry Domae provided numerous suggestions to improve the UCI version of
+
+MH.
+
+
+        In  particular,  the  UCI  BBoards  facility,  which  was  suggested  
by  Einar
+
+Stefferud, has been in place at the University of California, Irvine (in one 
form or
+
+another) for the last two and one-half years.  The UCI BBoards facilities runs 
under
+
+both MMDF and SendMail, and, in a more restricted form, under stand-alone MH.
+
+
+
+Disclaimer
+
+        The Regents of the University of California wish to make it known that:
+
+
+
+       "Although each program has been tested by its contributor, no warranty, 
express or
+        implied, is made by the contributor or the University of California, 
as to the accuracy
+        and functioning of the program and related program material, nor shall 
the fact of
+        distribution constitute any such warranty, and no responsibility is 
assumed by the
+        contributor or the University of California in connection herewith."
+
+
+
+Scope
+
+        This  document  explains  how  to  use  the  UCI  BBoards  facility  
to  a  user
+
+familiar with MH and the UNIX1  operating system in general.  A large degree of
+
+expertise is not assumed.  This document does not attempt to introduce MH to 
the
+
+novice user (for that task, consult the MH tutorial known as [MH.TUT]). 
Additional
+
+information on the programs discussed here (particularly bbc) is to be found in
+
+[MH].
+
+
+
+_____________________________________
+1  UNIX is a trademark of AT&T Bell Laboratories.
+
+
+
+                                                       1
+                                                                              
                                2
+
+
+Conventions
+
+        In this document, certain TEX-formatting conventions are adhered to:
+
+
+           1.  The  names  of  UNIX  commands,  such  as  comp,  are  
presented  in  text
+
+               italics.
+
+
+           2.  Arguments to programs, such as `msgs'    , are presented in 
typewriter
+
+               style and delimited by single-quotes.
+
+
+           3.  UNIX pathnames and envariables, such as /usr/uci/     and $ 
SIGNATURE         ,
+
+               are presented in slanted roman.
+
+
+           4.  Text presenting an example, such as
+
+
+                   comp -editor zz
+
+
+               is presented in typewriter  style.
+
+
+
+Introduction
+
+        MH is a very powerful message handling system that runs under the UNIX
+
+operating system.  One of the many features which MH offers is an interface to
+
+the UCI BBoards facility.  This facility permits the efficient distribution of 
interest
+
+group messages on a single host, a group of hosts under a single 
administration,
+
+and the ARPA Internet community.
+
+
+        Described simply, a interest group is composed of a number of 
subscribers
+
+with a common interest.  These subscribers post mail to a single address, known
+
+as a distribution address.  From this distribution address, a copy of the 
message
+
+is sent to each subscriber.  Each group has a moderator, which is the person 
that
+
+runs the the group.  This moderator can usually be reached at a special 
address,
+
+known as a request address.  Usually, the responsibilities of the moderator 
are quite
+
+simple, since the mail system handles the distribution to subscribers 
automatically.
+
+In  some  cases,  the  interest  group,  instead  of  being  distributed  
directly  to  its
+
+subscribers,  is put into a digest format by the moderator and then sent to the
+
+subscribers.  Although this requires more work on the part of the moderator, 
such
+
+groups tend to be better organized.
+
+
+        Unfortunately,  there  are  a  few  problems  with  the  scheme  
outlined  above.
+
+First, if two users on the same host subscribe to the same interest group, two 
copies
+
+of the message get delivered.  This is wasteful of both processor and disk 
resources.
+
+
+        Second,  some of these groups carry a lot of traffic.  Although 
subscription
+
+to an group does indicate interest on the part of a subscriber,  it is usually 
not
+
+interesting to get 50 messages or so delivered to the user's private maildrop 
each
+
+day, interspersed with personal mail, that is likely to be of a much more 
important
+
+and timely nature.
+                                                                              
                                3
+
+
+        Third,  if  a  subscriber  on  the  distribution  list  for  a  group  
becomes  "bad"
+
+somehow,  the originator of the message and not the moderator of the group is
+
+notified.  It  is  not  uncommon  for  a  large  list  to  have  10  or  so  
bogus  addresses
+
+present.  This results in the originator being flooded with "error messages" 
from
+
+mailers across the ARPA Internet stating that a given address on the list was 
bad.
+
+Needless to say, the originator usually could not care less if the bogus 
addresses
+
+got a copy of the message or not.  The originator is merely interested in 
posting a
+
+message to the group at large.  Furthermore, the moderator of the group does 
care
+
+if there are bogus addresses on the list, but ironically does not receive 
notification.
+
+
+        To solve all of these problems, the UCI BBoards facility introduces a 
new
+
+entity into the picture:  all interest group mail is handled by a special 
component of
+
+the mail system.  The distribution address maps to a special channel that 
performs
+
+several  actions.  First,  if  local  delivery  is  to  be  performed,  then  
a  copy  of  the
+
+message is placed in a global maildrop for the interest group with a timestamp
+
+and a unique number.  Local users can read messages posted for the interest 
group
+
+by  reading  the  file.   Second,  if  further  distribution  is  to  take  
place,  a  copy  of
+
+the message is sent to the distribution address in such a way that if any of 
the
+
+addresses are bogus, the failure notice is sent to the maintainer of the group 
and
+
+not the originator.
+
+
+        This scheme has several advantages:  First,  messages delivered to the 
host
+
+are  processed  and  saved  once  in  a  globally  accessible  area.  The  UCI 
 BBoards
+
+facility  supports  software  which  allows  a  user  to  query  the  interest 
 group  for
+
+new messages and to read those messages in the MH-style.  Second, once a host
+
+subscribes to an interest group, a user can add or remove him/herself from the 
list
+
+without contacting the moderator.  Third, a hierarchical distribution scheme 
can
+
+be constructed to further reduce the amount of message traffic.  Fourth, 
errors are
+
+prevented from propagating.  When an address on the distribution list goes bad,
+
+the request address immediately responsible for the address is notified.  
Usually,
+
+this is the local PostMaster and not the group moderator.
+
+
+        In addition to solving the problems outlined above, the UCI BBoards 
facility
+
+supports several other capabilities.  BBoards may be automatically archived in
+
+order to conserve disk space and reduce processing time when reading them.
+
+
+        Special  alias  files  may  be  generated  which  allow  the  MH  user 
 to  shorten
+
+address  type-in.  For  example,  instead  of  sending  to  address@hidden''   
         ,
+
+a  user  of  MH  usually  sends  to  ``SF-Lovers''         and  the  MH  
aliasing  facility
+
+automatically  makes  the  appropriate  expansion  in  the  headers  of  the  
outgoing
+
+message.  Hence,  one need only know the name of a interest group and not its
+
+address.
+                                                                              
                                4
+
+
+        Finally, the UCI BBoards facility supports private interest groups 
using the
+
+UNIX  group  access  mechanism.  This  allows  a  group  of  people  on  the  
same  or
+
+different machines to conduct a private discussion.
+
+
+        The practical upshot of all this is that the UCI BBoards facility 
automates the
+
+vast majority of BBoards handling from the point of view of both the PostMaster
+
+and the user.
+
+
+
+BBoard Handling
+
+        Usually the term BBoard is used interchangeably with the terms 
discussion
+
+group and interest group.  This is true of the discussion that follows.
+
+
+        The messages for a BBoard delivered locally are kept in the same 
format as a
+
+maildrop.2  Unlike the user's private maildrop however, the inc program is not 
run
+
+to incorporate new BBoard messages into the user's MH ``+inbox''        
folder.  The
+
+programs which are used will be discussed momentarily.
+
+
+        Each message in a BBoard maildrop has a unique number and a timestamp.
+
+The  number,  called  the  BBoard-ID,  is  always  ascending.  The  BBoard-ID  
of  a
+
+message should NOT be confused with the message number of a message, which
+
+can change as messages are removed from the BBoard.  The BBoard-ID is a value
+
+which is unique for every message delivered locally to the BBoard.
+
+
+        To read BBoards,  the MH user invokes bbc.  The bbc program has several
+
+switches to direct it's action.  The `-topics'       switch to bbc tells the 
MH user about
+
+the status of a BBoard.  The `-check'      switch to bbc lets the MH user 
check on the
+
+activity of a BBoard.  The `-read'      switch to bbc invokes the msh program 
on the
+
+BBoard.  msh is a monolithic program which contains most of the functionality 
of
+
+MH in a single program.  These commands are now discussed in greater detail.
+
+
+BBoard status
+
+        The `-topics'       option to the bbc program can be used to report 
information
+
+about a BBoard that does not pertain to the user's reading habits.  If the MH 
users
+
+types
+
+
+           bbc -topics
+
+
+then bbc will list the following information for all BBoards received on the 
host:
+
+
+            -  the official name of the BBoard
+
+
+            -  the number of messages delivered to the BBoard (but not 
necessarily
+
+               present)
+
+
+_____________________________________
+2  Actually, your site might be running with all BBoards kept on a single 
host.  MH supports the
+
+remote access of BBoards using a modified version of the ARPA Post Office 
Protocol (POP). This
+has the advantage that it saves a lot of disk space, and incurs only a modest 
performance penalty.
+                                                                              
                                5
+
+
+            -  the date and time of the last message delivered to the BBoard
+
+
+
+In addition to `-topics'      ,  if the `-verbose'        option is given to 
bbc,  then more
+
+information is listed:
+
+
+            -  any aliases the BBoard is known as
+
+
+            -  the local leaders of the BBoard
+
+
+            -  the file that the BBoard is locally delivered to
+
+
+            -  the "global" distribution address
+
+
+            -  the "global" request address
+
+
+            -  the host that distributes the BBoard to the local host
+
+
+            -  the addresses to which this host distributes
+
+
+            -  miscellaneous information (presently only archiving status)
+
+
+
+Naturally, bbc can be invoked with the `-topics'       option and one or more 
BBoard
+
+names listed on its command line.  For example
+
+
+           bbc -topics unix-wizards
+
+
+is  completely  acceptable  _  it  tells  bbc  to  report  the  status  of  
the  BBoard
+
+``unix-wizards''          .
+
+
+BBoard checking
+
+        The `-check'      option to the bbc program can be used to check for 
new BBoard
+
+messages in a synchronous fashion (i.e., when you specifically ask for it).  
The MH
+
+users types
+
+
+           bbc -check
+
+
+and bbc consults the profile entry for ``bboards:''         in the user's 
.mh_profile     file.
+
+For each BBoard listed, bbc prints one of several messages depending on the 
status
+
+of both the BBoard and the user's reading habits (for example, in the case of 
the
+
+mythical BBoard ``foo''     ):
+
+
+           1.  ``foo  --  n  items  unseen''
+
+               This message indicates items in the BBoard have not been seen 
by the
+
+               user.  When bbc is invoked with the ``quiet''       switch, 
this is the only
+
+               informative message that bbc will print out.  Users of MH 
usually put
+
+
+                   bbc -check -quiet
+
+
+               in their $ HOME/.login        file.
+                                                                              
                                6
+
+
+           2.  ``foo  --  empty''
+
+               The BBoard is empty.
+
+
+           3.  ``foo  --  n  items  (none  seen)''
+
+               The BBoard has n items in it, but the user hasn't seen any.
+
+
+           4.  ``foo  --  n  items  (all  seen)''
+
+               The BBoard is non-empty, and the user has seen everything in it.
+
+
+           5.  ``foo  --  n  items  seen  out  of  m''
+
+               The BBoard has at most m  n items that the user has not seen.
+
+
+
+It is important to note that bbc performs its calculations on BBoard-ID:s and 
not
+
+the messages actually present in a BBoard.  This means that the numbers given 
by
+
+bbc are maximal end-points.  When bbc says n, bbc means "at most n".
+
+
+        Naturally,  bbc can be invoked with the `-check'       option and one 
or more
+
+BBoards listed on its command line.  For example
+
+
+           bbc -check info-c poli-sci
+
+
+is completely acceptable _ it tells bbc to check on the BBoards ``info-c''     
   and
+
+``poli-sci''         only.
+
+
+        There are two ways to check for new BBoard messages in an asynchronous
+
+fashion:  using the CShell variable $ mail   and running the useto program.
+
+
+Asynchronous Checking with the CShell
+
+        The CShell has a variable called $ mail  .  This variable can contain 
one or more
+
+words.  Each word should be a filename where the shell should check for new 
mail.
+
+The check is performed after a specified time interval has elapsed just before 
the
+
+shell would prompt the user.
+
+
+        If the first word of $ mail   is a number, then this number specifies 
a different
+
+checking interval, in seconds, than the default, which is 10 minutes.
+
+
+        Whenever the time interval elapses and the shell is ready to prompt 
the user,
+
+the shell looks at the file and decides if new messages have arrived.  If so, 
it says
+
+
+           You  have  new  mail.
+
+
+if only one file is present in $ mail  .  Otherwise, if more than one file is 
present in
+
+$ mail  , then the shell says
+
+
+           New  mail  in  foo.
+
+
+whenever there is new mail in the file called ``foo''     .
+                                                                              
                                7
+
+
+        To find out what file is associated with a BBoard, say ``info-unix''   
     , the
+
+MH user types
+
+
+           bbc -topics -verbose info-unix
+
+
+Usually the local file for a BBoard has an extension of .mbox   .
+
+
+Asynchronous Checking with Useto
+
+        In  contrast  to  using  the  $mail   variable  in  the  CShell,  the  
MH  user  might
+
+employ useto instead.3   The useto program is a continuous update display that
+
+prints  information  on  the  status  line  of  your  terminal.   Needless  to 
 say,  your
+
+terminal must support a status line in order to run useto.  Not all terminals 
have
+
+this capability, but for those that do it's usually well worth the effort to 
run useto.
+
+
+        For example, users of MH could put
+
+
+           useto -bepf tcp-ip sftp % D % M % d % h:% m% z% b % n.tty% t:% l1
+
+
+in their $ HOME/.login        file.  This command line to useto says to inform 
the user of
+
+
+            -  the current date and time
+
+
+            -  new mail for the user
+
+
+            -  new messages for the BBoards ``tcp-ip''       and ``sftp''
+
+
+            -  the name of the host and tty that the user is logged in on
+
+
+            -  the 5-minute load average of that host
+
+
+        The useto program is really quite amusing and useful.4
+
+
+BBoard reading
+
+        If bbc is not given either the `-check'      or `-topics'       
option, the bbc program
+
+reads BBoard messages.  For each BBoard listed in the MH user's profile entry 
for
+
+``bboards:''        , bbc checks to see if there is unread mail.  If so, bbc 
starts msh on
+
+the BBoard, telling msh which messages haven't been seen.5
+
+
+        When msh starts it identifies the BBoard being read and indicates how 
many
+
+messages are present and how many the user has read.  Usually, in the user's MH
+
+profile, the user has the entry
+
+
+           msh: -scan
+
+
+
+_____________________________________
+3  Not all sites have useto; contact the same people who supplied MH to get a 
copy.
+4  To  be  honest,  the  author  considers  computing  environments  without  
useto  to  be  less  than
+
+adequate.
+5  If the `-verbose'     option is given to bbc, then bbc will start msh on 
the BBoard regardless of
+
+whether there are unseen messages there.
+                                                                              
                                           8
+
+
+           This says that when msh starts, it should print a scan listing of 
the messages which
+
+           the user hasn't seen yet.
+
+
+                   The msh program now prompts the user for MH commands.  The 
user may
+
+           type most of the normal MH command.  The syntax and semantics of 
the commands
+
+           typed to msh are identical to their MH counterparts.  For example,  
to reply to
+
+           a  message  on  the  BBoard,  the  MH  user  types  ``repl''    ;  
other  MH  commands
+
+           likewise may be applied to BBoard messages.  In cases where the 
nature of msh
+
+           would be inconsistent (e.g., specifying a `+folder'       with some 
commands), msh
+
+           will duly inform the user.  In addition to supporting most MH 
commands, msh also
+
+           has a ``help''      command which gives a brief overview.
+
+
+                   The only command that behaves entirely differently in msh 
is the ``mark''
+
+           command  when  given  no  arguments.   The  msh  program  maintains 
 a  special
+
+           sequence, ``unseen''      , which it uses to keep track of the 
messages you've seen.  If
+
+           the ``mark''      command is given without any arguments, then msh 
will interpret it
+
+           as
+
+
+                      mark -sequence unseen -delete -nozero all
+
+
+           Hence, to discard all of the messages in the current BBoard being 
read, the MH
+
+           user  types  ``mark''      which  says  to  remove  all  messages  
from  sequence  called
+
+           ``unseen''       .
+
+
+                   To leave msh use the ``quit''      command.  This tells msh 
to terminate and
+
+           bbc to go to the next BBoard.  Instead, if the user types EOT 
(usually CTRL-D),
+
+           then bbc will exit as well, updating whatever information was 
appropriate.
+
+
+
+           Current BBoards
+
+                   There are many,  many active interest groups.  Consult the 
BBoard called
+
+           ``list-of-lists''            for a comprehensive description.  Here 
are a few of the more
+
+           popular:
+
+
+               system     Important announcements for the local system are 
posted here.
+
+
+            mh-users      A discussion group for users of MH.
+
+
+arpanet-bboards           Redistribution address for all known BBoards on the 
ARPAnet.
+
+
+   editor-people          Discussion  of  topics  related  to  computerized  
text  editing,  display
+
+                          editors, and human factors in man/machine 
interaction.  The theoretical
+
+                          discussion is catholic, but practical discussion 
focuses particularly on
+
+                          Tops206  and UNIX.
+
+
+   franz-friends          Discusses the Franz Lisp language.
+
+
+           _____________________________________
+           6  Tops20 is a trademark of Digital Equipment Corporation.
+                                                                              
                                        9
+
+
+header-people          Interest specifically in the format of message headers 
and related issues
+
+                       such as inter-network mail formats/standards, etc.
+
+
+     human-nets        Human-Nets  has  discussed  many  topics,  all  of  
them  related  in  some
+
+                       way to the theme of a world-wide computer and 
telecommunications
+
+                       network usually called WorldNet.  The topics have 
ranged very widely,
+
+                       from something like tutorials, to state of the art 
discussions, to rampant
+
+                       speculation about technology and its impact.
+
+
+     info-micro        Information/discussion list on the general interest 
topic of microcom-
+
+                       puters.
+
+
+       info-unix       Info-UNIX is intended for question/answer discussion, 
where "novice"
+
+                       system administrators can pose questions.
+
+
+         msggroup      Interest in electronic mail, message formats, message 
systems, and the
+
+                       sociological implications of the above.
+
+
+         poli-sci      A permanent distributed political "bull" session.
+
+
+       sf-lovers       Science Fiction lovers.  SF-Lovers has discussed many 
topics, all of them
+
+                       related in some way to the theme of science fiction or 
fantasy.
+
+
+             space     Discussions (daily digest) on space-related topics.
+
+
+          telecom      A broad spectrum moderated-digest-format discussion on 
telecommu-
+
+                       nictions technology:  the telephone system,  modems,  
and other more
+
+                       technical aspects of telecommunications systems.
+
+
+     unix-emacs        Used for new release announcements and general 
discussions of Gosling's
+
+                       EMACS.
+
+
+  unix-wizards         Distribution  list  for  people  maintaining  machines  
running  the  UNIX
+
+                       operating system.
+
+
+
+        As  discussed  earlier,  to  find  out  about  all  of  the  BBoards  
that  the  local  host
+
+        subscribes to, the MH users types
+
+
+                   bbc -topics
+
+
+
+        More on BBoards
+
+                Finally, here are a few more operational details:
+
+
+        Creating a BBoard
+
+                Contact the PostMaster at your host to have a BBoard created.  
Be sure to
+
+        indicate its status (public or private) and scope (where distribution 
should occur).
+                                                                              
                                            10
+
+
+              Subscribing to a BBoard
+
+                      If your local host already receives an interest group,  
then simply add the
+
+              name of the BBoard to the ``bboards:''        entry in your MH 
profile.  If not, ask the
+
+              PostMaster to create the BBoard and contact the global request 
address for you.
+
+
+              BBoard Archives
+
+                      BBoard messages are automatically archived on a weekly 
basis.  Usually, this
+
+              results in messages older than 12 days being moved to an archive 
area.  To read
+
+              the archives for a BBoard, the `-archive'       option is used.  
For example,
+
+
+                         bbc -archive telecom
+
+
+              tells bbc to invoke msh on the archives for the ``telecom''      
  BBoard.
+
+
+                      Note that the archives may not be present for all 
BBoards on a given host;
+
+              also note that the archives may be periodically moved to tape 
and expunged from
+
+              the system.  Contact your local PostMaster for the details.
+
+
+              BBoard Addresses
+
+                      Each BBoard has associated with it 4 addresses (for 
example, in the case of
+
+              the mythical BBoard ``foo''     ):
+
+
+                       foo   The global distribution list
+
+                             If you post a message addressed to foo then the 
message is distributed
+
+                             to everyone who subscribes to ``foo''     .
+
+
+               dist-foo      The local distribution list
+
+                             If  you  post  a  message  addressed  to  
dist-foo  then  the  message  is
+
+                             distributed to the local BBoard for ``foo''      
and to any sites which the
+
+                             local system distributes to.
+
+
+         foo-request         The global moderator
+
+                             If you post a message addressed to foo-request 
then the message is
+
+                             sent to the moderator for the entire interest 
group called ``foo''     .
+
+
+local-foo-request            The local moderator
+
+                             If  you  post  a  message  addressed  to  
local-foo-request  then  the
+
+                             message is sent to the person responsible for the 
BBoard ``foo''      on
+
+                             the local system.
+
+
+
+              These addresses are defined by the MH alias facility.  Users of 
the BBoards facility
+
+              who do not use MH may not be able to make use of them.
+
+
+              Leading a BBoard
+
+                      Except for special circumstances, this task is wholly 
automated.  For more
+
+              information though, see the manual entries for bbl (1) and 
bbleaders (8).
+                                                                              
                              11
+
+
+Extra for Experts
+
+        Some clever MH users might ask why BBoards aren't kept as folders 
instead
+
+of pack'd files.  This is a good question.  Perhaps some future release of MH 
and the
+
+UCI BBoards facility will treat BBoards as a variant of read-only folders.
+
+
+        The  problem  with  msh,  of  course,  is  that  it's  a  monolithic  
program,  and
+
+although  it  does  support  input/output  redirection  and  a  few  other  
primitive
+
+shell-like properties, it's still not the CShell.
+                                                                              
                              12
+
+
+                                               References
+
+
+
+[MH]           M.T. Rose,  J.L. Romine.  The Rand MH Message Handling System:
+
+               User's Manual. UCI Version. Department of Information and 
Computer
+
+               Science, University of California, Irvine (July, 1984).
+
+
+
+[MH.TUT]       M.T.  Rose.   The  Rand  MH  Message  Handling  System:  
Tutorial.
+
+               Department  of  Computer  and  Information  Sciences,  
University  of
+
+               Delaware (October, 1984).
+
+
+
+
+                                                 Contents
+
+
+
+                                                                               
                           Page
+
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       1
+
+ Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       1
+
+ Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       1
+
+ Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       2
+
+ Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       2
+
+ BBoard Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       4
+
+         BBoard status  . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       4
+
+         BBoard checking. . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       5
+
+                Asynchronous Checking with the CShell. . . . . . . . . . . . . 
. . .       6
+
+                Asynchronous Checking with Useto. . . . . . . . . . . . . . . 
. . . .       7
+
+         BBoard reading  . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       7
+
+ Current BBoards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       8
+
+ More on BBoards  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       9
+
+         Creating a BBoard  . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       9
+
+         Subscribing to a BBoard . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .      10
+
+         BBoard Archives. . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      10
+
+         BBoard Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      10
+
+         Leading a BBoard . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      10
+
+ Extra for Experts  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      11
+
+ References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .      12
+
+
+
+ _____________________________________
+This document (version #2.6) was TEXset April 12, 1990 with DISS.STY v103.
+
+
+
+                                                        i
diff --git a/docs/historical/beginners.pdf b/docs/historical/beginners.pdf
new file mode 100644
index 0000000..8d12ca0
Binary files /dev/null and b/docs/historical/beginners.pdf differ
diff --git a/docs/historical/beginners.txt b/docs/historical/beginners.txt
new file mode 100644
index 0000000..18cf893
--- /dev/null
+++ b/docs/historical/beginners.txt
@@ -0,0 +1,1011 @@
+
+
+
+
+                                   MH  for  Beginners
+
+
+
+                            Mary  Hegardt                           Tim  Morgan
+
+
+
+                                               April  12,  1990
+
+
+
+This  document  is  intended  to  be  an  introduction  for  new  users  to  
the  MH
+
+mail  system.   For  more  detailed  information,  users  will  want  to  read 
 the
+
+document  called  The  Rand  MH  Message  Handling  System:  User's  Manual
+
+by  Marshall  T.  Rose  and  John  L.  Romine.   It  is  available  for  
Xeroxing  in
+
+suite CS408.
+
+
+
+1         Using  Electronic  Mail
+
+
+
+Electronic  mail  (e-mail)  is  a  quick,  convenient  way  to  send  a  
message  to
+
+another  person  (or  persons).   The  message  recipient  can  read  and  
reply  to
+
+the  message  at  his  convenience.  E-mail  is  much  faster  than  a  paper  
memo
+
+and  avoids  inconveniences  associated  with  the  telephone  such  as  
unwanted
+
+interruptions and "phone tag."
+
+
+At UCI, one can send e-mail to people within the ICS department, people in
+
+other  units  on  campus,  and  to  people  at  some  other  institutions  off 
 campus
+
+(usually other universities).
+
+
+An electronic mail message consists of two parts:  the headers and the body.
+
+The  body  comes  after  the  headers  and  consists  of  the  "message":  
whatever
+
+the  sender  types  in.   The  headers  are  the  lines  at  the  top  of  the 
 message
+
+including  the  subject  and  addresses  of  the  people  to  whom  the  
message  is
+
+addressed.  It  is  similar  to  the  top  lines  of  a  memo:  To:,  From:,  
Subject:,
+
+and so on.  The headers are separated from the body by a blank line.  As in
+
+
+
+                                                           1
+
+
+
+
+memos, the people listed in the Cc: field are not intended to be the primary
+
+recipients  of  the  message.   The  message  is  for  their  information  
only,  and
+
+they are not expected to reply.
+
+
+E-mail is also useful for discussions among groups of people.  This "bboards"
+
+(electronic bulletin boards) facility will be discussed later.
+
+
+An  electronic  mail  address  looks  like  "name @site ".  The  name  is  a  
person's
+
+"mail  handle"  _  usually  his  first  initial  followed  by  his  last  
name.    For
+
+example, Mary Hegardt's mail handle is "mhegardt".  The site  is the system
+
+where  the  addressee  receives  mail.   Within  the  ICS  Department,  you  
need
+
+only  know  the  person's  mail  handle;  the  mail  system  will  
automatically  fill
+
+in the "@site " part.
+
+
+
+2         Why  MH  ?
+
+
+
+The  MH  system  is  very  different  from  most  mail  user  agents.   
Instead  of
+
+running  one  large  program  which  handles  all  mail  functions  and  keeps 
 mes-
+
+sages in one large file, MH is a collection of smaller single-purpose programs
+
+used  to  manipulate  mail  messages  which  are  kept  in  individual  files. 
  MH
+
+may seem to be more complicated or harder to use than other mail systems
+
+(MM, for example), but MH has been designed to allow you to take full ad-
+
+vantage of existing Unix1  commands and programs in connection with mail
+
+messages.  For example, you can use your usual text editor, spelling program,
+
+and printer commands on individual messages.
+
+
+
+3         The  Basics
+
+
+
+The  first  time  you  use  an  MH  command  (probably  inc),  MH  will  
create  a
+
+directory called "Mail" in your home (login) directory.  All your mail will be
+
+stored in directories beneath this one.  It will also create a file in your 
home
+
+directory  called  .mh_profile.  It  is  a  file  that  allows  you  to  
tailor  your  MH
+
+environment.  We'll discuss this more later.
+________________________________________________
+    1 Unix is a trademark of AT&T Bell Laboratories
+
+
+
+                                                           2
+
+
+
+
+3.1         Reading  Mail
+
+
+
+When  someone  sends  a  mail  message  to  you,  it  is  delivered  to  a  
file  called
+
+your  "mail  drop"  file.  When  you  are  ready  to  read  your  mail,  you  
have  to
+
+incorporate (or "inc") your mail messages from the mail drop area into your
+
+account.
+
+
+Everytime  you  log  in  to  your  Unix  account,  you  will  be  told  if  
you  have
+
+new  mail  messages.  When  you  are  ready  to  read  them,  type  inc.  The  
inc
+
+program will copy your mail into your "inbox" and generate a "scan" listing
+
+of the new messages.  For example,
+
+
+
+4.2  BSD  UNIX  #116:  Mon  Jul  15  14:03:21  PDT  1985
+You  have  new  ZOTnet  mail,  type  "inc"  (or  mail)
+
+TERM  =  (dm1520)
+
+%  inc
+
+Incorporating  new  mail  into  inbox  ...
+
+    1+  10/29  1732-PST  Tim  Morgan           new  bboard!   <<Please  add  
us  to  the  uni
+    2   11/12  0016-PST  address@hidden       CP6  from  the  20s   <<What  is 
 (will  be)  t
+    4   11/15  1909-EDT  address@hidden               Hello,  got  a  few  
questions
+    5   11/15  2134-PST  Marshall  Rose       MH.6  on  750a   <<Mary,  I've  
left  the  dis
+    6   11/16  0808-PST  Mail  Delivery  Su   Returned  mail:  Host  unknown
+    7   11/16  1021-PST  Tim  Morgan           Unix-wizards/info-unix  move
+    8   11/18  0952-PST  address@hidden   Re:New  system  wide  aliases  for  
ICS  facu
+    9   11/18  1346-EDT  address@hidden               Have  we  got  a  
problem?
+
+
+
+This is what a typical "inc" session for the Postmaster looks like.  Inc  
copies
+
+my  mail  into  my  "inbox"  folder,  assigns  a  unique  number  to  each  
message,
+
+and  scans  them  for  me.   The  numbers  allow  you  to  refer  to  each  
message
+
+individually.  After the message number, you see the date and time the mes-
+
+sage was sent, the name of the sender, and the subject of the message.  The
+
+"current" message is indicated by a "+" sign.  To read it, type "show":
+
+
+
+%  show
+
+    (Message  inbox:1)
+    Received:  from  localhost  by  UCI.EDU  id  a005369;  29  Oct  85  17:32  
PST
+    To:  address@hidden
+    Subject:  new  bboard!
+    Date:  29  Oct  85  17:32:24  PST  (Tue)
+    From:  Tim  Morgan  <address@hidden>
+
+
+
+                                                           3
+
+
+
+
+    Please  add  us  to  the  unix-sw  list.   Also,  if  RAJ  hasn't  
mentioned  it,
+    and  if  it  still  exists,  we  should  get  on  the  Astronomy  bboard.
+
+    Tim
+
+
+
+If the message is longer than one screenful, you will see the word "more" at
+
+the bottom_of_the_screen.__When you are ready to see "more" of the 
message,______
+
+press the __space_bar______ __to see another screenful, or press the 
__return____ _key to see
+
+just one more line.
+
+
+To see the next message, you could type a couple of different commands:
+
+
+                 %  next
+
+
+or
+
+
+                 %  show  next
+
+
+or
+
+
+                 %  show  2
+
+
+All  of  these  commands  would  have  the  same  effect:   to  type  out  the 
 next
+
+message in the list.  The most efficient thing to do is to type "next".  When
+
+You  do  that,  message  number  2  will  be  shown  and  become  the  "current
+
+message".
+
+
+
+%  next
+
+
+(Message  inbox:2)
+Received:  from  UCI-20B  by  UCI-ICSA  id  aa01222;  12  Nov  85  0:23  PST
+Date:  12  Nov  1985  0016-PST
+From:  address@hidden
+Subject:  CP6  from  the  20s
+To:  address@hidden
+cc:  address@hidden
+
+
+What  is  (will  be)  the  prescribed  method  of  addressing  for  sending
+CP6  mail  from  the  20s?   They  dont  seem  to  know  about  @CF,  @UCICP6,
+but  "Name_Name%UCICP6"@ICSA  seems  to  fly.
+
+
+dana
+
+
+
+                                                           4
+
+
+
+
+3.2         Selecting  Messages
+
+
+
+As  you  have  seen,  messages  can  be  referred  to  by  their  message  
numbers.
+
+Some  MH  commands,  such  as  show,  can  act  upon  more  than  one  message
+
+at  a  time.   A  range  of  messages  can  be  specified  using  the  form  
"name1-
+
+name2 "  where  name  is  a  message  number  or  one  of  the  reserved  
message
+
+names described below:
+
+
+
+      cur           The current message (the last one that was handled)
+
+
+     next           The next message (same as cur    + 1)
+
+
+     prev           The previous message (cur     1)
+
+
+     first          The first message in the current folder
+
+
+      last          The last message in the folder
+
+
+       all          All messages (first  last )
+
+
+
+If you do not name a specific message, the command will act upon the "cur-
+
+rent message".
+
+
+
+3.3         Sending  Messages
+
+
+
+A mail message consists of two parts:  the headers and the body.  The headers
+
+are the lines at the top of the message that say "To:"  and so on.  The body
+
+is  the  actual  text  of  the  message  (what  you  want  to  say).  To  send 
 someone
+
+a  message,  you  start  with  the  comp  command.  This  will  start  up  an  
editor
+
+called prompter  that will prompt you to fill in_the_headers._ You should type
+
+the requested information for that header or a __return____ _to_omit_it._ You 
should
+
+end the message by typing control-D (press down the key marked __ctrl__ __and
+
+strike the D key) at the beginning of a new line.  Here's an example:
+
+
+
+%  comp
+
+To:  morgan,  raj
+
+Cc:
+
+
+
+                                                           5
+
+
+
+
+Subject:  Lunch
+
+---------
+
+Where  are  we  going  for  lunch  today  ?
+
+
+
+Mary
+
+<control-D>
+
+--------
+
+What  now  ?    send
+
+
+
+At  the  "What  now  ?"  prompt  you  can  type  a  ?  to  see  what  commands 
 you
+
+can  type  next.   One  of  the  most  useful  options  at  this  point  is  
to  edit  the
+
+draft of the message to correct any mistakes.  To do this you type:
+
+
+                 What  now  ?    edit  vi
+
+
+This will put you in the vi  editor to edit the message.  If you use emacs or 
any
+
+other  editor,  just  type  "edit  emacs"  or  whatever.   When  you  have  
finished
+
+editing, just exit the editor as you would normally.  You will then get another
+
+"What  now  ?" prompt.  Here are some of the "What now" options:
+
+
+
+     edit  editor              Edit  the  message  using  the  specified  
editor.   When  you
+
+                               exit, you will be back at What  now.
+
+
+                list           Shows the message you just typed
+
+
+   whom  -check                Verifies that the addresses you have used are 
valid as far
+
+                               as our system can tell
+
+
+                send           Sends the message to the recipients
+
+
+                push           Sends the message in the background
+
+
+                quit           Quits  without  sending  the  message.   Saves  
the  text  of
+
+                               the  message  as  a  "draft".  Type  comp  -use 
 to  get  back
+
+                               to that draft later.
+
+
+ quit  -delete                 Quit, throwing away the draft
+
+
+
+Make sure you are happy with your message before typing send.  There is no
+
+way to recall a message once it has been sent.
+
+
+
+                                                           6
+
+
+
+
+3.4         Replying  to  Messages
+
+
+
+To  reply  to  the  current  message  type  repl.   When  you  do  this,  the  
reply
+
+headers  will  be  printed  out  and  you  will  be  put  in  the  prompter  
editor  to
+
+type  in  your  reply  text.  When  you  are  replying  to  a  message,  the  
name  of
+
+the sender of the original message will appear in the "To:"  field.  Any people
+
+on  the  "To:"  or  "Cc:"  lists  will  also  be  copied  on  your  reply  
message.   As
+
+with  comp,  when  you  have  finished,  type  control-D  and  send  (or  
whatever)
+
+at What  now  ?.
+
+
+
+3.5         Forwarding  Messages
+
+
+
+If  you  receive  a  particularly  interesting  message  and  can't  resist  
sharing
+
+it  with  others,  you  can  forward  it  using  the  forw  command.   You  
will  be
+
+prompted  to  fill  in  the  headers  (the  address  to  which  the  message  
is  to  be
+
+forwarded, etc.).  When you have done this, you will see the text of the mes-
+
+sage which you are forwarding and will be given the opportunity to add some
+
+enlightening text to the message.  Exit with control-D and do whatever feels
+
+good at the What  now  ? prompt.
+
+
+
+3.6         The  Advanced  Features
+
+
+
+You  will  probably  want  to  master  the  beginning  MH  concepts  before  
you
+
+tackle the following. . .
+
+
+
+3.7         Folders
+
+
+
+Folders  are  really  just  directories  for  storing  mail  messages  in  an  
organized
+
+way.  To store a message in a folder named "inbox", type:
+
+
+                 %  refile  5  +inventory
+
+
+If  the  folder  doesn't  exist  yet,  you  will  be  asked  if  it  should  
be  created.  To
+
+access  messages  in  another  folder,  you  can  change  your  current  
folder  from
+
+
+
+                                                           7
+
+
+
+
+"inbox" to something else.  If you want to look at all the messages pertaining
+
+to the inventory, you type:
+
+
+                 %  folder  +inventory
+
+
+and now you use scan, show, etc., to manipulate the messages in that folder.
+
+To change back to inbox, type:
+
+
+                 %  folder  +inbox
+
+
+Using  the  inc  command  will  change  your  current  folder  to  be  the  
"inbox"
+
+automatically.
+
+
+
+4         Mailing  files
+
+
+
+Mailing  files  is  usually  not  a  good  idea,  especially  for  large  
files.  The  mail
+
+system  was  never  designed  for  moving  big  files.  You  can  use  the  cp 
 file  to
+
+move the file to another account much more efficiently:
+
+
+                 %  cp  "frated/desired-file  "./newfile
+
+
+This will copy the file from frated's account to the current directory and call
+
+it "newfile".
+
+
+You can also copy files across the network using rcp:
+
+
+                 %  rcp  icsd:frated/desired-file  ./newfile
+
+
+This copies frated's file on the system icsd to the current directory.
+
+
+If you really  have to mail a file, you use the mhmail  program.  To mail a 
file
+
+"myfile" to another user "frated", with "MyFile" as the subject type:
+
+
+                 %  mhmail  frated  -subject  MyFile  <  myfile
+
+
+
+5         Searching  for  messages
+
+
+
+The  pick  program  allows  you  to  search  your  inbox  (or  any  other)  
folder  to
+
+find messages which contain a certain word.  If you want to list all messages
+
+
+
+                                                           8
+
+
+
+
+from Smith you can type:
+
+
+                 %  pick  -from  smith  -list
+
+
+and  it  will  list  the  numbers  of  all  messages  from  Smith  that  are  
in  the  cur-
+
+rent  folder.   You  can  pick  messages  according  to  any  of  the  headers 
 (-to
+
+-from  -subj  -cc  or  -date) or just search all the messages for a given word
+
+(-search).
+
+
+
+6         The  MH  Profile
+
+
+
+Each MH user has a file in his directory called .mh_profile.  This file 
contains
+
+a  list  of  user-specified  default  options  for  MH  programs.  The  only  
required
+
+entry is the name of your MH directory:
+
+
+                 Path:    Mail
+
+
+or
+
+
+                 Path:    mhbox
+
+
+To make a change to your .mh_profile, you edit the file and add a line for
+
+the  applicable  program.  For  example,  if  you  would  like  to  use  vi  
instead  of
+
+prompter  as  your  initial  editor  when  composing  messages,  you  would  
add
+
+this line to your .mh_profile:
+
+
+                 comp:    -editor  vi
+
+
+or, if you want to have a format file for scan  to use, you should have:
+
+
+                 scan:    -form  formatfile
+
+
+Almost  all  of  the  MH  programs  have  options  that  can  be  set  using  
the
+
+.mh_profile.   You  should  consult  the  MH  User's  Manual  for  more  infor-
+
+mation about this.
+
+
+Many  people  will  want  to  add  a  signature  line  to  their  .mh_profile. 
 This
+
+line will appear as your signature on the From:  line in messages you send.  It
+
+looks like this:
+
+
+
+                                                           9
+
+
+
+
+                 Signature:    John  Q.  Public
+
+
+Occasionally  people  express  an  interest  in  getting  rid  of  some  of  
the  header
+
+lines  in  their  mail  messages.  They  don't  want  to  see  the  "Received  
from",
+
+"Via"  information,  or  some  other  header.   It  is  possible  to  prevent  
these
+
+and  other  annoying  headers  from  being  displayed  by  changing  your  show
+
+processor to be mhless.  To do this you must add this line
+
+
+                 showproc:    mhless
+
+
+to your .mh_profile.  You also must create a file called ".mhlessrc" contain-
+
+ing  the  words  which  appear  at  the  beginning  of  the  lines  you  don't 
 want  to
+
+see.
+
+
+The typical ".mhlessrc" file will look like this:
+
+
+
+Received
+
+Via
+
+BB-Posted
+
+Return-Path
+
+
+
+The ".mhlessrc" file must be in your home directory.
+
+
+
+7         BBoards
+
+
+
+Electronic bulletin boards (BBoards) are a convenient way for a group of peo-
+
+ple to discuss a particular topic.  Messages are sent to an address where they
+
+can  be  read  and  replied  to  by  all  interested  parties.  In  the  ICS  
department
+
+we have some "local" BBoards which involve only people in the department.
+
+We  also  subscribe  to  many  nationally  distributed  BBoards.   BBoards  are
+
+read  using  the  bbc  program  which  will  allow  you  to  read  the  
messages  with
+
+an MH-like interface.
+
+
+One  very  important  BBoard  is  "system".    It  contains  vital  news  about
+
+changes  in  software,  system  downtime,  new  programs,  and  other  informa-
+
+tion useful to all users.
+
+
+
+                                                           10
+
+
+
+
+To  read  a  BBoard,  you  type  "bbc  BBoard__name ".   The  bbc  program  
will
+
+check to see if there are new messages in the named BBoard and if there are,
+
+it  will  start  up  msh  so  you  can  read  them.  The  msh  program  allows 
 you  to
+
+use  regular  MH  commands  when  reading  BBoards.  Type  "show"  to  see  the
+
+current message, "next" to see the next message, and so on.  Type "quit" to
+
+quit reading the current BBoard.  If you have named more than one BBoard
+
+on  the  command  line  or  in  your  .mh_profile,  bbc  will  continue  
processing
+
+the next BBoard in the list.
+
+
+Here is an example of using bbc  to read the system BBoard:
+
+
+
+                                                           11
+
+
+
+
+%  bbc  system
+Reading  system,  currently  at  message  1  of  22
+(msh)  show
+
+
+(Message  1,  BBoard-ID:  1360)
+BBoard-ID:  1360
+BB-Posted:  Wed,  29  Jan  86  15:36:39  PST
+Received:  from  localhost  by  UCI.EDU  id  a006693;  29  Jan  86  15:20  PST
+To:  address@hidden
+Subject:  Imagen  24300
+Date:  Wed,  29  Jan  86  15:19:43  -0800
+From:  Tinh  Tang  <address@hidden>
+
+
+The  Imagen  24300  is  now  operating  normally.   It  was  broken  down
+due  to  the  paper  jammed  in  the  drum.   Luckily,  it  didn't  cause
+any  damage.
+
+
+/ttang
+
+
+(msh)  next
+
+
+(Message  4,  BBoard-ID:  1363)
+BBoard-ID:  1363
+BB-Posted:  Fri,  31  Jan  86  13:33:37  PST
+Received:  from  localhost  by  UCI.EDU  id  a001631;  31  Jan  86  13:30  PST
+To:  address@hidden
+Subject:  uci.edu  down  2/7/86  17:10  -  2/7/86  20:30
+Date:  Fri,  31  Jan  86  13:30:27  -0800
+From:  address@hidden
+
+
+The  uci.edu  will  be  down  from
+February   7,1986  17:10  till  February   7,1986  20:30.
+The  reason  for  the  downtime  is:
+Both,  the  Computing  Facility  and  the  Physical  Sciences  Dataswitches
+will  be  unavailable  from  5:10pm  until  8:30pm  on  Friday,  February  7th.
+Therefore  all  the  Computers  attached  to  those  switches  and  the
+corresponding  tandem  link  will  be  unavailable  to  users  on
+the  specified  time.                       (RJ).
+
+
+Downtime  Scheduler
+
+
+(msh)  quit
+%
+
+
+
+                                                           12
+
+
+
+
+You can see a list of all the available BBoards by typing:
+
+
+                 %  bbc  -topics
+
+
+You  can  also  put  a  line  in  your  ".mh_profile"  listing  all  the  
BBoards  you
+
+want to read on a regular basis:
+
+
+                 bboards:    system  movies  mh-users  events
+
+
+Then you only need to type "bbc" to read all your BBoards.
+
+
+
+8         Checking  for  Mail
+
+
+
+Under Unix, there are many different ways to check for new mail.  The easiest
+
+way to do it is to set the csh  variable named "mail" to tell csh  to check for
+
+new mail for you periodically.  To do this, add the line
+
+
+                 set  mail=(60  /usr/spool/mail/$USER)
+
+
+to  the  .login  file  in  your  home  directory.  This  command  says  to  
check  for
+
+mail if csh  is about to prompt you with a % sign,  and if it has been at least
+
+60  seconds  since  it  last  checked  for  mail.  The  advantage  of  this  
method  of
+
+mail notification, besides simplicity, is that you will never be interrupted by
+
+a  mail  notification.  You  will  only  be  notified  about  new  mail  when  
you  are
+
+between commands.
+
+
+If you want asynchronous mail notification, which will print to your terminal
+
+regardless  of  what  you  are  currently  doing,  you  may  make  use  of  a  
"receive
+
+mail  hook"  called  "rcvtty".  To  do  this,  create  a  file  in  your  home 
 directory
+
+called ".maildelivery".  In this file, put the line
+
+
+                 *  -  pipe  R  /usr/uci/lib/mh/rcvtty
+
+
+Then,  each  time  mail  arrives,  you  will  receive  a  one-line  "scan"  
listing  of
+
+the  mail  if  your  terminal  is  world-writable.   For  more  information  
on  mail
+
+delivery files, type:
+
+
+                 %  man  5  maildelivery
+
+
+
+                                                           13
+
+
+
+
+This will tell you about all the options available to you if you use 
maildelivery
+
+files.
+
+
+
+9         Aliases
+
+
+
+Using MH, you may specify your own private mail aliases.  This feature allows
+
+you to store lists of addresses or long internet addresses of people with whom
+
+you  frequently  correspond  in  one  file,  and  then  to  address  them  
using  short
+
+mnemonic names.  Typically, you will call your alias file "aliases";  it must
+
+be  stored  in  your  MH  directory.  The  format  of  this  file  is  simple. 
 The  alias
+
+is  given,  followed  by  a  colon,  followed  by  one  or  more  legal  mail  
addresses
+
+separated by commas.  For example, you might for some reason have an alias
+
+for all the users named "Rose" in the ICS department:
+
+
+                 roses:    prose,  srose,  mrose,  drose
+
+
+In   addition   to   your   "aliases"   file,   you   will   need   to   
modify   your
+
+.mh_profile  in  order  to  use  aliases.    You  should  add  the  flag  
"-alias
+
+aliases"  to  the  entries  for  the  commands  ali,  whom,  send,  and  push, 
 cre-
+
+ating entries for these programs if they aren't already in your .mh_profile.
+
+Now,  messages  addressed  to  "roses"  will  be  distributed  to  all  the  
people
+
+listed in the alias.
+
+
+The  ali  command  is  used  to  show  you  what  an  alias  expands  to.  You 
 just
+
+type
+
+
+                 %  ali  alias
+
+
+and ali  will respond with the expansion of the alias.  Ali  searches the 
system
+
+aliases file in addition to your private ones.
+
+
+
+10           Blind  Lists
+
+
+
+There  are  two  different  types  of  so-called  "blind  addressing"  of  
messages.
+
+The  BCC:  field  allows  you  to  add  recipients  to  your  message  just  
like  those
+
+who are CC'd, but the normal recipients will not see that the BCC recipients
+
+
+
+                                                           14
+
+
+
+
+were copied on the message, their replies will not go to the blind recipients,
+
+and the blind recipients cannot (easily) reply to the message.
+
+
+The  second  type  of  blind  mailing  is  actually  called  a  "group  
address  list",
+
+although it is commonly referred to as a "blind list".  The format of this type
+
+of address is
+
+
+                 phrase :    address__list ;
+
+
+where  the  "phrase "  is  any  English  phrase  of  one  or  more  words,  
and  the
+
+address__list  consists  of  one  or  more  addresses  separated  by  commas.  
 The
+
+recipients of a message addressed in this fashion will see simply
+
+
+                 phrase :    ;
+
+
+so  when  they  reply  to  the  message,  their  reply  will  come  only  to  
the  sender
+
+(or  the  Reply-To:  field,  if  one  was  specified),  rather  than  going  
to  all  the
+
+recipients of the original list.  For example, to use a group address list for 
the
+
+"roses" alias you would type:
+
+
+                 To:    People  Named  Rose:    roses;
+
+
+This type of group address is very useful for making up lists of related 
people,
+
+such as all the people working on a particular research project.
+
+
+
+                                                           15
diff --git a/docs/historical/changes.pdf b/docs/historical/changes.pdf
new file mode 100644
index 0000000..12b4c64
Binary files /dev/null and b/docs/historical/changes.pdf differ
diff --git a/docs/historical/changes.txt b/docs/historical/changes.txt
new file mode 100644
index 0000000..813e341
--- /dev/null
+++ b/docs/historical/changes.txt
@@ -0,0 +1,1452 @@
+
+
+
+
+
+
+
+
+
+                                   Changes to
+                      The RAND MH Message Handling System:
+                               UCI version MH 6.8
+
+
+                                 John L. Romine
+
+                            Computing Support Group
+                 Department of Information and Computer Science
+                        University of California, Irvine
+                             Irvine, CA  92717-3425
+                               address@hidden
+
+
+                                    _A_B_S_T_R_A_C_T
+
+
+                    This document describes the changes to the
+               UCI version of the RAND MH system from MH 6.6 to
+               this release of MH 6.8.  This document is meant to
+               supplement, not supersede, the standard MH User's
+               manual and MH Administrator's manual.
+
+                    Comments concerning this documentation should
+               be addressed to the mailbox address@hidden, or
+               ucbvax!ucivax!bug-mh.
+
+
+
+          _A_C_K_N_O_W_L_E_D_G_E_M_E_N_T_S
+
+          The _M_H system described herein is based on the original RAND
+          _M_H system.  It has been extensively developed (perhaps too
+          much so) by Marshall T. Rose and John L. Romine at the
+          University of California, Irvine.  Einar A. Stefferud, Jerry
+          N. Sweet, and Terry P. Domae provided numerous suggestions
+          to improve the UCI version of _M_H.
+
+               Of course, a large number of people have helped _M_H
+          along.  The list of "_M_H immortals" is too long to list here.
+          For this release, numerous _M_H-_W_o_r_k_e_r_s sent in 
fixes and
+          other changes.  A handful of courageous _M_H-_W_o_r_k_e_r_s 
volun-
+          teered to beta-test these changes; their help is particu-
+          larly appreciated.
+
+
+
+
+
+
+
+
+
+
+                              December 1, 1993
+
+
+
+
+
+          Changes to MH 6.8                                          2
+
+
+
+          _D_I_S_C_L_A_I_M_E_R
+
+          The Regents of the University of California wish to make  it
+          known that:
+
+               Although each program has been tested by its  con-
+               tributor, no warranty, express or implied, is made
+               by the contributor or the University  of  Califor-
+               nia,  as  to  the  accuracy and functioning of the
+               program and related program  material,  nor  shall
+               the  fact of distribution constitute any such war-
+               ranty, and no responsibility  is  assumed  by  the
+               contributor  or  the  University  of California in
+               connection herewith.
+
+          _C_O_N_V_E_N_T_I_O_N_S
+
+          In this document, certain formatting conventions are adhered
+          to:
+
+               The names of UNIX commands, such as _c_o_m_p are  presented
+               in _i_t_a_l_i_c_s.
+
+               Arguments to programs, such as `msgs' and `-nobell' are
+               delimited by single-quotes.
+
+               Text that should be typed exactly as-is, such  as  com-
+               mand  lines  (e.g.,  "folder  -pack"), are delimited by
+               double-quotes.
+
+               UNIX pathnames and envariables, such  as  /usr/uci  and
+               $SIGNATURE, are presented in bold font.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                              December 1, 1993
+
+
+
+
+
+          Changes for MH 6.8.3                                       3
+
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._8._3
+
+          The MH 6.8.3 maintenance release contains few user-visible
+          changes.  Most of the changes are internal to the multi-
+          media display program _m_h_n to support RFC 1521 (the new MIME
+          standard).  This is the current version of MH as of December
+          1, 1993.
+
+          _R_u_n_t_i_m_e _T_a_i_l_o_r_i_n_g
+
+          When posting mail using the SMTP, _p_o_s_t does not normally
+          send the HELO command. This is because _S_e_n_d_M_a_i_l 
would fail
+          if the host name given in the HELO command was the local
+          host.  Later versions of _S_e_n_d_M_a_i_l will now complain 
if you
+          omit the HELO command.
+
+               If you specify a hostname with the clientname: option
+          in the _m_t_s_t_a_i_l_o_r file, _p_o_s_t will give the 
HELO command with
+          that name, otherwise no HELO command is given.  See _m_h-
+          _t_a_i_l_o_r(5) for more details.
+
+          _U_s_e_r _I_n_t_e_r_f_a_c_e _P_r_o_g_r_a_m_s
+
+          folder  The _f_o_l_d_e_r command now has `-create' and 
`-nocreate'
+                  options.  See _f_o_l_d_e_r(1) for details.
+
+          inc     A bug where `-host' would not override the pophost
+                  as set in the _m_t_s_t_a_i_l_o_r file has been 
fixed.  This
+                  bug was also fixed in _m_s_g_c_h_k.
+
+          mhn     The _m_h_n command has several changes: updates for
+                  conformance with RFC 1521, addition of two caches:
+                  public and private, addition of two caching poli-
+                  cies: one for reading and one for writing, support
+                  for storing multipart entities, and a few bug fixes.
+                  See _m_h_n(1) for complete details.
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._8._2
+
+          The MH.6.8.2 patch release contains only internal changes to
+          support the BSD 4.4 and 386BSD versions of UNIX.  This ver-
+          sion of _M_H was released August 25, 1993, but was not widely
+          distributed.
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._8._1
+
+          The MH.6.8.1 patch release is a maintenance release.  This
+          is the current released version of _M_H as of August 20, 1993.
+
+               This release includes a small number of bug fixes, a
+          few minor enhancements, some changes for the new MIME stan-
+          dard, and support for ESMTP (RFC 1425).  Support for BSD 4.4
+          and 386BSD is planned for the next release.
+
+
+
+
+                              December 1, 1993
+
+
+
+
+
+          Changes for MH 6.8.3                                       4
+
+
+               Many other fixes which have already been received are
+          still being merged.  If you've sent an update for MH 6.8 to
+          address@hidden and it isn't in this release, it'll prob-
+          ably appear in the next release.
+
+          _F_i_x_e_s _a_n_d _E_n_h_a_n_c_e_m_e_n_t_s
+
+          Many minor documentation corrections were made.  There are
+          also a few program changes:
+
+          mhn   The `-cache policy', `-[no]check', and `-[no]pause'
+                switches have been added.   Some other minor changes
+                have been made to comply with the new MIME standard.
+                See _m_h_n(1) for complete details.
+
+          post  When posting mail with SendMail, _p_o_s_t will not use the
+                ONEX command when it is posting a message with BCCs.
+
+          scan  _s_c_a_n will now work with big width values.
+
+          _F_o_r_m_a_t _S_t_r_i_n_g_s
+
+          One new function has been added:
+
+          %(profile arg)  This function looks up a component in the
+                          .mh_profile or context files and returns the
+                          value of that component.
+
+          _C_o_n_f_i_g_u_r_a_t_i_o_n
+
+          Two new configuration options are present:
+
+          GCOS_HACK    The so-called "gcos" field of the password file
+                       is used as a last resort to find the user's
+                       full name (see _m_h-_p_r_o_f_i_l_e(5) for 
details).
+                       Enable this option if your _p_a_s_s_w_d(5) man 
page
+                       notes that the `&' character in the "gcos"
+                       field stands for the login name.
+
+          NORUSERPASS  Tells _M_H that your system doesn't have the
+                       _r_u_s_e_r_p_a_s_s(3) routine; _M_H will 
include its own
+                       copy of this routine in its library.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                              December 1, 1993
+
+
+
+
+
+          Changes for MH 6.8                                         5
+
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._8
+
+          This is the current released version of _M_H as of December
+          14, 1992.  This release includes a number of bug fixes and
+          internal changes to make the code more portable.  Two new
+          authentication methods are provided for the POP, and support
+          for SVR4 shared libraries is complete.
+
+               The major user-visible change in this release is the
+          incorporation of support for multi-media mail as specified
+          by the Multi-purpose Internet Mail Extensions (MIME)
+          RFC 1341.  This allows you to include things like audio,
+          graphics, and the like, in your mail messages.  A new com-
+          mand, _m_h_n, has been provided to support MIME and a detailed
+          man page is provided in _m_h_n(1).
+
+          _D_o_c_u_m_e_n_t_a_t_i_o_n
+
+          The documentation has some general improvements, and the
+          READ-ME document has been re-organized to help _M_H adminis-
+          trators find the appropriate configuration options for their
+          system.  The Makefiles in the papers/ hierarchy have been
+          changed to invoke _T_e_X as "tex" (instead of "tex82").
+
+          The following new man pages are also available:
+
+          _m_h_n(1)      _m_h_n helps the user process multi-media mail.
+
+          _m_h_p_a_r_a_m(1)  _m_h_p_a_r_a_m lets the user 
extract information from
+                      the _M_H profile.
+
+          _p_o_p_a_u_t_h(8)  the APOP database administration program 
(see
+                      below).
+
+          _p_o_p_i(1)     the POP initiator (see below).
+
+          _s_l_o_c_a_l(1)   fully documents _s_l_o_c_a_l.  The 
_m_h_o_o_k(1) man page
+                      now documents only the _M_H receive-mail hooks.
+
+          _I_n_t_e_r_n_a_l _C_h_a_n_g_e_s
+
+          The _M_H source code is in the process of being cleaned up to
+          make pedantic ANSI C compilers happy.  Occurrences of "NULL"
+          have been replaced by "0" where appropriate.  Extra tokens
+          after "#else" and "#endif" have been put inside comments
+          (this is still in progress).  The code should now compile
+          cleanly on many more systems, specifically, more variants of
+          SVR4.
+
+               The version of tws/dtimep.c which was included in MH
+          6.7.2 was incompatible with the _l_e_x library on some systems,
+          and has been removed.
+
+               A bug in the handling of blind lists inside alias files
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.8                                         6
+
+
+          has been fixed.
+
+          _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l
+
+          There were three new options added to the POP.
+
+          APOP  This option indicates that the POP daemon will support
+                the   non-standard   APOP  command  which  provides  a
+                challenge-based authentication system  using  the  MD5
+                message digest algorithm.
+
+                This option also causes the _p_o_p_a_u_t_h program to 
be  in-
+                stalled,  which allows the administrator to manipulate
+                the APOP authorization database.
+
+          KPOP  Support for KERBEROS with POP.  This code builds _p_o_p_d,
+                _i_n_c and _m_s_g_c_h_k to support only the "kpop" 
protocol.
+                This code is still expiremental, but is available for
+                those sites wishing to test it.
+
+          MPOP  This option indicates that the POP daemon will support
+                the non-standard XTND SCAN command which provides per-
+                formance enhancements when using the POP over low-
+                speed connections.
+
+                This option also causes an interactive POP client pro-
+                gram, _p_o_p_i, to be compiled and installed.  A man page
+                for the _p_o_p_i program is also provided.  This option
+                requires the configuration to have "bboards: pop".
+
+          The APOP and MPOP non-standard POP facilities are documented
+          in _T_h_e _I_n_t_e_r_n_e_t _M_e_s_s_a_g_e (ISBN 
0-13-092941-7), a book by
+          Marshall T. Rose.  For more details, see support/pop/pop-
+          more.txt and the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s 
_G_u_i_d_e.  The APOP option
+          peacefully co-exists with the standard POP, KPOP completely
+          replaces the standard POP, and MPOP requires "bboards: pop".
+
+          _F_i_l_e _L_o_c_k_i_n_g
+
+          The file locking code has been cleaned up to support three
+          kinds of kernel-level file locking.  As appropriate for your
+          system, include the LOCKF, FCNTL or FLOCK option.  For more
+          details, see _m_h-_t_a_i_l_o_r(5).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.8                                         7
+
+
+          Configuration Directives
+
+          A number of new configuration directives have been added  or
+          changed.  The full details are given in the READ-ME.
+
+          cp:        The command used to  install  new  files  if  not
+                     "cp".
+
+          ln:        The command used to link files  together  in  the
+                     source tree if not "ln".
+
+          mts:       Full support for ZMAILER has been added.
+
+          popdir:    The directory where _p_o_p_d will be installed if not
+                     /usr/etc.
+
+          regtest:   Set to "on" to prevent the hostname  and  compile
+                     date from being included in _M_H binaries.
+
+          sharedlib: You may now specify "sun4" or "sys5"  (for  SVR4)
+                     shared libraries.
+
+          signal:    Specifies the base type of the function  returned
+                     by  _s_i_g_n_a_l().   This  was previously defined 
with
+                     "options TYPESIG".
+
+          Several `-D' options to _c_c have been added or changed:
+
+          APOP       Authenticated POP (see above).
+
+          AUX        Support for A/UX systems.
+
+          DBMPWD     The DBM option has been renamed DBMPWD.
+
+          HESIOD     Support for the HESIOD name server.
+
+          KPOP       KERBEROS POP (see above).
+
+          LOCALE     Support for local characters sets; uses the _s_e_t_-
+                     _l_o_c_a_l() function.
+
+          MAILGROUP  Makes _i_n_c set-group-id.  You may need this option
+                     if your /usr/spool/mail is not world-writeable.
+
+          MIME       Multi-media mail.
+
+          MPOP       Mobile POP (see above).
+
+          MSGID      Enables _s_l_o_c_a_l to detect and surpress 
duplicate
+                     messages.
+
+          OSF1       Support for DEC OSF1 systems.  May be incomplete.
+
+          RENAME     Include this option if your system has a 
_r_e_n_a_m_e()
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.8                                         8
+
+
+                     system call.
+
+          SVR4       Support for System 5 Release 4 or newer systems.
+
+          TYPESIG    This option has been dropped.  See `signal'
+                     above.
+
+          UNISTD     Include this option if your system has the
+                     include file <unistd.h>.
+
+          VSPRINTF   Include this option if your system has the
+                     _v_s_p_r_i_n_t_f() library routine; otherwise, 
__d_o_p_r_n_t()
+                     will be used.
+
+          YEARMOD    Forces the _m_h-_f_o_r_m_a_t `year' function to 
return
+                     2-digit values.  Use this option during a brief
+                     transition period if you have local 
_m_h-_f_o_r_m_a_t
+                     files which need to be converted to support 4-
+                     digit years.
+
+          _F_U_N_C_T_I_O_N_A_L _C_H_A_N_G_E_S
+
+          In addition to the configuration changes mentioned above, a
+          number of functional changes have been made to the system.
+          Many programs have new features added and a few new programs
+          have are provided. Each command's manual page gives complete
+          information about the its operation.  Here is a short sum-
+          mary of the changes.
+
+          _M_H _S_e_q_u_e_n_c_e_s
+
+          A larger number of user-defined sequences are available.
+          Previously, this number had been 10.  On 32-bit systems, 26
+          user-defined sequences are available.
+
+          _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
+
+          _M_H programs will now complain if the .mh_profile does not
+          end in a newline.  Also, one enhancement and one new profile
+          component are provided:
+
+          Aliasfile:  Multiple filenames may now be given.
+
+          Inbox:      New; the default folder (for _i_n_c, etc.) if not
+                      "inbox".
+
+
+
+
+
+
+
+
+
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.8                                         9
+
+
+
+          _F_o_r_m_a_t _S_t_r_i_n_g_s
+
+          A few minor bugs were fixed in format string handling, and a
+          few  new features were added.  See _m_h-_f_o_r_m_a_t(5) for 
complete
+          details.
+
+          Addresses      An  attempt  is  made   to   decipher   X.400
+                         RFC 987-style addresses.
+
+          Comments       Comments may be added to _m_h-_f_o_r_m_a_t  
files;  a
+                         comment  begins with the 2-character sequence
+                         "%;", and ends with an un-escaped newline.
+
+          %(modulo n)    The `modulo' function escape has been added.
+
+          %(year{date})  The date parser has been enhanced  to  under-
+                         stand  more  illegal date formats; `year' now
+                         returns a 4-digit number.
+
+          _U_s_e_r _I_n_t_e_r_f_a_c_e _P_r_o_g_r_a_m_s
+
+          A number of _M_H commands have minor changes:
+
+          ali       The output with `-user -list' was changed to match
+                    the output with `-nouser -list'.
+
+          burst     Will no longer drop the last message of a digest.
+
+          inc       Accepts the `-apop' switch for authenticated POP
+                    (see above); will attempt to detect write errors
+                    (e.g., no space left on device) when incorporating
+                    mail; no longer replaces newline characters with
+                    NULLs.
+
+          folder    The `-noprint' option was broken and has been
+                    dropped.
+
+          forw      Supports `-mime' to use MIME-style multi-part mes-
+                    sages.
+
+          mhl       Will no longer put an extra space at the end of
+                    the `%{text}' in a formatfield.
+
+          mhn       New; manipulates multi-media (MIME) messages; a
+                    detailed man page is provided.
+
+          mhparam   New; reads the _M_H profile (and context) and writes
+                    the values of the specified components on the
+                    standard output; useful in programmatic con-
+                    structs.
+
+          msgchk    Supports `-apop' (see above).
+
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.8                                        10
+
+
+          packmbox  New; packs an _M_H folder into a UUCP-style mailbox.
+
+          popi      New; a client-side POP initiator; available only
+                    if you built _M_H with the MPOP option (see above).
+
+          refile    A bug where the `rmmproc' did not remove all
+                    specified message files has been fixed.
+
+          scan      The `-file' option is fully supported and will no
+                    longer complain about empty folders.
+
+          send      Supports `-mime' and `-split' to split large mes-
+                    sages into multiple partial messages using MIME.
+
+          _S_u_p_p_o_r_t _P_r_o_g_r_a_m_s
+
+          fmtdump   Can now read a format file, or a format string
+                    given on the command line.
+
+          popauth   New; manages the APOP authorization database (see
+                    above).
+
+          sendmail  The _s_e_n_d_m_a_i_l replacement will be installed 
only if
+                    your `mts' setting uses the `/smtp' option.
+
+          slocal    A new man page for _s_l_o_c_a_l is available; the new
+                    `mbox' action is available to write a file in
+                    _p_a_c_k_f format; a bug where extra `>' characters
+                    were written to MMDF-style maildrops has been
+                    fixed; if compiled with the MSGID option, can
+                    detect and suppress reception of duplicate mes-
+                    sages.
+
+          viamail   New; bundles a directory (like _s_h_a_r) and sends it
+                    through multi-media mail.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                               December 14, 1992
+
+
+
+
+
+          Changes for MH 6.7.2                                      11
+
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._7._2
+
+          The MH.6.7.2 patch release is a maintenance release.  This
+          is the current released version of _M_H as of February 1,
+          1992.
+
+               This release now supports the NCR Tower running SYS5R4.
+          The WP changes installed in MH.6.7.0 have been removed.
+
+          _S_h_a_r_e_d _L_i_b_r_a_r_i_e_s
+
+          Support for SYS 5 shared libraries is in progress.
+
+               Support for Sun OS 4.0 shared libraries had been
+          improved.  The _M_H library has been modified to move initial-
+          ized data into a data definition file.  The shared library
+          will now consist of a libmh.so and libmh.sa file.  The
+          shared library version number will no longer track the _M_H
+          patch release number, and its numbering begins with version
+          `1.1' with this release.
+
+          _R_e_p_l_a_c_e_m_e_n_t _S_e_n_d_M_a_i_l
+
+          Since many standard system programs expect to post mail by
+          invoking /usr/lib/sendmail, a minimal replacement 
_S_e_n_d_M_a_i_l
+          is provided in this release.  This replacement is meant to
+          be installed on (e.g., diskless) client workstations which
+          post mail using SMTP, and do not run a message transport
+          system.  It will call _p_o_s_t to post mail; be sure you have
+          configured _M_H with the `/smtp' mts option.  This sendmail
+          replacement is installed in your _M_H etc directory, and you
+          should link /usr/lib/sendmail to it.
+
+          _F_o_r_m_a_t _S_t_r_i_n_g_s
+
+          A manual page for the _f_m_t_d_u_m_p format string 
disassembler  is
+          supplied, and some new format functions were added:
+
+          folder   In _s_c_a_n, this component escape contains the name of
+                   the current folder.  It is not defined for other _M_H
+                   commands.
+
+          getenv   This function escape returns the value  of  an  en-
+                   vironment variable.
+
+               There will be some additional changes in these routines
+          in the next patch release.
+
+
+
+
+
+
+
+
+
+
+                                  Feb 1, 1992
+
+
+
+
+
+          Changes for MH 6.7.2                                      12
+
+
+
+          _O_t_h_e_r _B_u_g _F_i_x_e_s _a_n_d 
_E_n_h_a_n_c_e_m_e_n_t_s
+
+          In addition to some other minor enhancements, some bugs were
+          fixed which in general were not user-visible:
+
+          Blind lists   Users may now specify RFC822 address groups in
+                        their  alias  files.   These groups are imple-
+                        mented by _M_H as blind lists.
+
+          date parsing  A number of sites have brain-damaged  versions
+                        of lex.  _M_H will now come with the date parser
+                        already run through lex.
+
+          mark          A bug dealing with _m_a_r_k and the sequence named
+                        `cur' is fixed.  This was previously a problem
+                        for mh-e users.
+
+          MH.doc        The _M_H nroff version of the manual  no  longer
+                        contains teletype escape sequences.
+
+          scan          Can now handle headers as long as 512 bytes.
+
+          Signals       _M_H programs will no longer catch the  HUP  and
+                        TERM  signals while waiting for a sub-process.
+                        This was causing hung processes when your ter-
+                        minal line was was dropped unexpectedly.
+
+          Signature     If your signature is not defined, _M_H will  use
+                        the   value   of   the  gecos  field  of  your
+                        /etc/passwd entry as your signature.
+
+          version.sh    A bug in the awk script  in  config/version.sh
+                        was fixed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                  Feb 1, 1992
+
+
+
+
+
+          Changes for MH 6.7.1a                                     13
+
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._7._1_a
+
+          The MH.6.7.1a patch was made available on January 25, 1991
+          for limited distribution only.  (This release had some known
+          bugs, and so was not widely distributed.) This release
+          incorporates several new features of particular note to
+          users of sequences and format strings, as well as some gen-
+          eral documentation improvements.  There are a few minor
+          enhancements and internal bug fixes also.  Complete documen-
+          tation of these changes is given in the individual manual
+          pages, and the READ-ME file.
+
+          _M_e_s_s_a_g_e _S_e_q_u_e_n_c_e_s
+
+          A new manual page, _m_h-_s_e_q_u_e_n_c_e (5), has been 
added.  This
+          manual page attempts to completely document the syntax and
+          semantics of _M_H message sequence specifications.
+
+               A powerful new feature is the ability to specify mes-
+          sage ranges with user-defined sequences.  The  specification
+          "name:n" may be used, and it designates up to the first `n'
+          messages (or  last  `n' messages  for  `-n') which  are
+          elements  of the user-defined sequence `name'.
+
+               The message specifications "name:next" and "name:prev"
+          may also be used, and they designate the next or previous
+          message (relative to the current message) which is an ele-
+          ment of the user-defined sequence `name'.  The specifica-
+          tions "name:first" and "name:last" are equivalent to
+          "name:1" and "name:-1", respectively.  The specification
+          "name:cur" is not allowed (use just "cur" instead).
+
+               These specifications allow the user to step through a
+          sequence with a command like "show name:next".
+
+          _F_o_r_m_a_t _S_t_r_i_n_g_s
+
+          _M_H format strings now support an if-then-elseif-else clause
+          (the `elseif' is new).  This will make format strings with
+          multi-case conditions somewhat less complex.
+
+               A new format function `addr' had been added.  This
+          function takes an address header name as its argument, and
+          returns a rendering of the address contained in that header
+          as "address@hidden" or "host!user".
+
+               Format widths now may be specified as a negative
+          number.  This causes the output to be right-justified within
+          the format width.
+
+
+
+
+
+
+
+
+                                January 25, 1991
+
+
+
+
+
+          Changes for MH 6.7.1a                                     14
+
+
+
+          _O_t_h_e_r _C_h_a_n_g_e_s
+
+          Along with a few minor enhancements, some  bugs  were  fixed
+          which in general were not user-visible:
+
+          fmtdump  This  new  program  produces   an   pseudo-language
+                   representation of an _M_H format file, vaguely remin-
+                   iscent of assembly  language.   While  this  output
+                   format  is  not explicitly documented, it can still
+                   be useful when debugging _M_H format files.
+
+          refile   Now takes a `-[no]rmmproc' switch.  This  makes  it
+                   easier to avoid loops when your "rmmproc" calls _r_e-
+                   _f_i_l_e.
+
+          slocal   A  problem  with  the  UUCP-style  mailboxes,   the
+                   `RPATHS'  configuration  option,  and  the "Return-
+                   Path:" header was fixed.
+
+          sortm    Will ensure that no messages are lost if it is  in-
+                   terrupted.
+
+          whatnow  Will now tell you where it is  leaving  the  draft,
+                   when  interrupted  in the initial edit.  Previously
+                   the draft was simply unlinked.
+
+          _C_o_m_p_i_l_a_t_i_o_n _O_p_t_i_o_n_s
+
+          LOCKF    This option causes _M_H to  use  the  lockf()  system
+                   call   for   locking  (if  available),  instead  of
+                   flock().
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                January 25, 1991
+
+
+
+
+
+          Changes for MH 6.7.1                                      15
+
+
+          _C_H_A_N_G_E_S _F_O_R _M_H _6._7._1
+
+          The MH.6.7.1 patch release is a maintenance release, and as
+          such, provides few changes from the previous release.  This
+          is the current released version of _M_H as of December 14,
+          1990.
+
+          _U_s_e_r-_V_i_s_i_b_l_e _C_h_a_n_g_e_s
+
+          The major change in this release is to the POP daemon
+          (popd).  In _M_H 6.7, it was changed to be able to read both
+          UUCP and MMDF-style mailboxes.  This did not work as
+          reported.  The code has now been changed to parse MMDF-style
+          mailboxes if you are configuring MH to run with MMDF as your
+          message transport system.  Otherwise, UUCP-style mailboxes
+          are expected.
+
+               Since there are number of client programs available for
+          only the POP2 protocol instead of POP3, popd has been
+          updated to support both protocols.  This is a major win.  If
+          you are compiling with POP turned on, add the `POP2' option
+          to your _M_H config file, and the POP daemon will respond to
+          POP2 or POP3 commands.  If you're using POP, there's no rea-
+          son not to include this option; it does not affect the
+          existing support for POP3.
+
+          _I_n_t_e_r_n_a_l _C_h_a_n_g_e_s
+
+          Some bugs were fixed which in general were not user-visible:
+
+          context     Errors when writing out sequences  are  detected
+                      correctly.
+
+          inc         No longer inserts extra blank  lines  into  mes-
+                      sages.
+
+          mh-format   A nil pointer bug  in  the  address  parser  was
+                      fixed.
+
+          repl, etc.  The malloc/free problem has been fixed.
+
+          rmf         A spelling error in the `-nointeractive'  switch
+                      has been corrected.
+
+          rcvtty      Will not print the message size if not available
+                      (i.e., zero).
+
+          send/post   Illegal signatures  (those  containing  unquoted
+                      "."s) will be quoted.
+
+
+
+
+
+
+
+
+                               December 14, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      16
+
+
+          _G_E_N_E_R_A_L _C_H_A_N_G_E_S _F_O_R _M_H 
_6._7._0
+
+          The author is pleased to announce that there are very few
+          user-visible changes to _M_H 6.7 from the previous _M_H 6.6 dis-
+          tribution.  The majority of development was in the form of
+          bug fixes and slight enhancements.  In addition, this
+          release is slightly faster than the previous release.  With
+          a few minor exceptions, it is backward-compatible with the
+          previous release.  _M_H 6.7.0 is the current released version
+          of _M_H as of April 12, 1990.
+
+               The changes were made mainly to generalize the source
+          code to be compatible with a larger range of systems and
+          compilers.  There were many small changes to add declara-
+          tions for ANSI C compliance.  The System 5 support has been
+          brought up to SYS5 R3, and there is support for Sun OS 4.0.
+
+          _U_s_e_r-_V_i_s_i_b_l_e _C_h_a_n_g_e_s
+
+          Here a quick summary of the changes that were made which are
+          not backward-compatible with the previous release of _M_H:
+
+          repl   The `-format' and `-noformat' switches have not been
+                 functional since _M_H 5, and have been removed.  Any
+                 users who have these switches in their .mh_profile,
+                 will have to remove them.
+
+          sortm  Previously, in most cases _s_o_r_t_m would fill-in any
+                 gaps in the numbering of a folder, by renumbering the
+                 messages starting with `1'.  This will no longer
+                 occur; for this behavior, use "folder -pack".
+
+
+          _U_s_i_n_g _A_l_i_a_s_e_s
+
+          A new profile entry `Aliasfile:' has been added.  The _a_l_i,
+          _s_e_n_d, and _w_h_o_m programs will look for this profile 
entry and
+          treat it as they would an argument to `-alias'.  This should
+          make it easier for novice _M_H users to begin using aliases.
+
+
+          _R_e_a_d_i_n_g _N_e_t_w_o_r_k _N_e_w_s & 
_B_B_o_a_r_d_s
+
+          The UCI BBoards facility can read local BBoards, and if com-
+          piled with the `bboards: pop' and `pop: on' options, can
+          also read remote BBoards using the Post Office Protocol (POP
+          ver. 3).  With this release, _M_H can instead be compiled to
+          read the Network News (i.e., USENET) using the Network News
+          Transfer Protocol (NNTP).
+
+               This capability is enabled by compiling _M_H with the
+          `bboards: nntp' and `pop: on' options.  Unfortunately, read-
+          ing remote BBoards via the POP and reading the Network News
+          via the NNTP are mutually exclusive options.
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      17
+
+
+               To support the NNTP, a new module, uip/pshsbr.c, is
+          compiled and loaded into _b_b_c and _m_s_h instead of
+          uip/popsbr.c.  The default BBoard is changed from "system"
+          to "general" for the NNTP.
+
+               When reading BBoards, _b_b_c will first look for local
+          BBoards, and then contact the NNTP server to read the Net-
+          work News.  The location of the NNTP server should be speci-
+          fied with the `nntphost:' entry in the mtstailor file (see
+          the _M_H Administrator's Guide for details), or may be speci-
+          fied on the command line with the `-host' switch.
+
+
+          _F_o_r_m_a_t _S_t_r_i_n_g_s
+
+          The manual page _m_h-_f_o_r_m_a_t (5) has been rewritten to 
give a
+          better explanation of how to write format strings, and how
+          they are interpreted by _M_H.  A line-by-line description of
+          the default _r_e_p_l form file (replcomps) is now included in
+          that manual page.
+
+          Some new format functions were added, and others  were  aug-
+          mented:
+
+          trim        Strips any leading and trailing white-space from
+                      the current string value.
+
+          date2local  Will coerce the date to the local timezone.
+
+          date2gmt    Will coerce the date to GMT.
+
+          divide      Divides the current numeric value by  its  argu-
+                      ment.   This  could  be useful for building _s_c_a_n
+                      format strings which print large  message  sizes
+                      in "Kb" or "Mb".
+
+          friendly    If the address  field  cannot  be  parsed,  this
+                      function  will  return  the  text of the address
+                      header, instead of a null string.
+
+          szone       A flag indicating whether the timezone  was  ex-
+                      plicit in the date string.
+
+          _P_R_O_G_R_A_M _C_H_A_N_G_E_S
+
+          In addition to the general changes mentioned above, many
+          programs have specific new features added, either by new
+          switches or by expanded functionality.  Each command's
+          manual page gives complete information about its new
+          options.  Here is a short summary.
+
+          _U_s_e_r _I_n_t_e_r_f_a_c_e _P_r_o_g_r_a_m_s
+
+          anno      Accepts a `-nodate' switch which inhibits the date
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      18
+
+
+                    annotation, leaving only the body annotation.
+
+          folder    When invoked with the `-pack' switch and the new
+                    `-verbose' switch, _f_o_l_d_e_r will give information
+                    about the actions taken to renumber the folder.
+
+                    On most systems, _f_o_l_d_e_r can now create any
+                    non-existing parent folders of a new sub-folder.
+
+          forw      When making digests, _f_o_r_w will put the issue and
+                    volume numbers in addition to the digest list
+                    name, in the digest trailer.
+
+          inc       Detects NFS write failures, and will not zero your
+                    maildrop in that event.
+
+          msh       Supports a variant of the new _s_o_r_t_m.
+
+          prompter  Considers a period on a line by itself to signify
+                    end-of-file when the `-doteof' switch is speci-
+                    fied.
+
+          repl      The `-[no]format' switches have not been used
+                    since _M_H 5 and have been deleted. _r_e_p_l will now
+                    find filter files in the _M_H library area.
+
+          scan      With the `-file msgbox' switch, _s_c_a_n can list a
+                    _p_a_c_k_f'd-format file directly (without using 
_m_s_h).
+
+                    Lists messages in reverse order with the
+                    `-reverse' switch.  This should be considered a
+                    bug.
+
+          sortm     Now has the options: `-textfield field', `-notext-
+                    field', `-limit days', and `-nolimit'.
+
+                    With these options, _s_o_r_t_m can be instructed to
+                    sort a folder based on the contents of an arbi-
+                    trary header such as "subject".
+
+                    _s_o_r_t_m minimizes renaming messages, and will no
+                    longer arbitrarily pack folders; for this
+                    behavior, use "folder -pack".
+
+          whatnow   Deletes the draft by renaming it with leading
+                    comma, instead of unlinking it.
+
+          _M_H _S_u_p_p_o_r_t _P_r_o_g_r_a_m_s
+
+          The following support programs also have changes or enhance-
+          ments:
+
+          mhl     Will now accept a format string  on  any  component,
+                  not just on addresses and dates.
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      19
+
+
+          popd    Will use _s_h_a_d_o_w passwords if compiled with the 
SHA-
+                  DOW option.  It can now also read UUCP-style mail-
+                  drops directly.
+
+          rcvtty  If given no arguments, _r_c_v_t_t_y will produce a scan
+                  listing as specified by a format string or file; a
+                  default format string is used if one is not speci-
+                  fied.
+
+                  Before the listing is written to the users terminal,
+                  the terminal's bell is rung and a newline is output.
+                  The `-nobell' and the `-nonewline' options inhibit
+                  these functions.
+
+                  _r_c_v_t_t_y will obey terminal write notification set 
by
+                  _m_e_s_g.  With the `-biff' switch, _r_c_v_t_t_y 
will also
+                  obey the mail notification status set by _b_i_f_f.
+
+                  On BSD43 systems, as with _w_r_i_t_e, 
_r_c_v_t_t_y will be
+                  installed set-group-id to the group "tty".
+
+          slocal  Understands UUCP-style "From " lines and will write
+                  output files using this format if appropriate.
+                  Before invoking a delivery program, _s_l_o_c_a_l will
+                  strip such lines unless compiled with the RPATHS
+                  option, in which case it will will convert such
+                  lines into "Return-Path:" headers.
+
+                  _s_l_o_c_a_l has a new result code "N", for use in 
.mail-
+                  delivery files.  With this result code, _s_l_o_c_a_l 
will
+                  perform the action only if the message has not been
+                  delivered and the previous action succeeded.  This
+                  allows for performing an action only if multiple
+                  conditions are true.
+
+          _D_O_C_U_M_E_N_T_A_T_I_O_N
+
+          Several of the older _M_H papers have been difficult to format
+          because they depended on an older version of PhDTeX which
+          was not supplied.  These papers have been updated, and some
+          TeX library files are supplied in papers/doclib/, so that
+          these papers may be generated on any system with TeX.
+
+               Many of the manual pages have been revised to include
+          documentation of new command options, and some have been
+          expanded to give more detail.  All are now slightly refor-
+          matted at installation time to make them more compatible
+          with programs like _m_a_k_e_w_h_a_t_i_s.
+
+
+          _M_H _A_D_M_I_N_I_S_T_R_A_T_I_O_N
+
+          This section describes changes in configuring, compiling and
+          installing _M_H 6.7 and should not be of interest to casual _M_H
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      20
+
+
+          users.  The READ-ME file has been considerably revised and
+          expanded to give more detail about the configuration and
+          compilation options which have been included in this
+          release.  Some compilation options have been removed, and
+          many new options have been added.
+
+               All _M_H Makefiles have been updated to work around some
+          incompatibilities introduced in newer versions of _m_a_k_e.  
_M_H
+          programs will no longer be installed with the sticky-bit
+          turned on.
+
+               Reading this section not a substitute for carefully
+          reading the READ-ME file before attempting to compile _M_H
+
+
+          _B_u_g _F_i_x_e_s
+
+          Some bugs were fixed which in general were not user-visible:
+
+          address parser  Fixed to allow use of the "AT"  domain,  and
+                          some minor bugs were fixed pertaining to ad-
+                          dress groups.
+
+          date parser     Improved to accept  more  forms  of  illegal
+                          dates.  Military timezones were removed.
+
+          dynamic memory  Many problems with corruption of the dynamic
+                          memory pool have been fixed.
+
+          locking         Will open files for write, if  necessary  to
+                          enable locking.
+
+          nil pointers    All reported nil pointer problems have  been
+                          fixed.
+
+          replcomps       The "In-Reply-To:" header had  quotes  added
+                          around the date field to comply with RFC822.
+
+          _W_h_i_t_e _P_a_g_e_s
+
+          If _M_H is compiled with the WP option, _s_e_n_d recognizes an
+          address between "<<" and ">>" characters such as:
+
+                  To: << rose -org psi >>
+
+          to be a name meaningful to a whitepages service.  In order
+          to expand the name, _s_e_n_d must be invoked interactively
+          (i.e., not from _p_u_s_h).  For each name, _s_e_n_d will 
invoke a
+          command called _f_r_e_d in a special mode asking to expand the
+          name.
+
+               To get a copy of the white pages service, contact
+          address@hidden
+
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      21
+
+
+          _C_o_n_f_i_g_u_r_a_t_i_o_n _O_p_t_i_o_n_s
+
+          Some configuration options have been added or changed:
+
+          cc          To specify an alternate C compiler.
+
+          ccoptions   Defaults to `-O'.
+
+          bboards     May now be defined as "on", "off", "pop", or
+                      "nntp".
+
+          bbdelivery  Determines whether the bboard delivery agent and
+                      library files should be installed.
+
+          lex         To specify an alternate version of _l_e_x.
+
+          mailgroup   If defined, _i_n_c will be made set-group-id to
+                      this group.
+
+          sharedlib   For SUN40 systems; if "on", makes libmh.a into a
+                      shared library.
+
+          slibdir     The directory where the above shared library
+                      should be installed.
+
+          sprintf     Set this to "int" if that's what your
+                      _s_p_r_i_n_t_f (3) library routine returns.
+
+          _C_o_m_p_i_l_a_t_i_o_n _O_p_t_i_o_n_s
+
+          For different configurations, several `-D' options to _c_c
+          have been added or changed:
+
+          BERK        This disables the address and date parsing rou-
+                      tines.  If you want to do much with
+                      _m_h-_f_o_r_m_a_t (5), don't enable this.
+
+          BSD43       Will make _r_c_v_t_t_y set-group-id to the group
+                      "tty".
+
+          DBM         For sites with a dbm-style password file (such
+                      as with Yellow Pages), _M_H will not read the
+                      entire passwd file into a cache.  At one site
+                      that runs YP on a large passwd file, using this
+                      showed a 6:1 performance improvement.
+
+          NETWORK     This option has been deleted.  See SOCKETS.
+
+          NOIOCTLH    Tells _M_H not to include the file sys/ioctl.h.
+                      Use this if this file is not present on your
+                      system.
+
+          NTOHLSWAP   On systems with TCP/IP networking, _m_s_h will try
+                      to use the ntohl() macro from the file
+
+
+
+                                 April 12, 1990
+
+
+
+
+
+          Changes for MH 6.7.0                                      22
+
+
+                      netinet/in.h to byte-swap the binary map files
+                      it writes.
+
+          SENDMAILBUG Some versions of _s_e_n_d_m_a_i_l return a 451 
(failure)
+                      reply code when they don't mean to indicate
+                      failure.  This option considers that code to be
+                      equivalent to 250 (OK).
+
+          SHADOW      Causes _p_o_p_d to read the file /etc/shadow for
+                      encrypted passwords instead of /etc/passwd.  Use
+                      this if you have a shadow password file (such as
+                      on newer versions of SYSTEM 5).
+
+          SOCKETS     Enable this if you are on a non-BSD system with
+                      a socket interface for TCP/IP networking compa-
+                      tible with 4.2BSD UNIX.
+
+          SUN40       Use on Suns running Sun OS 4.0 and later.
+
+          SYS5        This option has been updated to refer to SYS5 R3
+                      and later systems.
+
+          SYS5DIR     Use this if your system uses "struct dirent"
+                      instead of "struct direct".  This should be true
+                      for systems based on SYS5 R3 and later.
+
+          TYPESIG     Defines the base type for the _s_i_g_n_a_l system
+                      call.  This defaults to "int", but should be
+                      defined as "void" if appropriate for your sys-
+                      tem.
+
+          WP          Enables support for the White Pages service.
+
+          _I_n_s_t_a_l_l_a_t_i_o_n
+
+          _M_H will now explicitly set the protection mode on every file
+          it installs.
+
+               Previously any existing file installed by _M_H would be
+          backed up into the source tree, and then overwritten.  Now,
+          a few system-dependent files will not be overwritten, and
+          your changes will have to be merged in by hand.  See the
+          READ-ME file for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                 April 12, 1990
+
+
diff --git a/docs/historical/designOfMH.pdf b/docs/historical/designOfMH.pdf
new file mode 100644
index 0000000..bf86e4f
Binary files /dev/null and b/docs/historical/designOfMH.pdf differ
diff --git a/docs/historical/mh-gen.pdf b/docs/historical/mh-gen.pdf
new file mode 100644
index 0000000..d71cd7d
Binary files /dev/null and b/docs/historical/mh-gen.pdf differ
diff --git a/docs/historical/mh-gen.txt b/docs/historical/mh-gen.txt
new file mode 100644
index 0000000..6c7f755
--- /dev/null
+++ b/docs/historical/mh-gen.txt
@@ -0,0 +1,1452 @@
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+NAME
+     mh-gen - generating the MH system
+
+READ THIS
+     This documentation describes how to configure, generate, and
+     install the UCI version of the RAND _M_H system.  Be certain
+     to read this document completely before you begin.  You
+     probably will also want to familiarize yourself with the _M_H
+     Administrator's Guide before you install _M_H.  A copy can be
+     found in the file doc/ADMIN.doc is the _M_H sources.
+
+DISCLAIMER
+     Although the _M_H system was originally developed by the RAND
+     Corporation, and is now in the public domain, the RAND Cor-
+     poration assumes no responsibility for _M_H or this particular
+     modification of _M_H.
+
+     In addition, the Regents of the University of California
+     issue the following disclaimer in regard to the UCI version
+     of _M_H:
+          "Although each program has been tested by its contribu-
+          tor, no warranty, express or implied, is made by the
+          contributor or the University of California, as to the
+          accuracy and functioning of the program and related
+          program material, nor shall the fact of distribution
+          constitute any such warranty, and no responsibility is
+          assumed by the contributor or the University of Cali-
+          fornia in connection herewith."
+
+     This version of _M_H is in the public domain, and as such,
+     there are no real restrictions on its use.  The _M_H source
+     code and documentation have no licensing restrictions what-
+     soever.  As a courtesy, the authors ask only that you pro-
+     vide appropriate credit to the RAND Corporation and the
+     University of California for having developed the software.
+
+GETTING HELP
+     _M_H is a software package that is neither supported by the
+     RAND Corporation nor the University of California.  However,
+     since we do use the software ourselves and plan to continue
+     using (and improving) _M_H, bug reports and their associated
+     fixes should be reported back to us so that we may include
+     them in future releases.  The current computer mailbox for
+     _M_H is address@hidden (in the ARPA Internet), and
+     ...!ucbvax!ucivax!bug-mh (UUCP).
+
+     Presently, there are two Internet discussion groups,
+     address@hidden and address@hidden  MH-Workers
+     is for people discussing code changes to _M_H.  MH-Users is
+     for general discussion about how to use _M_H.  MH-Users is
+     bi-directionally gatewayed into USENET as comp.mail.mh.
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                     1
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+HOW TO GET MH
+     Since you probably already have _M_H, you may not need to read
+     this unless you suspect you have an old version.  There are
+     two ways to get the latest release:
+
+     1.  If you can FTP to the ARPA Internet, use anonymous FTP
+     to ftp.ics.uci.edu [128.195.1.1] and retrieve the file
+     pub/mh/mh-6.8.tar.Z.  This is a tar image after being run
+     through the compress program (approximately 1.8MB).  There
+     should also be a README file in that directory which tells
+     what the current release of _M_H is, and how to get updates.
+
+     This tar file is also available on louie.udel.edu
+     [128.175.1.3] in portal/mh-6.8.tar.Z.  You may also find MH
+     on various other hosts; to make sure you get the latest ver-
+     sion and don't waste your time re-fixing bugs, it's best to
+     get it from either ftp.ics.uci.edu or louie.udel.edu.
+
+     2.  You can send $75 US to the address below.  This covers
+     the cost of a 6250 BPI 9-track magtape, handling, and ship-
+     ping.  In addition, you'll get a laser-printed hard-copy of
+     the entire MH documentation set.  Be sure to include your
+     USPS address with your check.  Checks must be drawn on U.S.
+     funds and should be made payable to:
+
+               Regents of the University of California
+
+     The distribution address is:
+
+               Univeristy of California at Irvine
+               Office of Academic Computing
+               360 Computer Science
+               Irvine, CA  92717  USA
+
+               +1 714 856 5153
+
+     Sadly, if you just want the hard-copies of the documenta-
+     tion, you still have to pay the $75.  The tar image has the
+     documentation source (the manual is in roff format, but the
+     rest are in TeX format).  Postscript formatted versions of
+     the TeX papers are available, as are crude tty-conversions
+     of those papers.
+
+SYNOPSIS
+     MAKE
+
+DESCRIPTION
+     This is a description of how one can bring up an _M_H system.
+     It is assumed that you have super-user privileges in order
+     to (re-)install _M_H.  Super-user privileges are not required
+     to configure or generate _M_H.
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                     2
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     Become the super-user and cd to /usr/src/local/ (or whatever
+     you keep your local sources).  The distribution tape con-
+     tains the hierarchy for the mh.6-8/ directory.  Bring the
+     sources on-line:
+
+     # cd /usr/src/local
+     % tar xv
+     % cd mh-6.8
+
+CONFIGURATION
+     First, go to the conf/ directory.
+
+     % cd conf/
+
+     This directory contains files that will produce source files
+     tailored for your choice of _M_H configuration.  You should
+     edit only the file MH.  This file contains configuration
+     directives.  These configuration directives are read by the
+     _m_h_c_o_n_f_i_g program to produce customized files.
+
+     For examples of various configurations, look in the direc-
+     tory conf/examples/.  The file MH provided in conf/ is a
+     reasonable default.  Lines beginning with `#' are comments,
+     and are not otherwise interpreted.
+
+     Here are the _M_H configuration directives available.  Be sure
+     to read through this list completely before attempting to
+     decide what directives are appropriate for your system.
+
+     More information on some of these options is available in
+     the the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.  If 
you do not have a printed
+     copy, you should configure your system with the default con-
+     figuration file, MH, then generate and print a copy of the
+     guide (as described below).
+
+  Installation paths
+     bin: /usr/local
+          The directory where user-invoked programs go (see
+          manual section 1).
+
+     etc: /usr/local/lib/mh
+          The directory where pgm-invoked programs go (see manual
+          section 8).
+
+     mail: /usr/spool/mail
+          The directory where the maildrops are stored.  If this
+          pathname is absolute (i.e., begins with a / ), then the
+          user's maildrop is a file called $USER in this direc-
+          tory.  If the pathname is not absolute, then the user's
+          maildrop is in the user's home directory under the
+          given name.
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                     3
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     mandir: /usr/man
+          The parent directory of the manual entries.
+
+     manuals: standard
+          Where manual entries should be installed, relative to
+          the directory given with "mandir".  Either "local" to
+          install manual entries under manl/, or "new" to install
+          manual entries under mann/, or "old" to install manual
+          entries under mano/, or "standard" to install manual
+          entries under man?/, or "bsd44" to install manual
+          entries as man?/_p_a_g_e.0, or "gen" to generate but not
+          install them, or "none" to neither generate nor install
+          them.
+
+          Any of these values may have the suffix "/cat" appended
+          to it.   In that case, the manual entries will be for-
+          matted with "nroff -man" and they will be installed in
+          the corresponding "cat?" directories.
+
+          For example, to install manual entries under
+          /usr/man/u_man/man?, use "standard" and /usr/man/u_man
+          for "mandir".  To install formatted manual entires
+          under /usr/contrib/man/cat?, use "standard/cat" and
+          /usr/contrib/man for "mandir".  To install formatted
+          manual entries using the BSD44 convention, use
+          "bsd44/cat".
+
+     chown: /etc/chown
+          The location of the _c_h_o_w_n(8) on your system.  If 
_c_h_o_w_n
+          is in your search path, just use the value of "chown".
+          On SYS5 systems, this should probably be "/bin/chown".
+
+     cp: cp
+          The command to copy files when installing, if not "cp".
+          (Some sites use "cp -p".)
+
+     ln: ln
+          The command to link files together in the source tree,
+          if not "ln".  If you're using something like lndir to
+          keep your compile tree separate from your source tree,
+          set this to "ln -s" or "cp".
+
+     remove: mv -f
+          How _M_H should make backup copies of existing files when
+          installing new files.  To simply remove the old files,
+          use "rm -f".
+
+  Compiler/loader
+     cc: cc
+          The name of your C compiler, if not "cc".
+
+     ccoptions: -O
+
+
+
+[mh.6]                Last change: MH.6.8.3                     4
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+          Options given directly to _c_c(1).  The most common is
+          "-M" if you're running _M_H on an ALTOS.  This defaults
+          to "-O".  If you define this and want to keep "-O", be
+          sure to include it explicitly.  If you're using the _G_N_U
+          C compiler, it should include `-traditional'.  See
+          "options:" for `-D' options.
+
+     curses: -lcurses -ltermlib
+          This should be the loader option required to load the
+          _t_e_r_m_c_a_p(3) and _c_u_r_s_e_s(3) libraries on your 
system.  On
+          SYS5 systems, it probably should be just "-lcurses".
+          Some sites have reported that both "-lcurses" and
+          "-ltermlib" are necessary.
+
+     ldoptions: -s
+          Options given directly to _l_d(1) (via _c_c) at the begin-
+          ning of the command line.  Useful for machines which
+          require arguments to tell _l_d to increase the stack
+          space (e.g. the Gould, which uses "-m 8").  Usually,
+          "-s" is a good choice in any event.
+
+     ldoptlibs:
+          Options given directly to _l_d(1) (via _c_c) at the end of
+          the command line.  The two most common are: "-ldbm" if
+          you're running MMDF with the _d_b_m package; and, "-lndir"
+          if you are generating _M_H on a system which does not
+          load the new directory access mechanism by default
+          (e.g., 4.1BSD, SYS5).  If you don't have _l_i_b_n_d_i_r on
+          your system, the sources are in miscellany/libndir/.
+
+     lex: lex -nt
+          Alternative version of _l_e_x.  Used in zotnet/tws/.
+
+     oldload: off
+          This controls how _M_H will try to process library object
+          files to eliminate local symbols.  Support for the
+          ALTOS loader if "on".  Support for loaders not handling
+          `-x -r' correctly if "none".
+
+     ranlib: on
+          Support for systems with _r_a_n_l_i_b(1).  For SYSTEM 5 sys-
+          tems, this should be "off" which tells _M_H to use 
_l_o_r_d_e_r
+          and _t_s_o_r_t instead.  Some SYSTEM 5 sites reported that
+          running this isn't always sufficient.  If this is the
+          case, then you should edit conf/makefiles/uip to
+          include ../sbr/libmh.a and ../zotnet/libzot.a twice in
+          the LIBES variable.
+
+  Message Transport System
+     mts: sendmail
+          Which message transport system to use.  Either "mmdf"
+          to use _M_M_D_F as the transport system, "mmdf2" to use
+
+
+
+[mh.6]                Last change: MH.6.8.3                     5
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+          _M_M_D_F-_I_I as the transport system, "sendmail" to have
+          _S_e_n_d_M_a_i_l as the transport system, "zmailer" to have
+          _Z_M_A_I_L_E_R as the transport system, or, "mh" to have 
_M_H as
+          the transport system.
+
+          On UNIX systems supporting TCP/IP networking via sock-
+          ets you can add the suffix "/smtp" to the mts setting.
+          This often yields a superior interface as _M_H will post
+          mail with the local _S_M_T_P server instead of interacting
+          directly with _M_M_D_F or _S_e_n_d_M_a_i_l.  Hence, for 
TCP/IP UNIX
+          systems, the "/smtp" suffix to either "sendmail" or
+          "mmdf2" is the preferred MTS configuration.  The
+          "/smtp" suffix is described in detail in the
+          _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e; be sure 
to set "servers:" as
+          described in _m_h-_t_a_i_l_o_r(8) if you use this option.
+
+     mf: off
+          Support for mail filtering on those systems in which
+          the message transport system isn't integrated with _U_U_C_P
+          This option is strictly for an _M_H system using either
+          _M_M_D_F-_I as its transport system or one using
+          "stand-alone delivery".
+
+  UCI BBoards Facility
+     bboards: off
+          If "on", include support for the UCI BBoards facility.
+          BBoards may be enabled with any mts setting.  If "off",
+          the BBoard reading program _b_b_c will not be installed.
+          If "nntp", include support for the UCI BBoards facility
+          to read the Network News via the NNTP.  If "pop" (form-
+          erly "popbboards: on"), include support for the UCI
+          BBoards facility via the POP3 service; this setting
+          requires "pop: on".
+
+     bbdelivery: off
+          If "off", the BBoards delivery agent and library files
+          will not be installed.  If "on", and you set "bboards:"
+          to something besides "off", then the BBoards delivery
+          agent and library files will be installed in the _b_b_h_o_m_e
+          directory (see below).  To read remote BBoards, the
+          usual configuration would have _b_b_c talk to a _P_O_P_3 or
+          _N_N_T_P server.  However, it may be useful to set this to
+          "off" if you NFS mount the _b_b_h_o_m_e directory from
+          another host and want to use _b_b_c to read those files
+          directly.
+
+     bbhome: /usr/spool/bboards
+          The home directory for the BBoards user.
+
+
+
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                     6
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+  Post Office Protocol
+     pop: off
+          Support for POP service.  This allows local delivery
+          for non-local users (a major win).  See
+          support/pop/pop.rfc for more information on the POP.
+          This option currently works only on UNIX systems with
+          TCP/IP sockets.  (It doesn't hurt to enable this option
+          regardless of whether or not you intend to use POP.)
+          See also "bboards: pop" to enable reading bboards with
+          the POP.
+
+     popdir: /usr/etc
+          The directory where the POP daemon (popd) will be
+          installed.
+
+     options:
+          `-D' options to _c_c(1).
+
+       APOP='"/etc/pop.auth"'
+            This option indicates that the POP daemon will sup-
+            port the non-standard APOP command, and specifies the
+            name of APOP authorization database.  The APOP com-
+            mand provides a challenge-based authentication system
+            using the MD5 message digest algorithm.  This facil-
+            ity is documented in _T_h_e _I_n_t_e_r_n_e_t 
_M_e_s_s_a_g_e (ISBN
+            0-13-092941-7), a book by Marshall T. Rose.
+
+            This option also causes the popauth program to be
+            installed, which allows the administrator to manipu-
+            late the APOP authorization database.  For more
+            details, see support/pop/pop-more.txt and the
+            _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.
+
+       DPOP
+            This option indicates that POP subscribers do not
+            have entries in the _p_a_s_s_w_d(5) file, and instead have
+            their own separate database (a win).
+
+       KPOP
+            Support for KERBEROS with POP.  This code builds
+            _p_o_p_d, _i_n_c and _m_s_g_c_h_k to support only the 
"kpop" pro-
+            tocol.  This code is still experimental, but is
+            available for those sites wishing to test it.
+
+       MPOP
+            This option indicates that the POP daemon will sup-
+            port the non-standard XTND SCAN command which pro-
+            vides performance enhancements when using the POP
+            over low-speed connections.  This option also causes
+            an interactive POP client program, popi, to be com-
+            piled and installed.  A man page for the popi program
+            is also provided.
+
+
+
+[mh.6]                Last change: MH.6.8.3                     7
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+            These extensions are described in _T_h_e 
_I_n_t_e_r_n_e_t _M_e_s_-
+            _s_a_g_e, a book by Marshall T. Rose.  For more details,
+            see support/pop/pop-more.txt.  Note: this option
+            requires "bboards: pop".
+
+       POP2
+            Have the POP daemon understand the older POP2 proto-
+            col as well as the _M_H POP3 protocol - a major win.
+            The POP daemon auto-magically determines which POP
+            protocol your client is using.  If you're enabling
+            POP service, there's no reason not to enable this
+            option as well.  See also _P_O_P_S_E_R_V_I_C_E.
+
+       POPSERVICE
+            The port name the _M_H POP will use.  For historical
+            reasons, this defaults to "pop".
+
+            In 1987, the _M_H POP protocol (POP version 3) was pub-
+            lished as RFC1081 and was assigned its own port
+            number (110), which differs from the original POP
+            (version 1 and 2) port number (109).
+
+            To have _M_H POP use the new assigned port number, set
+            POPSERVICE='"pop3"', and be sure that this service
+            name is listed in your /etc/services file on both POP
+            client and server hosts as "110/tcp".  If you enable
+            _P_O_P_2, you can safely leave _P_O_P_S_E_R_V_I_C_E 
undefined
+            unless you are using POP3 clients besides _M_H.
+
+       RPOP
+            This option indicates that support for the UNIX vari-
+            ant of POP, RPOP, which uses privileged sockets for
+            authentication be enabled.  This peacefully co-exists
+            with the standard POP.
+
+       SHADOW
+            Indicates that the popd POP server can find encrypted
+            passwords in the /etc/shadow file (and not in the
+            /etc/passwd file).  It should be used only for some
+            (newer) SYSTEM 5 systems.
+
+         The "APOP" and "MPOP" non-standard POP facilities are
+         documented in _T_h_e _I_n_t_e_r_n_e_t 
_M_e_s_s_a_g_e (ISBN 0-13-092941-7),
+         a book by Marshall T. Rose.  For more details, see
+         support/pop/pop-more.txt.  The "APOP" option peacefully
+         co-exists with the standard POP.  The "MPOP" option
+         requires "bboards: pop".
+
+ Shared libraries
+    sharedlib: off
+         If "sun4", makes libmh.a into a SunOS 4.0 (and later)
+         shared library.  If you enable this, be sure to also use
+
+
+
+[mh.6]                Last change: MH.6.8.3                     8
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+         "options SUN40".  If "sys5", makes libmh.a into a SYS5
+         R4 (and later) shared library.  If you enable this, be
+         sure to also use "options SVR4".
+
+    slflags: -pic
+         The compiler flags to produce position independent code.
+
+    slibdir: /usr/local/lib
+         The directory where the _M_H shared library should go.
+
+      Under SunOS (sun4)
+         Since some _M_H programs are setuid, they'll only look for
+         the library in "trusted" locations.  Putting the library
+         somewhere besides /usr/lib or /usr/local/lib is not
+         advisable.
+
+         If you must do this, be sure that you add the path given
+         by slibdir to the compiler's library search list (e.g.,
+         "ldoptions: -L/usr/mh/lib") and make sure the path
+         starts with a leading `/'.
+
+         You may need to run _l_d_c_o_n_f_i_g(8) manually whenever a 
new
+         shared object is installed on the system.  See _l_d(1) for
+         more information about using shared libraries.
+
+      Under Solaris 2.0 (and newer)
+         The above instructions for SunOS apply, except you
+         should set the run-time library search path using `-R'
+         instead of `-L' (e.g., "ldoptions: -R/usr/mh/lib").
+
+ General System Dependencies
+    You should include the following directives which are
+    appropriate for your version of UNIX.  If you don't know what
+    an option does, it probably doesn't apply to you.
+
+    mailgroup: off
+         If set, _i_n_c is made set-group-id to this group name.
+         Some SYS5 systems want this to be set to "mail".  Set
+         this if your /usr/spool/mail is not world-writeable.
+
+         Note that slocal doesn't know how to deal with this, and
+         will not work under these systems; just making it set-
+         group-id will open a security hole.  If you're using
+         "mailgroup", you should remove slocal (and its man page)
+         from your system.
+
+    signal: int
+         The base type (int or void) of the function
+         parameter/return value of _s_i_g_n_a_l(2).  The default is
+         int.  Set "signal void" on systems which use this type
+         (e.g., SYSTEM 5 V3.0 and later or Sun OS 4.0 and later).
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                     9
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+    sprintf: char *
+         The return value of the _s_p_r_i_n_t_f library routine.  This
+         defaults to "char *".  Set this to "int" if you have an
+         older version of SYSTEM 5 which has this routine return
+         an "int" type.
+
+    options:
+         `-D' options to _c_c(1).
+
+      ALTOS
+           Use on XENIX/v7 systems.  Also, be sure to use
+           "options V7".
+
+      ATTVIBUG
+           This option causes _M_H to return to the "What now?"
+           prompt if your initial editor is vi and it exits with
+           non-zero status.  Use on Sun OS 4.1 and other systems
+           where the /usr/ucb/vi editor was changed to exit with
+           its status equal to the number of pseudo-"errors"
+           encountered during the edit.  This causes a problem
+           for programs that test the exit status of their editor
+           and abort if the status is non-zero.  (This includes
+           _M_H and programs like /usr/etc/vipw).
+
+      AUX
+           Use with AUX systems.
+
+      BIND
+           If you are running with the BIND code on UNIX systems
+           with TCP/IP sockets (e.g. 4.{2,3}BSD), be sure to
+           define this.
+
+      BSD41A
+           Use on 4.1a Berkeley UNIX systems.
+
+      BSD42
+           Use on Berkeley UNIX systems on or after 4.2BSD.
+
+      BSD43
+           Use on 4.3 Berkeley UNIX systems.  Also, be sure to
+           use "options BSD42".  If _o_p_e_n_l_o_g(3) (see "man 3 sys-
+           log") takes three arguments instead of two, and your
+           _w_r_i_t_e(1) command is set-group-id to group "tty", use
+           this option.  If only one of these conditions is true,
+           you lose.
+
+      BSD44
+           Use on Berkeley UNIX systems on or after 4.4BSD.
+           Also, be sure to use "options BSD43" and "options
+           BSD42".
+
+      DBMPWD
+
+
+
+[mh.6]                Last change: MH.6.8.3                    10
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+           Use this option if your _g_e_t_p_w_e_n_t(3) routines read a
+           dbm database (such as with Yellow Pages) instead of
+           doing a sequential read of /etc/passwd.  Without
+           DBMPWD the entire passwd file is read into memory one
+           entry at a time for alias expansion.  This is a per-
+           formance improvement when reading a standard
+           /etc/passwd file, but is _v_e_r_y slow on systems with a
+           dbm database.  At one site that runs YP on a large
+           passwd file, it showed a 6:1 performance improvement.
+
+      GCOS_HACK
+           The so-called "gcos" field of the password file is
+           used as a last resort to find the user's full name
+           (see _m_h-_p_r_o_f_i_l_e(5) for details).  Enable this 
option
+           if your _p_a_s_s_w_d(5) man page notes that the `&' charac-
+           ter in the "gcos" field stands for the login name.
+
+      FCNTL
+           Directs _M_H to use the fcntl() system call for kernel-
+           level locking.  If you're using a SYS5 system, you may
+           want this option.  (See also `FLOCK' and `LOCKF').
+
+      FLOCK
+           Directs _M_H to use the flock() system call for kernel-
+           level locking.  If you're on a BSD42 system, and
+           you're not using NFS to read or write maildrops, you
+           should enable this option.  (See also `FCNTL' and
+           `LOCKF').
+
+      HESIOD
+           Support for HESIOD. This code was contributed, and
+           included no documentation.
+
+      LOCKF
+           Directs _M_H to use the lockf() system call for kernel-
+           level locking.  If you're using NFS to read or write
+           maildrops, you should enable this option.  (See also
+           `FLOCK' and `FCNTL').
+
+      locname
+           Hard-wires the local name for the host _M_H is running
+           on.  For example, locname='"PICKLE"'.  It's probably
+           better to either let UNIX tell _M_H this information, or
+           to put the information in the host specific mtstailor
+           file.
+
+      MORE
+           Defines  the location of the _m_o_r_e(1) program.  On
+           ALTOS and DUAL systems, set MORE='"/usr/bin/more"'.
+           The default is "/usr/ucb/more".
+
+      NDIR
+
+
+
+[mh.6]                Last change: MH.6.8.3                    11
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+           For non-Berkeley UNIX systems, this _M_H will try to
+           find the new directory access mechanism by looking in
+           <ndir.h> if this option is given.  Otherwise, _M_H will
+           try <dir.h>.  If you still can't get this to work on
+           your system, edit h/local.h as appropriate.  (See also
+           `SYS5DIR'.)
+
+      NFS
+           Tells _M_H to hack around a problem in the NFS C
+           library.  If you get an undefined symbol "ruserpass"
+           when compiling _M_H, you probably need this option.  If,
+           however, you include this option and get an undefined
+           symbol "__ruserpass" when compiling, then you should
+           omit this option.  (See also `NORUSERPASS'.)
+
+      NOIOCTLH
+           Tells _M_H not to include the file <sys/ioctl.h>.  To be
+           used on systems where this file is not present.
+
+      NORUSERPASS
+           Tells _M_H that your system doesn't have the _r_u_s_e_r_-
+           _p_a_s_s(3) routine; _M_H will include its own copy of this
+           routine in its library.  (See also `NFS'.)
+
+      NTOHLSWAP
+           Tells _M_H to use the ntohl() macro when processing _m_s_h
+           binary map files.  _M_H can use this macro on systems
+           with the include file netinet/in.h, to byte-swap the
+           binary information in these map files.  If you're
+           using the same map files on machines of different
+           architectures, enable this option.
+
+      RENAME
+           Include this option if your system has a rename()
+           library call.  This is true on BSD42 and newer and
+           some SYS5 systems.
+
+      SENDMAILBUG
+           Causes SMTP reply code 451 (failure) to be considered
+           the same as code 250 (OK).  Since this might cause
+           problems, only enable this if you are certain that
+           your SendMail will return this code even when it
+           doesn't mean to indicate a failure.
+
+      SOCKETS
+           Indicates the availability of a socket interface for
+           TCP/IP networking that is compatible with 4.{2,3}BSD
+           UNIX.  It is not necessary to define this when BSD42
+           is already defined, but it might be useful for SYSTEM
+           5 or HPUX systems with TCP/IP sockets.
+
+      SUN40
+
+
+
+[mh.6]                Last change: MH.6.8.3                    12
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+           Use on Sun OS 4.0 (and later?) systems.  You also will
+           need "options BSD42", "options BSD43", and "signal
+           void".
+
+           If you're using Sun's brain-damaged approach to offer-
+           ing Domain Name Service through NIS, be sure to
+           include "options BIND" and "ldoptions -lresolv" to
+           work around some NIS/DNS bugs.
+
+      SYS5
+           Use on AT&T SYSTEM 5 R3 (and newer?) UNIX systems.
+           See also _m_a_i_l_g_r_o_u_p.
+
+      SYS5DIR
+           Define this if your system uses "struct dirent"
+           instead of "struct direct".  This is true of System V
+           Release 3.0 and later.  Uses include file <dirent.h>
+           and the routines _m_k_d_i_r, _r_m_d_i_r and 
_g_e_t_c_w_d.
+
+      SVR4
+           Use on AT&T SYSTEM 5 R4 (and newer?) UNIX systems. You
+           should also include "options SYS5" and "options
+           SYS5DIR".  See also _m_a_i_l_g_r_o_u_p.  You will also 
need to
+           include "oldload none" if your ld doesn't handle
+           `-x -r' correctly.
+
+      TERMINFO
+           Define TERMINFO if you have it.  You get it automati-
+           cally if you're running SYS5, and you don't get it if
+           you're not.  (If you're not SYS5, you probably have
+           termcap.)
+
+      TZNAME
+           Use time zone names from the _t_z_n_a_m_e variable, set via
+           _t_z_s_e_t.  Only applicable on SYSTEM 5 systems and only
+           effective when you have asked for alpha-timezones (see
+           the ATZ option).  See also ZONEINFO.
+
+      UNISTD
+           Include this option if your system has the file
+           <unistd.h>.  If not specified, the LOCKF option will
+           include <sys/fcntl.h>.
+
+      V7
+           Use on V7 UNIX systems.  Also, be sure to use "options
+           void=int".
+
+      VSPRINTF
+           Include this option if your system has the 
_v_s_p_r_i_n_t_f(3)
+           library routine; otherwise, __d_o_p_r_n_t(3) will be used.
+
+      WAITINT
+
+
+
+[mh.6]                Last change: MH.6.8.3                    13
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+           BSD42 based systems call the _w_a_i_t(2) system routine
+           with a pointer to type _u_n_i_o_n _w_a_i_t.  Include this
+           option if you included "options BSD42", but your sys-
+           tem calls the _w_a_i_t(2) system routine with a pointer to
+           type _i_n_t (the non-BSD42 default).
+
+      ZONEINFO
+           Specify this if you have a BSD43 based system that
+           keeps time zone information /etc/zoneinfo or
+           /usr/lib/zoneinfo (SunOS), and where the _s_t_r_u_c_t _t_m
+           returned by _l_o_c_a_l_t_i_m_e(3) contains a 
_t_m__g_m_t_o_f_f element
+           (see /usr/include/time.h).  With this fix the GMT
+           offset specified in outgoing mail will be corrected
+           when the TZ enviornment variable is set to a different
+           time zone.  See also TZNAME.
+
+Site Preferences
+   These options change the default behavior of _M_H or enable
+   optional features.  Add the options which are appropriate for
+   your configuration or your site preferences.
+
+   editor: prompter
+        The default editor for _M_H.
+
+   options:
+        `-D' options to _c_c(1).
+
+     ATZ
+          Directs _M_H to use alpha-timezones whenever possible.
+          You should not use this option if you are on the Inter-
+          net, since it will make your host non-compliant with
+          RFC-1123 (Requirements for Internet Hosts).
+
+     ATHENA
+          Makes _r_e_p_l `-nocc all' the default instead of
+          `-cc all'.  You may want to enable this if you're using
+          _x_m_h.
+
+     BANG
+          Directs _M_H to favor `!' over `@' in addressing.
+
+     BERK
+          Optional for for 4.{2,3}BSD sites running SendMail.
+          Disables nearly all of the RFC822 address and header-
+          parsing routines in favor of recognizing such formats
+          as ASCnet, and so on.  If you don't need to disable the
+          parser for this reason, you probably want to use
+          "options DUMB" instead.
+
+     COMPAT
+          If you previously ran a version of _M_H earlier than mh.4
+          use this option.  After a short grace period, remove it
+
+
+
+[mh.6]                Last change: MH.6.8.3                    14
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+          and re-{configure,generate,install} everything.
+
+     DUMB
+          Directs _M_H not to try and rewrite addresses to their
+          "official" form.
+
+     FOLDPROT
+          Defines the octal value for default folder-protection.
+          For example, FOLDPROT='"0700"'.  The default is "0711".
+
+     ISI
+          When using "repl -ccme", only "cc:" the first address
+          found which belongs to the user; any other 
_A_l_t_e_r_n_a_t_e-
+          _M_a_i_l_b_o_x_e_s do not receive "cc:"s.
+
+     LINK
+          Defines the filename for alternate file name for _d_i_s_t
+          and _r_e_p_l.  For example, LINK='"\\043"' to use the
+          pound-sign character.  The default is "@".
+
+     MHE
+          Enables crude support for Brien Reid's MHE interface.
+          Recommended for use with the GNU Emacs mh-e package.
+
+     MHRC
+          Enables _M_H to recognize the _C_S_h_e_l_l's `~'-construct.
+          This is useful for sites that run with a ~/.mhrc for
+          their users.
+
+     MIME
+          Enables support for multi-media messages, as specified
+          in RFC 1341 -- a major win.  This allows you to include
+          things like audio, graphics, and the like, in your mail
+          messages.  Several _M_H commands are extended to support
+          these multi-media messages, and the _m_h_n command is pro-
+          vided to encode and decode MIME messages.  For more
+          details, see miscellany/multi-media/READ-ME and _m_h_n(1).
+
+     MSGID
+          Enables slocal to detect and surpress duplicate mes-
+          sages received.  This code uses the <ndbm.h> library,
+          and requires "options BSD42" since it uses the _f_l_o_c_k(2)
+          system call for locking.  (Note that this means its
+          database locking does not work over NFS.) It has only
+          been tested under SUN40.
+
+     MSGPROT
+          Defines the octal value for default folder-protection.
+          For example, MSGPROT='"0600"'.  The default is "0644".
+
+     NOMHSEQ
+          Directs _M_H to make private sequences the default.
+
+
+
+[mh.6]                Last change: MH.6.8.3                    15
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     OVERHEAD
+          Enable _M_H commands to read profile/context from open
+          fd:s without doing an open(); see _m_h-_p_r_o_f_i_l_e(5) 
for the
+          details.
+
+     RPATHS
+          Directs _i_n_c to note UNIX "From " lines as Return-Path:
+          info.
+
+     SBACKUP
+          Defines the prefix string for backup file names.  For
+          example, SBACKUP='"\\043"'.  The default is ",".
+
+     TMA
+          Support for the TTI _t_r_u_s_t_e_d _m_a_i_l 
_a_g_e_n_t (TMA).  Although
+          the TTI TMA is not in the public domain, the _M_H support
+          for the TTI TMA is in the public domain.  You should
+          enable this option only if you are licensed to run the
+          TMA software (otherwise, you don't have the software in
+          your _M_H source tree).
+
+     TTYD
+          Support for TTYD.  This is no longer in wide use, and
+          is not recommended.
+
+     UCI
+          First, "_" and "#" are recognized as the prefixes for
+          scratch files.  Second, support for the UCI
+          group-leadership mechanism is enabled in _c_o_n_f_l_i_c_t.
+          Third, the first line of the file file $HOME/.signature
+          is used as the _F_u_l_l _N_a_m_e part of your "From:" header.
+          This may conflict with the interpretation of this file
+          by _N_e_w_s.  If you're not at UCI, you probably don't want
+          this option.
+
+     UK
+          Directs the _s_c_a_n program to generate UK-style dates by
+          default.
+
+     WHATNOW
+          Enable certain _M_H commands to act differently when
+          $mhdraft set.
+
+     YEARMOD
+          This option makes the _m_h-_f_o_r_m_a_t %(year) function 
always
+          return a value less than 100.  Enable this option if
+          you have local _m_h-_f_o_r_m_a_t(5) files which cannot handle
+          4-digit years.  You should convert these files to use a
+          4-character field width, or use the %(modulo 100) func-
+          tion to obtain a 2-digit year value.  After a short
+          grace period, remove `YEARMOD' and re-
+          {configure,generate,install} everything.
+
+
+
+[mh.6]                Last change: MH.6.8.3                    16
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+Testing/debugging
+  debug: off
+       Support for debug mode of _M_H.  Don't use this unless you
+       know what you're doing, which isn't likely if you're read-
+       ing this document!
+
+  regtest: off
+       Set this to "on" if you are doing regression testing among
+       different compilations of _M_H, and you do not want the
+       hostname and compile date included in _M_H binaries.
+
+
+
+     Now edit conf/config/mtstailor, depending on your choice of
+     the setting for mts in the _M_H configuration file.  for an
+     mts setting of "mh", look at the file conf/tailor/mhmts; for
+     an mts setting of "sendmail", "sendmail/smtp", "mmdf/smtp",
+     or "mmdf2/smtp", look at the file conf/tailor/sendmts; and,
+     for an mts setting of "mmdf", or  "mmdf2", look at the file
+     conf/tailor/mmdf.
+
+     Now install the configured files into the source areas.  (On
+     SYS5 systems, or other systems where you get complaints
+     about "_index" and "_rindex" being undefined, you should use
+     "make sys5" to compile mhconfig.)
+
+     % make
+     % ./mhconfig MH
+
+     Before proceeding, you should familiarize yourself with the
+     _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.  To generate 
an _n_r_o_f_f version, go to
+     the doc/ directory and type:
+
+     % (cd ../doc/; make ADMIN.doc)
+
+
+     If you're already running _M_H at your site, you should also
+     read the _m_h changes document CHANGES.  The source is in
+     papers/changes/.
+
+     After reading the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s 
_G_u_i_d_e, you may decide to
+     change your MH configuration.  If so, cd back to the conf/
+     directory, re-edit the files MH and conf/config/mtstailor,
+     and re-run _m_h_c_o_n_f_i_g.
+
+     You now proceed based on your choice of a transport system
+     (the setting for mts above).  The best interface is achieved
+     with "sendmail" followed by "mmdf" or ("mmdf2"), and then
+     "mh" (stand-alone delivery, not recommended).
+
+  SENDMAIL
+     If you have not enabled BBoards or POP then no further
+
+
+
+[mh.6]                Last change: MH.6.8.3                    17
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     MTS-specific action is required on your part!
+
+     If you have enabled POP, but you want to let _S_e_n_d_M_a_i_l
+     deliver mail POP mail using its standard delivery program
+     /bin/mail, then, again, no further MTS-specific action is
+     required on your part!
+
+     Otherwise, go to the mts/sendmail/ directory.
+
+     % cd ../mts/sendmail/
+
+     This directory contains files whose definitions correspond
+     to the configuration of your _S_e_n_d_M_a_i_l system.  If you have
+     enabled BBoards or POP service, then you will need to
+     re-configure _S_e_n_d_M_a_i_l.  First, in the "local info" section
+     of your site's _S_e_n_d_M_a_i_l configuration file, choose a free
+     macro/class (B is used in this distribution), and add these
+     lines:
+
+          # BBoards support
+          DBbboards
+          CBbboards
+
+     Second, immediately after the inclusion of the zerobase
+     file, in the "machine dependent part of ruleset zero" sec-
+     tion, add these lines:
+
+          # resolve names for the BBoards system
+          R$+<@$=B>      address@hidden:$1        address@hidden
+
+     Be sure to use tabs when separating these fields.  Third,
+     add the line
+
+          include(bboardsMH.m4)
+
+     after the line
+
+          include(localm.m4)
+
+     in your site's _S_e_n_d_M_a_i_l configuration file.  Finally, you
+     should link the file mts/sendmail/bboardsMH.m4 into your
+     _S_e_n_d_M_a_i_l cf/ directory and re-configure 
_S_e_n_d_M_a_i_l.
+
+     If you have enabled POP service, a similar procedure must be
+     used on the POP service host, to re-configure _S_e_n_d_M_a_i_l.
+     First, in the "local info" section of your site's _S_e_n_d_M_a_i_l
+     configuration file, choose a free macro/class (P is used in
+     this distribution), and add these lines:
+
+          # POP support
+          DPpop
+          CPpop
+
+
+
+[mh.6]                Last change: MH.6.8.3                    18
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     Second, immediately after the inclusion of the zerobase
+     file, in the "machine dependent part of ruleset zero" sec-
+     tion, add these lines:
+
+          # resolve names for the POP system
+          R$+<@$=P>      address@hidden:$1            address@hidden
+
+     Be sure to use tabs when separating these fields.  Third,
+     add the line
+
+          include(popMH.m4)
+
+     after the line
+
+          include(localm.m4)
+
+     in your site's _S_e_n_d_M_a_i_l configuration file.  Finally, you
+     should link the file mts/sendmail/popMH.m4 into your _S_e_n_d_-
+     _M_a_i_l cf/ directory and re-configure _S_e_n_d_M_a_i_l.
+
+  MMDF
+     If you want _M_M_D_F to be your transport service, and have NOT
+     specified "mmdf/smtp" (or "mmdf2/smtp") as your mts setting,
+     then go to the mmdf/ directory.  (If you're using
+     "mmdf/smtp" or "mmdf2/smtp" as your mts setting, then skip
+     to the next section.)
+
+     % cd ../mts/mmdf/
+
+     This directory contains files whose definitions correspond
+     to the configuration of your _M_M_D_F system.
+
+     If you're running _M_M_D_F-_I, then copy the following files from
+     wherever you keep the _M_M_D_F sources to this directory:
+     mmdf/h/ch.h, mmdf/h/conf.h, utildir/conf_util.h,
+     utildir/ll_log.h, mmdf/h/mmdf.h, utildir/util.h,
+     mmdf/mmdf_lib.a, and utildir/util_lib.a.
+
+     If you're running _M_M_D_F-_I_I, then copy the following files
+     from where you keep the _M_M_D_F sources to this directory:
+     h/ch.h, h/conf.h, h/dm.h, h/ll_log.h, h/mmdf.h, h/util.h,
+     and lib/libmmdf.a
+
+     If you have enabled bboards, then the directories
+     support/bboards/mmdfI and support/bboards/mmdfII contain
+     information you'll need to put a UCI BBoards channel in your
+     _M_M_D_F configuration.  Similarly, if you have enabled option
+     "mf" and are running _M_M_D_F-_I, then the zotnet/mf/mmdfI/
+     directory contains information you'll need to put a _U_U_C_P
+     channel in your _M_M_D_F-_I configuration.  Finally, the direc-
+     tory support/pop/mmdfII contains information you'll need to
+     put a POP channel in your _M_M_D_F-_I_I configuration.
+
+
+
+[mh.6]                Last change: MH.6.8.3                    19
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     Note that _M_M_D_F-_I_I is distributed with the BBoards channel,
+     although the version in the _M_H distribution might be more
+     current, the version in the _M_M_D_F-_I_I distribution has been
+     tested with that revision of _M_M_D_F.
+
+  MMDF/SMTP
+     If you are using "mmdf/smtp" as your mts setting, then no
+     further MTS-specific action is required on your part!
+
+  MMDF2/SMTP
+     If you are using "mmdf2/smtp" as your mts setting, then no
+     further MTS-specific action is required on your part!
+
+  STAND-ALONE DELIVERY
+     If, instead, you want _M_H to handle its own mail delivery,
+     then no further MTS-specific action is required on your
+     part!
+
+GENERATION
+     Go to the _M_H top-level directory and generate the system.
+
+     % cd ../; make
+
+     This will cause a complete generation of the _M_H system.  If
+     all goes well, proceed with installation.  If not, complain,
+     as there "should be no problems" at this step.
+
+INSTALLATION
+     If the directories you chose for the user-programs,
+     support-programs and manuals ("bin", "etc", "popdir", "slib-
+     dir", and "mandir" in the conf/MH file) don't exist, you
+     should create them at this point.
+
+     Next, if you enabled support for the UCI BBoards facility,
+     then create a login called "bboards" with the following
+     characteristics: home directory is /usr/spool/bboards/ with
+     mode 755 (actually, use the value for "bbhome" given in the
+     _M_H configuration file), login shell is /bin/csh (or
+     /bin/sh), and, encrypted password field is "*".  The
+     "bboards" login should own the /usr/spool/bboards/ direc-
+     tory.  In addition to creating /usr/spool/bboards/, also
+     create /usr/spool/bboards/etc/ and
+     /usr/spool/bboards/archive/.  These directories should also
+     be owned by the "bboards" login.
+
+     If you enabled support for POP, then on the POP service
+     host, create a login called "pop" with the following charac-
+     teristics: home directory is /usr/spool/pop/ with mode 755,
+     login shell is /bin/csh, and, encrypted password field is
+     "*".  If you don't have /bin/csh on your system (V7), then
+     /bin/sh is just fine.  The "pop" login should own the
+     /usr/spool/pop/ directory.  You'll also need to add a line
+
+
+
+[mh.6]                Last change: MH.6.8.3                    20
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     to the /etc/services file and the /etc/rc.local file, see
+     the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e  for more 
details.
+
+     If this is not the first time you have installed _M_H, these
+     files will need particular attention:
+
+          _D_i_r_e_c_t_o_r_y                 _F_i_l_e_s
+          "etc/"                    MailAliases, BBoardAliases, mtstailor
+          /usr/spool/bboards/       BBoards, .cshrc, .mh_profile
+          /usr/spool/bboards/etc/   *
+
+     The MailAliases, BBoardAliases, mtstailor and BBoards files
+     will NOT be installed over existing copies; you will need to
+     edit these by hand and merge in any changes from your previ-
+     ous _M_H release.  The other files under /usr/spool/bboards/
+     will be overwritten if they exist.  You may wish to preserve
+     your old versions of these before installing _M_H.
+
+     As the super-user, and from the mh.6/ directory, install the
+     system.
+
+     # make inst-all
+
+     This will cause the _M_H processes and files to be transferred
+     to the appropriate areas with the appropriate attributes.
+
+TAILORING
+     See the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for 
information on tailoring
+     _M_H for the MTS, BBoards, and POP.
+
+DOCUMENTATION
+     In addition to this document, the 
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, and
+     the _U_s_e_r'_s _M_a_n_u_a_l, there are several documents 
referenced by
+     the user's manual which may be useful.  The sources for all
+     of these can be found under the papers/ directory.
+
+OTHER THINGS
+     Consult the directory miscellany/ for the sources to a
+     number of things which aren't part of the mainstream _M_H dis-
+     tribution, but which are still quite useful.
+
+FILES
+     Too numerous to mention.  Really.
+
+SEE ALSO
+     make(1)
+
+BUGS
+     The _m_h_c_o_n_f_i_g program should be smarter.
+
+     There's no way to print the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s 
_G_u_i_d_e until
+     after you have configured the system; it is difficult to
+
+
+
+[mh.6]                Last change: MH.6.8.3                    21
+
+
+
+
+
+
+MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)
+
+
+
+     configure the system without the 
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.
+
+     The Makefiles should know when _m_h_c_o_n_f_i_g has been run and
+     force "make clean" behavior.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[mh.6]                Last change: MH.6.8.3                    22
+
+
+
diff --git a/docs/historical/mh4mm.pdf b/docs/historical/mh4mm.pdf
new file mode 100644
index 0000000..466d319
Binary files /dev/null and b/docs/historical/mh4mm.pdf differ
diff --git a/docs/historical/mh4mm.txt b/docs/historical/mh4mm.txt
new file mode 100644
index 0000000..3aa30f1
--- /dev/null
+++ b/docs/historical/mh4mm.txt
@@ -0,0 +1,1168 @@
+
+
+
+
+                                   MH  for  MM  Users
+
+
+
+                            Mary  Hegardt                           Tim  Morgan
+
+
+
+                                               April  12,  1990
+
+
+
+1         Introduction
+
+
+
+This document is another in a continuing series on use of the MH mail system
+
+at  UCI.  It  is  intended  for  those  users  accustomed  to  the  mm  "user  
agent"
+
+(mail  program)  under  Tops-20  and  who  are  already  familiar  with  
network
+
+mail,  but  who  may  not  be  experienced  Unix  users.   For  an  
introduction
+
+to  MH,  see  "MH  For  Beginners"  by  Mary  Hegardt  and  Tim  Morgan.   For
+
+complete, detailed information on the MH system, see The Rand MH Message
+
+Handling System:  User's Manual  by Marshall T. Rose and John L. Romine.
+
+Both documents are available for Xeroxing in suite CS408.
+
+
+
+1.1         UNIX  Versus  Tops-20
+
+
+
+The  Unix1  paradigm  is  that  each  command,  or  program,  should  perform
+
+only  one  function.   An  extension  of  this  idea  is  that  the  operating 
 system
+
+implements  only  those  functions  which  are  necessary,  but  it  does  so  
in  a
+
+very general way so that programs may still accomplish their functions.  This
+
+philosophy  probably  evolved  because  the  original  versions  of  Unix  ran 
 on
+
+PDP-11 minicomputers which had only a small memory space for each pro-
+
+cess.
+________________________________________________
+    1 Unix is a trademark of AT&T Bell Laboratories
+
+
+
+                                                           1
+
+
+
+
+Consequently,  all  commands  in  Unix,  with  a  very  few  exceptions,  are  
in
+
+actuality  programs.  On  Tops-20,  in  contrast,  many  of  the  most  
frequently
+
+used  commands  are  built  into  the  user's  shell,  or  exec.  Both  the  
Exec  and
+
+csh,  which  is  typically  the  user's  command  interface  on  Unix,  will  
accept
+
+and parse command lines, attempting to invoke a command as a program if
+
+it is not one of the built-in commands.  Unix and Tops-20 are surprisingly
+
+similar internally:  the use of the shell, separate processes for each command
+
+or  program  to  execute,  standard  input  and  output  for  each  program,  
and
+
+many  other  ideas  are  common  to  both  operating  systems.  Users  should  
be
+
+familiar with the capabilities of the shell, which is described in the document
+
+"Introduction to the Csh."
+
+
+
+1.2         The  MH  User  Interface
+
+
+
+The  MH  mail  "user  agent"  is  different  from  most  other  mail  systems. 
 mm,
+
+for example, is a monolithic  system because one program implements all the
+
+mail-related  functions.   The  disadvantages  of  monolithic  systems  are  
that
+
+(a) they are large, so they tend to put more burden on the computer system,
+
+and (b) they allow for much less flexibility.  In contrast, MH implements each
+
+mail command as a separate program:  there is no single program called mh.
+
+This  approach  facilitates  interspersing  mail  commands  with  other,  
perhaps
+
+unrelated, commands.
+
+
+Another  unique  feature  of  MH  is  that  it  takes  advantage  of  the  
facilities
+
+provided  by  the  operating  system.  Most  mail  agents,  such  as  mm,  
maintain
+
+a file containing the user's mail in a special, usually undocumented, format.
+
+When  a  message  is  deleted,  mm  must  take  care  of  compacting  the  
mail  file.
+
+It  must  be  able  to  distinguish  the  separate  messages  contained  in  
the  file.
+
+mm must also implement a simple text editor to allow the user to enter and
+
+modify a message while it is being composed.  These functions are essentially
+
+those provided by the operating system when separate files are stored within
+
+a  directory.   Therefore,  the  approach  taken  by  MH  is  that  each  
message  is
+
+kept  in  a  separate  file.  This  file  simply  contains  the  message,  
with  no  other
+
+special  formatting  characters  or  requirements.   All  the  messages  are  
stored
+
+within  a  normal  Unix  directory.   This  approach  makes  it  easy  to  add 
 new
+
+MH commands, to edit messages using standard text editors, etc.
+
+
+
+                                                           2
+
+
+
+
+All your MH related files are stored in a directory within your home directory.
+
+Usually this directory is called Mail or mhbox, although you are free to name
+
+it as you choose.  Another file in your home directory called .mh_profile is
+
+equivalent  to  the  MM.INIT  file  under  mm.  It  contains  all  the  
options  which
+
+you  prefer  for  the  various  MH  commands.  It  also  contains  the  name  
of  the
+
+MH  directory  and  the  name  that  you  want  on  your  outgoing  mail  in  
the
+
+From:  field (your "signature ").
+
+
+
+2         Getting  Started
+
+
+
+2.1         Incorporating  Mail
+
+
+
+Another important difference between mm and MH is the concept of the mail-
+
+drop  file.  Under Tops-20, the mail transport system delivers new messages
+
+directly into the recipient's MAIL.TXT file, where they may then be processed
+
+with  mm.   In  contrast,  the  Unix  mail  transport  system,  called  
MMDF-II,
+
+makes  no  assumptions  about  the  user  agent  used  by  the  recipient.  
Instead,
+
+it puts all new mail into a special file called the maildrop.  This file is in 
the
+
+/usr/spool/mail  directory.  When  you  log  in,  if  there  is  new  mail  
for  you
+
+in your maildrop, you will be so notified by the message
+
+
+                 You  have  new  ZOTnet  mail  --  type  inc  (or  mail)
+
+
+When you are ready to process this new mail, you may type the command
+
+
+                 %  inc
+
+
+("incorporate") which will copy the new mail into separate files, one per mes-
+
+sage, stored in your "inbox" folder.  A folder is a subdirectory beneath your
+
+MH directory which is used to store related messages.  Additional information
+
+on  folders  is  given  in  Section  4.5,  page  13.   The  "inbox"  is  a  
distinguished
+
+folder  because  by  default  inc  will  always  copy  new  mail  into  that  
folder,
+
+removing it from the maildrop.
+
+
+If  this  is  the  first  time  you  have  used  inc  or  any  other  MH  
command,  the
+
+mh-install  program  will  inform  you  that  it  is  creating  your  Mail  
directory.
+
+It will also create the "inbox" folder directory, and .mh_profile.
+
+
+
+                                                           3
+
+
+
+
+2.2         Message  Numbers
+
+
+
+As inc processes each message, it prints a "scan" listing showing the message
+
+number, the date the message was sent, the name of the sender, the subject,
+
+and  sometimes  the  initial  part  of  the  text  of  the  message.  A  
"scan"  listing
+
+is thus similar to the output of the HEADERS command in mm.  Each message
+
+within  a  folder  is  given  a  number,  starting  with  1,  by  which  it  
can  be  ref-
+
+erenced.  Inc  will  display  the  numbers  assigned  to  each  new  message  
in  its
+
+"scan" listing.
+
+
+As  in  mm,  there  is  a  "current  message"  number  which  usually  
identifies  the
+
+message most recently manipulated by the user.  With most MH commands,
+
+this  will  be  the  default  message  if  no  messages  are  explicitly  
specified  in
+
+a  command.   Inc  makes  the  first  new  message  the  current  message,  
which
+
+is  indicated  by  a  "+"  character  in  the  scan  listing,  just  after  
the  message
+
+number.
+
+
+Many  MH  commands  take  a  list  of  messages  to  process.   A  message  
desig-
+
+nation  is  either  a  single  message  number,  two  message  numbers  
separated
+
+by  a  dash.   The  dash  format  indicates  a  range  of  messages  including 
 the
+
+endpoints.  A message list consists of one or more message designations sep-
+
+arated by spaces.  For example, messages 11 through 15 and message 17 may
+
+be indicated by typing
+
+
+                 11-15  17
+
+
+as the argument to some command.  There are also several predefined names
+
+for  messages  or  lists  of  messages  which  may  be  used  in  place  of  
message
+
+numbers:
+
+
+   cur          The  current  message  (the  last  one  that  was  handled).  
Equivalent
+
+                to "."  or "CURRENT" in mm.
+
+  next          The next message
+
+  prev          The previous message
+
+  first         The first message in the current folder.
+
+   last         The last message in the folder.  Equivalent to % or * in mm.
+
+     all        All messages (first  last ).  Same as in mm.
+
+
+It  is  also  possible  for  you  to  define  your  own  named  sequences  of  
messages.
+
+
+
+                                                           4
+
+
+
+
+See the pick  command description for more details.
+
+
+
+3         Processing  Messages
+
+
+
+This section contains a list of the common mm commands and their equiva-
+
+lents in the in MH mail system.  A short textual note describes how the MH
+
+commands differ from their mm counterparts.
+
+
+
+3.1         Listing  Messages
+
+
+
+As mentioned in Section 2.2, the scan  command may be used to summarize
+
+the  messages  in  a  folder,  similar  to  the  HEADERS  command  in  mm.   
Unlike
+
+most MH commands, however, scan defaults to all the messages in the current
+
+folder unless you specify one or messages on the command line to be scanned.
+
+So simply typing
+
+
+                 %  scan
+
+
+is equivalent to typing HEADERS  ALL (or H  A) in mm.
+
+
+
+3.2         Reading  Mail
+
+
+
+Unlike  the  READ  command  in  mm,  in  MH  there  is  no  special  
mail-reading
+
+mode (indicated in mm by the R> prompt).  The command to read messages
+
+in  MH  is  show.   If  no  message  list  is  specified,  then  the  current  
message
+
+is  displayed.  The  message  is  displayed  by  your  "showproc",  as  
specified  in
+
+the  .mh_profile,  described  in  Section  4.2.  Normally,  your  "showproc"  
will
+
+be  more  or  mhless.  Both  of  these  programs__will__display_ your  
messages  one
+
+screenful  at  a  time.   You  press  the  __space_bar______ __on  your  
terminal  to  see  the
+                       ____________
+next screenful, or the __return____ _key to see the next line.
+
+
+The command
+
+
+                 %  show  next
+
+
+
+                                                           5
+
+
+
+
+(which  will  display  the  first  message  following  the  current  message  
in  the
+
+current folder) can be abbreviated as simply
+
+
+                 %  next
+
+
+Similarly, the command "show  prev" can be abbreviated as simply "prev".
+
+
+To get a paper copy of a mail message, take the output from the show  com-
+
+mand and pipe it into the imprint  command.
+
+
+                 %  show  5  _  imprint
+
+
+See the manual page for imprint  for more information.
+
+
+
+3.3         Deleting  Messages
+
+
+
+The equivalent of the DELETE command in mm is rmm  in MH (remove mes-
+
+sages).  It  acts  on  the  current  message  unless  messages  are  specified 
 on  the
+
+command  line.  Unlike  mm,  the  deleted  messages  will  no  longer  show  
up  in
+
+a  "scan"  listing.   But  the  messages  are  not  completely  removed;  they 
 are
+
+renamed to have a comma prepended to the name of the file containing the
+
+message within its folder directory.  Therefore, if you need to recover a mes-
+
+sage,  it  is  possible  to  go  into  the  directory  and  rename  the  
message  back.
+
+Be careful in doing this not to overwrite a new message with the same mes-
+
+sage  number!  It  is  a  Unix  convention  that  files  whose  names  begin  
with  a
+
+comma will be removed from disk (expunged ) early each morning.  Therefore,
+
+your deleted messages will be available for the rest of the day, unless you re-
+
+move another message subsequently which has the same message.  Then the
+
+previously deleted message is gone.
+
+
+
+3.4         Replying  to  Mail
+
+
+
+The  equivalent  of  the  REPLY  command  in  mm  is  repl  in  MH.  Repl  may 
 be
+
+given the number of the message to which you wish to reply, or it will default
+
+to  the  current  message.   When  replying  in  mm,  you  are  prompted  
asking
+
+if  you  wish  to  reply  to  all  the  recipients  of  the  message  to  
which  you  are
+
+replying, or only to its sender.  In MH, normally the reply will be constructed
+
+
+
+                                                           6
+
+
+
+
+to be sent to all the recipients.  You may select which recipients receive 
copies
+
+of  your  reply  by  using  the  -query  option  on  repl,  or  by  putting  
this  option
+
+in  your  .mh_profile,  as  described  in  Section  4.2.  If  you  wish  a  
reply  to  go
+
+to everyone but yourself, you can use repl  -nocc  me.
+
+
+
+3.5         Sending  Mail
+
+
+
+The equivalent of the SEND mm command is comp ("compose") in MH. These
+
+two  commands  are  fairly  similar,  except  that  the  recipient  of  the  
message
+
+cannot be specified on the comp  command line.  The comp  program invokes
+
+a simple editor called prompter  which will prompt you for the To:, Cc:, and
+
+Subject:   fields  of  the  message.   Then  a  line  of  dashes  is  typed,  
and  you
+
+may  enter  the__body__of  your  message  (its  text,__in__mm_ terms).  When  
you  are
+
+finished, type __ctrl__-__D (equivalent to typing __ESC_______or control-Z in 
mm).  Then
+
+you'll receive the prompt
+
+
+                 What  now?
+
+
+which  is  similar  to  mm's  S>  prompt.  You  may  receive  a  
list__of__the_ options
+
+that  you  have  at  this  point  by  typing  "?"   followed  by  
__return____._  Here  is  a
+
+short  list  of  the  options  and  their  meanings.  Notice  that,  unlike  
mm,  there
+
+are very few commands to modify the message (such as the TEXT, TO, CC, etc.,
+
+commands which may be typed at the S> prompt in mm).  In place of these
+
+commands,  you  use  the  edit  command  to  invoke  your  favorite  text  
editor
+
+on the message, and you use it to make the equivalent changes.  You also use
+
+your  editor  to  include  other  files  into  the  body  of  the  message,  
rather  than
+
+using  control-B,  as  in  mm.  One  additional  use  of  the  edit  command  
is  for
+
+spelling checking.  In mm, you may use the command SPELL for this purpose.
+
+In MH, you type "edit  spell"2  instead.  This will cause the spelling checker
+
+to be run, giving you a list of the possibly misspelled words in your message.
+
+
+
+     edit  editor              Edit  the  message  using  the  specified  
editor.   When  you
+
+                               exit, you will be back at What  now?.
+________________________________________________
+    2 Actually, any program named after the "edit" command will be invoked 
with what-
+
+ever  arguments  you  have  given  and  a  path  to  the  file  containing  
the  message  you  are
+editing.
+
+
+
+                                                           7
+
+
+
+
+                list           Shows the message you just typed
+
+
+   whom  -check                Verifies that the addresses you have used are 
valid as far
+
+                               as our system can tell
+
+
+                send           Sends the message to the recipients
+
+
+                push           Sends the message in the background
+
+
+                quit           Quits  without  sending  the  message.   Saves  
the  text  of
+
+                               the  message  as  a  "draft".  Type  comp  -use 
 to  get  back
+
+                               to that draft later.
+
+
+ quit  -delete                 Quit, throwing away the draft
+
+
+
+3.6         Forwarding  Mail
+
+
+
+The  forw  command  is  used  in  MH  to  forward  messages.   It  will  take  
a  list
+
+of  messages  on  the  command  line  to  be  forwarded,  or  it  will  
default  to  the
+
+current  message  if  none  are  specified.   It  will  prompt  you  like  
comp  does
+
+for  the  To:,  Cc:,  and  Subject:  fields.    Note  that,  unlike  mm's  
FORWARD
+
+command, forw  will not construct a subject line automatically.  Also as with
+
+comp, you will have the opportunity to add additional text to the message(s)
+
+which you are forwarding, ended with a control-D.
+
+
+
+3.7         Resending  Mail
+
+
+
+The  equivalent  of  the  RESEND  command  in  mm  is  the  dist  
("distribute")
+
+command  in  MH.  Dist  works  very  much  like  the  forw  command,  except
+
+that  the  prompts  will  be  Resend-To:,  Resend-Cc:,  etc.  After  filling  
in  the
+
+headers,  a  line  of  dashes  is  typed  giving  the  impression  that  
additional  text
+
+can be entered.  Nothing could be further from the truth; if you add any text
+
+at  this  point  the  dist  will  fail.  Your  only  opportunity  to  add  
text  is  in  the
+
+Resend-Note:  field.
+
+
+
+                                                           8
+
+
+
+
+4         Advanced  Topics
+
+
+
+4.1         Selecting  Messages
+
+
+
+In  mm,  you  may  use  several  reserved  command  words  to  select  messages
+
+in  place  of  an  explicit  list  of  message  numbers.    For  example,  you 
 can
+
+type  "DELETE  FROM  SMITH"  to  remove  all  the  messages  from  a  user  
named
+
+"Smith".   Rather  than  building  such  a  capability  into  each  MH  program
+
+which  can  process  message  lists,  a  special  program  called  pick  is  
used  in-
+
+stead.   Just  as  there  are  predefined  sequences  of  messages,  such  as  
"all",
+
+"cur", etc., you may use pick  to define your own sequences.  Pick  is capable
+
+of selecting messages from a folder based on the To:, From:, Subject:, Cc:,
+
+or  Date:  fields,  or  by  searching  the  body  of  the  message.  The  
patterns  to
+
+be searched for may include full regular expressions (see the "man" page for
+
+ed(1)  for more information) or simple strings.
+
+
+Pick  may  be  used  in  one  of  two  ways.  First,  it  may  output  the  
sequence  of
+
+message  numbers  which  match  the  search  parameters.  Using  the  backquot-
+
+ing  mechanism  of  the  shell,  these  message  numbers  may  then  become  
the
+
+arguments to other MH programs.  The second way to use pick  is to have it
+
+define a new sequence name which will be the messages which were selected.
+
+Only  this  second  method  of  using  pick  will  be  described  here;  see  
pick(l)  if
+
+you wish to use the first method.
+
+
+In your .mh_profile, add the line
+
+
+                 pick:    -seq  sel
+
+
+Then  each  time  you  use  the  pick  command,  it  will  define  the  
resulting  se-
+
+quence of messages to be called "sel".  Then to "pick" all the messages in the
+
+current folder which are from "Smith", just type
+
+
+                 %  pick  -from  smith
+
+
+To see a summary of those messages, type
+
+
+                 %  scan  sel
+
+
+Then to the remove the messages, type the command
+
+
+
+                                                           9
+
+
+
+
+                 %  rmm  sel
+
+
+You  can  pick  messages  according  to  any  of  the  headers  (-to  -from  
-subj
+
+-cc  or  -date) or just search all the messages for a given word (-search).
+
+
+
+4.2         Customizing  Your  Mail  Environment
+
+
+
+In  mm,  you  use  the  PROFILE  command  to  tailor  your  mail  environment.
+
+This  command  writes  a  file  called  MM.INIT  in  your  home  directory  
which
+
+is  then  read  by  subsequent  executions  of  mm.   In  the  MH  system,  
the  file
+
+.mh_profile  serves  the  same  purpose.   It  is  edited  with  any  normal  
text
+
+editor,  rather  than  using  a  special-purpose  command  to  modify  it.    
The
+
+format of the file is line oriented, one line per MH program or MH option to
+
+be  set.  The  only  required  line  in  the  profile  is  the  name  of  the  
primary  MH
+
+mail directory, which is by default Mail.  This information is specified by the
+
+line
+
+
+                 Path:    Mail
+
+
+The  textual  name  you  would  like  to  have  on  your  outgoing  mail  is  
specified
+
+by the Signature:  line.  For example,
+
+
+                 Signature:    Mary  Hegardt
+
+
+The BBoards which you like to read should also be listed in the .mh_profile
+
+(see  Section  4.6,  page  14,  for  additional  information).   For  example, 
 if  you
+
+read the "system" BBoard (where all important announcements are posted),
+
+as well as "whimsey" and "imagen-users" BBoards, your .mh_profile should
+
+contain the line
+
+
+                 bboards:    system  whimsey  imagen-users
+
+
+Other options may be specified on a per-program basis.  The format for these
+
+lines is the same.  First, the program name is given followed by a colon.  Then
+
+any flags which are to be the default options for that program are given.  Here
+
+is a short list of the most common options which you may want to set in your
+
+.mh_profile:
+
+
+                 showproc:    mhless
+
+
+
+                                                           10
+
+
+
+
+The  showproc  is  the  program  used  to  show  messages  to  you.  By  
default,  it
+
+is the more  command.  Mhless  is the same as more  except that it omits the
+
+headers of the messages which you indicate that you wish not to see.  Type
+
+
+                 %  man  mhless
+
+
+for more information about this program.
+
+
+                 msh:    -scan
+
+
+Selecting this option causes an automatic scan of new messages on BBoards to
+
+be made when reading BBoards with bbc, similar to the scan listing produced
+
+by inc.
+
+
+                 repl:    -query
+
+
+causes repl  to ask for each address in the message being replied to if it 
should
+
+be included in the To:  or Cc:  fields of the reply being composed.
+
+
+                 pick:    -seq  sel
+
+
+This  line  will  cause  messages  "picked"  by  the  pick  command  to  be  
put  into
+
+a  sequence  named  "sel".  This  sequence  name  may  then  be  used  just  
as  the
+
+built-in sequences ("last", "first", etc.).
+
+
+
+4.3         Aliases
+
+
+
+Using MH, you may specify your own private mail aliases.  This feature allows
+
+you to store lists of addresses or long internet addresses of people with whom
+
+you  frequently  correspond  in  one  file,  and  then  to  address  them  
using  short
+
+mnemonic names.  Typically, you will call your alias file "aliases";  it must
+
+be  stored  in  your  MH  directory.  The  format  of  this  file  is  simple. 
 The  alias
+
+is  given,  followed  by  a  colon,  followed  by  one  or  more  legal  mail  
addresses
+
+separated by commas.  For example, you might for some reason have an alias
+
+for all the users named "Rose" in the ICS department:
+
+
+                 roses:    prose,  srose,  mrose,  drose
+
+
+In addition to your "aliases" file, you will need to modify your .mh_profile
+
+in  order  to  use  aliases.   You  should  add  the  flag  "-alias  aliases"  
to  the
+
+
+
+                                                           11
+
+
+
+
+entries  for  the  commands  ali,  whom,  send,  and  push,  creating  entries 
 for
+
+these  programs  if  they  aren't  already  in  your  .mh_profile.  Now,  
messages
+
+addressed to "roses" will be distributed to all the people listed in the alias.
+
+
+The  ali  command  is  used  to  show  you  what  an  alias  expands  to.  You 
 just
+
+type
+
+
+                 %  ali  alias
+
+
+and ali  will respond with the expansion of the alias.  Ali  searches the 
system
+
+aliases file in addition to your private ones.
+
+
+
+4.4         Blind  Lists
+
+
+
+There  are  two  different  types  of  so-called  "blind  addressing"  of  
messages.
+
+Users  of  mm  may  already  be  familiar  with  the  "Blind  Carbon  Copy",  
or
+
+BCC:  field.   It  allows  you  to  add  recipients  to  your  message  just  
like  those
+
+who are CC'd, but the normal recipients will not see that the BCC recipients
+
+were copied on the message, their replies will not go to the blind recipients,
+
+and the blind recipients cannot (easily) reply to the message.
+
+
+The  second  type  of  blind  mailing  is  actually  called  a  "group  
address  list",
+
+although it is commonly referred to as a "blind list".  The format of this type
+
+of address is
+
+
+                 phrase :    address__list ;
+
+
+where  the  "phrase "  is  any  English  phrase  of  one  or  more  words,  
and  the
+
+address__list  consists  of  one  or  more  addresses  separated  by  commas.  
 The
+
+recipients of a message addressed in this fashion will see simply
+
+
+                 phrase :    ;
+
+
+so  when  they  reply  to  the  message,  their  reply  will  come  only  to  
the  sender
+
+(or  the  Reply-To:  field,  if  one  was  specified),  rather  than  going  
to  all  the
+
+recipients of the original list.  For example, to use a group address list for 
the
+
+"roses" alias you would type:
+
+
+                 To:    People  Named  Rose:    roses;
+
+
+
+                                                           12
+
+
+
+
+This type of group address is very useful for making up lists of related 
people,
+
+such as all the people working on a particular research project.
+
+
+
+4.5         Folders
+
+
+
+As  mentioned  previously,  folders  are  directories  within  your  MH  
directory
+
+used  to  store  related  messages.  There  is  no  equivalent  of  the  
folder  concept
+
+in the mm system.  Usually, you will use only the folder "inbox", so you won't
+
+have to worry about folders.  However, if you process a large volume of mail,
+
+then folders become invaluable in managing the messages which you wish to
+
+keep for future reference.
+
+
+Just as there is a "current message," MH maintains a "current folder," which
+
+will  normally  be  "inbox".   You  can  change  folders  either  by  
specifying  the
+
+folder on the command line of MH programs which take a list of messages as
+
+an argument, or by using the folder command:
+
+
+                 %  folder  +folder__name
+
+
+In  general,  the  folder  name  is  indicated  by  a  "+"  sign  followed  
immediately
+
+by  the  folder  name,  all  preceeding  any  list  of  messages.   For  
example,  you
+
+may  read  the  most  recent  message  in  a  folder  called  "job__offers"  
using  the
+
+command
+
+
+                 %  show  +job__offers  last
+
+
+This  command  will  have  the  side-effect  of  setting  the  current  folder 
 to  be
+
+"job__offers".    You  may  move  messages  from  the  current  folder  into  
the
+
+"job__offers" folder using the command
+
+
+                 %  refile  +job__offers  messages
+
+
+where, as usual, the messages  list will default to the current message in the
+
+current  folder  if  none  are  specified.   Note  that,  in  contrast  with  
the  show
+
+command  and  most  other  MH  commands,  the  messages  are  not  considered
+
+to be in the folder "job__offers".  You may obtain a summary of all your 
folders
+
+by typing the command
+
+
+                 %  folders
+
+
+
+                                                           13
+
+
+
+
+When  you  remove  messages  from  a  folder  using  the  rmm  command,  the
+
+deleted  messages  will  show  up  as  a  "hole"  in  the  message  numbering. 
 The
+
+command
+
+
+                 %  folder  -pack
+
+
+will cause all the messages within one folder to be renumbered starting with 1.
+
+Similarly, the command
+
+
+                 %  folders  -pack
+
+
+will do the same thing for all your folders.
+
+
+To remove an empty folder, use the command
+
+
+                 %  rmf  +folder
+
+
+
+4.6         Reading  BBoards
+
+
+
+Two  special-purpose  programs  are  utilized  in  reading  BBoards.  The  
first  is
+
+bbc,  which  is  used  to  check  a  list  of  BBoards  for  new  messages.  
The  list  of
+
+messages may be given on the command line, or if not, it will be taken from
+
+the  BBoards:   list  in  your  .mh_profile.   You  may  obtain  a  list  of  
all  the
+
+available BBoards by typing the command
+
+
+                 %  bbc  -topics
+
+
+For  each  BBoard  with  unseen  messages,  bbc  will  invoke  the  MH  shell, 
 msh,
+
+whose prompt is
+
+
+                 (msh)
+
+
+The msh  program allows you to read BBoard mail as if it were normal mes-
+
+sages  in  one  of  your  folders.   Almost  all  the  MH  commands  will  
work  just
+
+as  the  normally  do.  Typing  the  command  "quit"  to  msh  causes  it  to  
stop
+
+reading  the  current  BBoard  and  go  on  to  the  next  one  containing  
unseen
+
+messages,  or  to  exit  if  there  are  no  more  such  BBoards.   Typing  
control-D
+
+causes  msh  to  exit  unconditionally.  The  command  mark  followed  by  a  
mes-
+
+sage  number  causes  msh  to  act  as  if  you  have  seen  that  message  
and  all
+
+previous ones.
+
+
+
+                                                           14
+
+
+
+
+4.7         Checking  for  Mail
+
+
+
+Under  Unix,  there  are  about  a  dozen  different  ways  to  check  for  
new  mail.
+
+The  easiest  way  to  do  it  is  to  set  the  csh  variable  named  "mail"  
to  tell  csh
+
+to check for new mail for you periodically.  To do this, add the line
+
+
+                 set  mail=(60  /usr/spool/mail/$USER)
+
+
+to  your  .login  file  in  your  home  directory.   This  command  says  to  
check
+
+for  mail  if  csh  is  about  to  prompt  you  with  a  %  sign,  and  if  it 
 has  been  at
+
+least 60 seconds since it last checked for mail.  The advantage of this method
+
+of  mail  notification,  besides  simplicity,  is  that  you  will  never  be  
interrupted
+
+by  a  mail  notification.  You  will  only  be  notified  of  new  mail  when 
 you  are
+
+between commands, when the shell is about to prompt you.
+
+
+If you desire asynchronous mail notification, which will print to your terminal
+
+regardless of what you are currently doing, you may make use of a "Receive
+
+Mail Hook" called "rcvtty".  To do this, create a file in your home directory
+
+called ".maildelivery".  In this file, put the line
+
+
+                 *  -  pipe  R  /usr/uci/lib/mh/rcvtty
+
+
+Then  each  time  new  mail  arrives,  you  will  receive  a  one-line  "scan" 
 listing
+
+of  the  mail  if  your  terminal  is  world-writable.    For  more  
information  on
+
+"maildelivery" files, type:
+
+
+                 %  man  5  maildelivery
+
+
+
+4.8         Saving  Drafts
+
+
+
+Normally  when  you  use  comp,  it  creates  the  message  being  composed  
in  a
+
+file  called  "draft"  in  your  MH  directory.   If  you  use  the  "quit"  
option  at
+
+the "What  now?"  prompt, this file will remain there.  You may later use the
+
+command
+
+
+                 %  comp  -use
+
+
+to resume composing the message.
+
+
+
+                                                           15
+
+
+
+
+If you begin composing a new message and there is already a "draft" 
file,_you___
+
+will  be  asked  for  the  disposition  of  this  file.  Typing  ?  
__return____ _will  give  you
+
+a list of the options at this point.  Normally you will either replace (delete)
+
+the old draft and begin a new one or use the old one.
+
+
+The -file switch to comp  may be used to specify the name of a draft other
+
+than "draft".  For example, one might type
+
+
+                 %  comp  -file  mary
+
+
+to begin composing a message maintained in the draft file "mary".  Typing
+
+
+                 %  comp  -file  mary  -use
+
+
+would cause comp  to resume composing this same draft after a "quit" com-
+
+mand to the "What  now?"  prompt.
+
+
+Very  advanced  users  of  MH  maintain  multiple  draft  files  in  a  draft  
folder.
+
+This  is  a  normal  folder  which  holds  all  your  drafts,  rather  than  
having  just
+
+one draft in your MH directory named "draft".  If you feel that you need to
+
+use  draft  folders,  you  should  consult  the  MH  User's  Manual  for  
additional
+
+information.
+
+
+
+                                                           16
diff --git a/docs/historical/mh6.pdf b/docs/historical/mh6.pdf
new file mode 100644
index 0000000..482ccc5
Binary files /dev/null and b/docs/historical/mh6.pdf differ
diff --git a/docs/historical/mh6.txt b/docs/historical/mh6.txt
new file mode 100644
index 0000000..46c0ca0
--- /dev/null
+++ b/docs/historical/mh6.txt
@@ -0,0 +1,1030 @@
+
+
+
+
+                                             Changes  to
+
+
+  The  Rand  MH  Message  Handling  System:
+
+
+                     MH  #6.5  for  4.3BSD  UNIX
+
+
+
+                                            Marshall  T.  Rose
+
+                   Northrop  Research  and  Technology  Center
+
+                                          One  Research  Park
+
+                           Palos  Verdes  Peninsula,  CA  90274
+
+
+
+                                               April  12,  1990
+
+
+
+                                                     Abstract
+
+              This  document  describes  the  user-visible  change  to  the  
UCI  ver-
+         sion of the Rand MH     system that were made from mh.5     to MH     
#6.5.
+         It  is  based  on  the  mh.6    changes  document,  but  has  been  
updated  to
+         accurately reflect the MH     distributed with 4.3bsd UNIX1 . This 
docu-
+         ment  does  not  describe  bug-fixes,  per  se,  or  internal  
changes,  unless
+         these activities resulted in a visible change for the MH     user.
+              This  document  is  meant  to  supplement,  not  supersede,  the 
 stan-
+         dard MH     User's manual[MRose85       ].
+              Comments concerning this documentation should be addressed to
+         the Internet mailbox address@hidden
+
+
+
+________________________________________________
+   T0his document (version  #2.10) was LaTEX   set April 12, 1990 with lplain 
v2.09-10/29/85.
+    1 UNIX is a trademark of AT&T Bell Laboratories.
+
+
+
+                                                           1
+
+
+
+
+Acknowledgements
+
+
+The MH     system described herein is based on the original Rand MH     system.
+
+It has been extensively developed (perhaps too much so) by Marshall T. Rose
+
+and  John  L.  Romine  at  the  University  of  California,  Irvine.  Einar  
A.  Stef-
+
+ferud,  Jerry  N.  Sweet,  and  Terry  P.  Domae  provided  numerous  
suggestions
+
+to improve the UCI version of MH    .  Of course, a large number of people have
+
+helped MH     along.  The list of "MH     immortals" is too long to list here. 
 How-
+
+ever, Van Jacobson deserves a special acknowledgement for his tireless work
+
+in improving the performance of MH    .  Some programs have been speeded-up
+
+by a factor of 10 or 20.  All of users of MH    , everywhere, owe a special 
thanks
+
+to Van.
+
+
+
+Disclaimer
+
+
+The Regents of the University of California wish to make it known that:
+
+
+         Although  each  program  has  been  tested  by  its  contributor,  no
+
+         warranty,  express  or  implied,  is  made  by  the  contributor  or  
the
+
+         University  of  California,  as  to  the  accuracy  and  functioning  
of
+
+         the  program  and  related  program  material,  nor  shall  the  fact 
 of
+
+         distribution  constitute  any  such  warranty,  and  no  
responsibility
+
+         is  assumed  by  the  contributor  or  the  University  of  
California  in
+
+         connection herewith.
+
+
+
+                                                           2
+
+
+
+
+Conventions
+
+
+In this document, certainaL TE X    -formatting conventions are adhered to:
+
+
+     1.  The  names  of  UNIX  commands,  such  as  comp    ,  are  presented  
in  text
+
+         italics.
+
+
+     2.  Arguments  to  programs,  such  as  `msgs',  are  presented  in  
typewriter
+
+         style and delimited by single-quotes.
+
+
+     3.  UNIX pathnames and envariables, such as
+
+
+                                   /usr/uci/             and          
$SIGNATURE              ;
+
+
+         are presented in slanted roman.
+
+
+     4.  Text presenting an example, such as
+
+
+
+                 comp  -editor  zz
+
+
+
+         is presented in typewriter  style.
+
+
+
+                                                           3
+
+
+
+
+General  Changes
+
+
+Unlike  the  changes  between  mh.4     and  mh.5   ,  a  large  number  of  
user-visible
+
+changes  have  been  made  in  mh.6   .  These  changes  have  been  in  the  
form  of
+
+bug  fixes  and  several  generalizations.  The  majority  of  these  will  
not  affect
+
+novice users.  In addition, mh.6     is a great deal faster than mh.5    :  
all programs
+
+have been speeded-up significantly, thanks to work done by Van Jacobson as
+
+part of the process of including mh.6     in the 4.3bsd UNIX distribution.
+
+      This document describes all user-visible changes to mh.5     from it's 
initial
+
+release to the intermediate release of MH     #6.5.
+
+
+
+System-5  Support
+
+
+In addition to support for bsd UNIX, V7 UNIX and Xenix2  variants of UNIX,
+
+MH     finally has support for the AT&T variant of UNIX, System 5.  Hopefully
+
+this will greatly expand the number of system which can run MH    .  
Ironically,
+
+it  appears  that  five  ports  of  earlier  versions  of  MH     (including  
mh.5   )  were
+
+done, but news of the work was not widespread.3
+
+
+
+Documentation
+
+
+Several  new  documents  have  been  included  in  the  mh.6     distribution: 
  The
+
+paper MH.5:  How to process 200 messages a day and still get some real work
+
+done  was  presented  at  the  1985  Summer  Usenix  Conference  and  
Exhibition
+
+in  Portland,  Orgeon.  Another  paper,  MH:  A  Multifarious  User  Agent,  
has
+
+been accepted for publication by Computer Networks.  Both describe MH    , the
+
+former from a more technical and somewhat humorous perspective, the latter
+
+from  a  more  serious  and  research-oriented  perspective.  In  addition,  a 
 third
+
+paper  has  been  included,  Design  of  the  TTI  Prototype  Trusted  Mail  
Agent,
+
+which  describes  a  so-called  "trusted"  mail  agent  built  on  top  of  MH 
  .   This
+
+paper  was  presented  at  the  Second  International  Symposium  on  Computer
+
+Message Systems in Washington, D.C. A fourth paper, MZnet:  Mail Service
+
+for  Personal  Micro-Computer  Systems,  is  also  included.  This  paper,  
which
+________________________________________________
+    2 Xenix is a trademark of Microsoft Corporation.
+    3 In fact, three groups in one large organization ported MH    
independently, each without
+
+knowledge of the others' work.
+
+
+
+                                                           4
+
+
+
+
+was  presented  at  the  First  International  Symposium  on  Computer  Message
+
+Systems in Nottingham, U.K., describes a CP/M4 -based version of MH    .
+
+      In  addition,  the  MH     tutorial,  The  Rand  MH  Message  Handling  
System:
+
+Tutorial,  and,  The  Rand  MH  Message  Handling  System:  The  UCI  BBoards
+
+Facility, have both been updated by Jerry N. Sweet.
+
+      For  MH     administrators  (PostMasters  and  the  like),  there's  an  
entirely
+
+new  document,  The  Rand  MH  Message  Handling  System:  Administrator's
+
+Guide.  It explains most of the "ins and outs" of maintaining an MH     system.
+
+      Finally, all of the manual entries and the MH     manual have had a 
thorough
+
+working  over.   The  documentation  is  expanded,  more  accurate,  and  more
+
+detailed.
+
+
+
+Help  Listings
+
+
+When  any  MH     command  is  invoked  with  the  `-help'  switch,  in  
addition  to
+
+listing  the  syntax  of  the  command  and  version  information,  the  MH    
 config-
+
+uration  options  will  be  listed.  MH     has  so  many  configuration  
options,  that
+
+when debugging problems, this information is invaluable.
+
+
+
+The  MH       Profile
+
+
+There are two new profile entries worth noting:  MH-Sequences tells MH     the
+
+name  of  the  file  to  record  public  sequences  in.   Users  of  vm  ,  a  
proprietary,
+
+visual  front-end  to  MH    ,  make  use  of  this  to  disable  the  public  
sequences
+
+feature of MH    .
+
+      The profile entry Unseen-Sequence names those sequences which should
+
+be defined as those messages recently incorporated by inc  .  The show     
program
+
+knows to remove messages from this sequence once it thinks they have been
+
+seen.  If  this  profile  entry  is  not  present,  or  is  empty,  then  no  
sequences  are
+
+defined.  Otherwise, for each name given, the sequence is first zero'd and then
+
+each  message  incorporated  is  added  to  the  sequence.   As  such,  this  
profile
+
+entry is rather analogous to the Previous-Sequence entry in the user's MH
+
+profile.
+
+      In  addition,  the  Alternate-Mailboxes  entry  in  the  profile  has  
been  ex-
+
+panded to support simple wild-carding.  Also, the default for this profile 
entry
+________________________________________________
+    4 CP/M is a trademark of Digital Research Corporation.
+
+
+
+                                                           5
+
+
+
+
+is  now  the  user's  mail-id  at  any  host.  This  change  was  made  since  
MH     can
+
+no longer reliably figure out what the user's real outgoing address looks like.
+
+      Finally, when the install-mh       program is automatically invoked by 
MH    , it
+
+won't prompt the user for information.  Instead, it notes that it's setting up
+
+the  default  environment.   In  addition,  the  MH     administrator  may  
set-up  a
+
+file called mh.profile       in the MH     library area which is consulted by 
install-mh
+
+when initializing the user's .mh__profile      .
+
+
+
+The  MH       Context
+
+
+The folder   , scan   , and show     programs have been modified to update the 
user's
+
+MH     context prior to writing to the user's terminal.  This allows the MH    
 user
+
+interrupt output to the terminal and still have the expected context.  This is
+
+especially useful to interrupt long scan     listings.  This change also 
introduces
+
+a subtle bug between show     and messages denoted by the Unseen-Sequence.
+
+See show    (1) for the details.
+
+
+
+Addresses  and  822  support
+
+
+MH     now fully supports the RFC-822 routing syntax for addresses (it used to
+
+recognize the syntax, but ignore the information present).  In addition, there
+
+are three major modes for support of non-822 addressing in MH    :
+
+
+      -  BERK
+
+         This  is  useful  on  sites  running  SendMail      .  It  doesn't  
support  full  822-
+
+         style  addressing,  in  favor  of  recognizing  such  formats  as  
ACSnet,  and
+
+         so on.  For sites that can't run in an 822-compliant environment, 
this is
+
+         the option to use (at the price of sacrificing some of the power of 
822-
+
+         style addressing).  This also drastically reduces the address 
formatting
+
+         facilities described below.
+
+
+      -  DUMB
+
+         Although not as liberal as BERK, the DUMB option is useful on sites
+
+         in  which  the  message  transport  system  conforms  to  the  822  
standard,
+
+         but wants to do all the defaulting itself.
+
+
+      -  BANG
+
+         From out in left field, the BANG option favors UUCP      -style 
addressing
+
+
+
+                                                           6
+
+
+
+
+         over  822-style  addressing.  Hopefully  when  all  the  UUCP      
sites  around
+
+         get  around  to  adopting  domain-style  addresses,  this  option  
won't  be
+
+         needed.
+
+
+      The ap   program (mentioned momentarily) and the ali  program both sup-
+
+port  a  `-normalize'  switch  indicate  if  addresses  should  be  resolved  
to  their
+
+"official" hostnames.
+
+
+
+New  Programs
+
+
+There  are  five  new  programs  available:  The  ap   program  is  the  MH    
 stand-
+
+alone address parser.  It's useful for printing address in various formats (and
+
+for  debugging  address  strings).   The  dp   program  is  similar,  but  
works  on
+
+dates instead of addresses.
+
+      The msgchk       program checks for new mail, possibly using the Post 
Office
+
+Protocol, POP, described below.
+
+      A  new  receive  mail  hook,  the  rcvstore      program,  which  was  
written  by
+
+Julian L. Onions is available.
+
+      Finally,  a  visual  front-end  to  msh    called  vmh     has  been  
included.   (This
+
+program is discussed in greater detail later on.)
+
+
+
+Message  Numbering
+
+
+MH     now  no  longer  restricts  the  number  of  messages  which  may  
reside  in  a
+
+folder (beyond that of system memory constraints).  This means that message
+
+numbers larger than 2000 are permissible.  Hopefully this will make life easier
+
+for people reading the network news using MH    .
+
+
+
+The  WhatNow  Shell
+
+
+In  mh.6   ,  there  is  now  the  concept  of  a  unified  What  now?   
processor  that
+
+the  four  composition  programs,  comp    ,  dist ,  forw   ,  and  repl   
all  invoke.   This
+
+permits  a  greater  flexibility  in  building  mail  applications  with  MH   
 .   As  a
+
+result, there's a new program, whatnow       , which acts as the default What  
now?
+
+program.  Consult the whatnow       (1) manual entry for all the details.  The 
only
+
+important user-visible change is the headers option went away, which wasn't
+
+used that much anyway.
+
+
+
+                                                           7
+
+
+
+
+      The  only  other  thing  worth  noting  is  that  unless  MH    has  
been  compiled
+
+with  the  UCI  option,  the  user's  $HOME/.signature               file  is  
not  consulted  for
+
+the user's personal name.
+
+
+
+Format  Strings
+
+
+A  general  format  string  facility  has  been  added  to  allow  MH     
users  to  tailor
+
+the output of certain commands.
+
+      The  inc ,  scan   ,  ap ,  and  dp   programs  all  consult  a  file  
containing  format
+
+strings.  Format strings, which look a lot like printf    (3) strings, give 
these MH
+
+commands precise instructions on how to format their output.
+
+      As  a  result,  the  inc   and  scan    programs  no  longer  have  the  
`-size',  `-
+
+nosize',  `-time',  `-notime',  `-numdate',  and  `-nonumdate'  switches.   
These
+
+switches  have  been  replaced  with  the  `-form formatfile'  switch  and  the
+
+`-format string'  switch.   The  former  directs  the  program  to  consult  
the
+
+named file for the format strings.  The latter directs the program to use the
+
+named  string  as  the  format.  To  get  the  behavior  of  the  old  `-time' 
 option,
+
+use the `-form scan.time' option.  Similarly, to get the effect of `-size', use
+
+`-form scan.size'.
+
+      A fun form to use is `-form scan.timely' with scan   .  Try it sometime.
+
+      The repl   command uses a file containing format files to indicate how 
the
+
+reply  draft  should  be  constructed.  Note  that  reply  templates  prior  
to  mh.6
+
+are incompatible with mh.5    .5  Don't worry though, it's quite easy to 
convert
+
+the templates by hand.  (Those clever enough to have written a reply template
+
+to begin with won't have any  problem.)
+
+      Similarly,  when  the  forw    program  is  constructing  a  digest,  it 
 uses  a  file
+
+containing format strings to indicate how to build the encapsulating draft.
+
+      Finally, you can use these facilities in mhl    as well.
+
+
+
+News
+
+
+The depreciated MH     news system (from mh.1    ) is now de-supported.  Use 
the
+
+"hoopy" BBoards facility instead.
+________________________________________________
+    5 In fact, reply templates between mh.6    and MH    #6.5 are imcompatible.
+
+
+
+                                                           8
+
+
+
+
+BBoards
+
+
+MH     maintainers take note:  the default home directory for the bboards login
+
+has  changed  from  /usr/bboards/           to  /usr/spool/bboards/            
  .   Use  the  bbhome
+
+directive  in  your  MH    configuration  file  to  set  it  back  to  the  
old  value  if  you
+
+wish.
+
+      In  addition,  the  aliases  field  for  a  BBoard  in  the  BBoards  
file  is  now
+
+deemed  useful  only  for  addressing,  not  for  user  input  to  bbc  .   
This  means
+
+when  giving  the  name  of  a  BBoard  to  bbc ,  only  the  official  name  
should  be
+
+used.
+
+      A  final  note  for  mailsystem  maintainers:   the  MMDF-II         
BBoards  chan-
+
+nel  and  the  SendMail       BBoards  mailer  have  been  modified  to  use  
the  stan-
+
+dard message encapsulation format when returning failed messages to the list
+
+maintainer.  This means that the failure notices that the maintainer receives
+
+can simply be burst   .
+
+
+
+New  Switches  in  bbc
+
+
+The bbc   program permits you to specify the mshproc to use on the command
+
+line by using the `-mshproc program' option.  There's also a `-rcfile file'
+
+option  which  does  "the  obvious  thing".   In  addition,  options  which  
aren't
+
+understood by bbc   are passed along to the mshproc.
+
+      In  addition,  the  following  commands  pass  any  unrecognized  
switches  on
+
+to the program that they invoke:  bbc  , next   , show    , prev   , and vmh   
 .
+
+
+
+Distributed  BBoards
+
+
+If both BBoards and POP (see the next section) are enabled, then distributed
+
+BBoards  can  be  supported  on  top  of  the  POP  service.  This  allows  
the  MH
+
+user  to  read  BBoards  on  a  server  machine  instead  of  the  local  host 
 (which
+
+saves  a  lot  of  wasted  disk  space  when  the  same  BBoards  are  
replicated  sev-
+
+eral  times  at  a  site  with  several  hosts).   See  the  Administrator's  
Guide  for
+
+information on how this can be made completely transparent to the MH     user.
+
+      If you have several machines at your site running 4.2bsd UNIX and con-
+
+nected by an Ethernet6  (or other high-speed LAN), you want  this software.
+________________________________________________
+    6 Ethernet is a trademark of the Xerox Corporation.
+
+
+
+                                                           9
+
+
+
+
+Visual  Front-End  to  msh
+
+
+A  simple  window  management  protocol  has  been  implemented  for  MH     
pro-
+
+grams  that  might  wish  to  act  as  a  back-end  to  a  sophisticated  
visual  front-
+
+end.
+
+      The  first  implementation  of  a  server  side  (front-end)  program  
is  vmh   ,
+
+which uses curses    (3) to maintain a split-screen interface.  Perhaps look 
for a
+
+mhtool      program for the SUN next!
+
+      The  msh    program  has  been  modified  to  speak  the  client  side  
(back-end)
+
+of  this  protocol,  if  so  directed.  At  present,  msh    is  the  only  
program  in  the
+
+MH     distribution which implements the client side of the window management
+
+protocol.
+
+
+
+Updates  in  msh
+
+
+Prior to quitting, the msh     command now asks if the packf    'd file you've 
been
+
+perusing  should  be  updated  if  you've  modified  it  and  the  file  is  
writable  by
+
+you.  The file can be modified by using burst   , rmm     , rmm     , or sortm 
    commands.
+
+The file can also be modified by using the refile   command without the `-link'
+
+option.  (Or  course,  the  `-link'  option  doesn't  actually  link  anything 
 to  the
+
+file.)
+
+
+
+Distributed  Mail
+
+
+MH     now  contains  a  powerful  facility  for  doing  distributed  mail  
(having  MH
+
+reside  on  a  host  different  than  the  message  transport  agent).   For  
general
+
+information,  consult  either  the  MH.5:  How  to  process  200  messages  a  
day
+
+and  still  get  some  real  work  done  paper,  or  the  MH:  A  Multifarious 
 User
+
+Agent  paper.   For  specific  information,  consult  the  Administrator's  
Guide.
+
+Here's a brief synopsis:
+
+      This  POP  facility  in  MH     is  based  on  a  modification  of  the  
ARPA  Post
+
+Office Protocol (POP). A POP subscriber  is a remote user, on a POP client
+
+host, that wishes to pick-up mail on a POP service  host.
+
+      There are two ways to administer POP:
+
+
+      -  Naive Mode
+
+         Each user-id in the passwd      (5) file is considered a POP 
subscriber.  No
+
+
+
+                                                           10
+
+
+
+
+         changes are required for the mailsystem on the POP service host.  How-
+
+         ever,  this  method  requires  that  each  POP  subscriber  have  an  
entry  in
+
+         the password file.  The POP server will fetch the user's mail from 
wher-
+
+         ever  maildrops  are  kept  on  the  POP  service  host.  This  means 
 that  if
+
+         maildrops  are  kept  in  the  user's  home  directory,  then  each  
POP  sub-
+
+         scriber must have a home directory.
+
+
+      -  Smart Mode
+
+         This  is  based  on  the  notion  that  the  list  of  POP  
subscribers  and  the
+
+         list  of  login  users  are  completely  separate  name  spaces.   A  
separate
+
+         database (similar to the BBoards       (5) file) is used to record 
information
+
+         about each POP subscriber.  Unfortunately, the local mailsystem must
+
+         be  changed  to  reflect  this.   This  requires  two  changes  (both 
 of  which
+
+         are simple):
+
+
+             1.  Aliasing
+
+                 The aliasing mechanism is augmented so that POP subscriber ad-
+
+                 dresses  are  diverted  to  a  special  delivery  mechanism.  
MH     comes
+
+                 with  a  program,  popaka    (8),  which  generates  the  
additional  infor-
+
+                 mation to be put in the mailsystem's alias file.
+
+             2.  Delivery
+
+                 A special POP delivery channel (for MMDF-II       ) or POP 
mailer (for
+
+                 SendMail      )  performs  the  actual  delivery  (mh.6     
supplies  both).  All
+
+                 it really does is just place the mail in the POP spool area.
+
+
+         Clever  mailsystem  people  will  note  that  the  POP  mechanism  is 
 really
+
+         a special case of the more general BBoards mechanism.
+
+
+These two different philosophies are not compatible on the same POP service
+
+host:  one or the other, but not both, may be run.
+
+      In  addition,  there  is  one  user-visible  difference,  which  the  
administrator
+
+controls  the  availability  of.   The  difference  is  whether  the  POP  
subscriber
+
+must supply a password to the POP server:
+
+
+      -  ARPA standard method
+
+         This  uses  the  standard  ARPA  technique  of  sending  a  username  
and  a
+
+         password.  The  appropriate  programs  (inc  ,  msgchk     ,  and  
possibly  bbc  )
+
+         will prompt the user for this information.
+
+
+
+                                                           11
+
+
+
+
+      -  UNIX remote method
+
+         This uses the Berkeley UNIX reserved port method for authentication.
+
+         This requires that the two or three mentioned above programs be setuid
+
+         to root.  (There are no known holes in any of these programs.)
+
+
+These  two  different  philosophies  are  compatible  on  the  same  POP  
service
+
+host:  to selectively disable RPOP for hosts which aren't trusted, either mod-
+
+ify the .rhosts     file in the case of POP subscribers being UNIX logins, or 
zero
+
+the  contents  of  network  address  field  of  the  pop  (5)  file  for  the  
desired  POP
+
+subscribers.
+
+      The  inc   command  also  has  two  other  switches  when  MH     is  
enabled  for
+
+POP: `-pack file' and `-nopack'.  Normally, inc   will use the POP to incor-
+
+porate mail from a POP service host into an MH     folder (+inbox).  However,
+
+there  are  some  misguided  individuals  who  prefer  to  msh    to  read  
their  mail-
+
+drop.  By  using  the  `-pack file'  option,  these  individuals  can  direct  
inc   to
+
+fetch  their  maildrop  from  the  POP  service  host  and  store  it  locally 
 in  the
+
+named file.  As expected, inc   will treat the local file as a maildrop, 
performing
+
+the  appropriate  locking  protocols.  And,  if  the  file  doesn't  exist,  
the  user  is
+
+now asked for confirmation.
+
+
+
+Rcvmail  hooks
+
+
+In order to offer users of MH     increased rcvmail hook functionality, the 
slocal
+
+program has been upgraded to support the semantics of the MMDF-II         mail-
+
+delivery  mechanism.   This  means  that  users  of  mh.6     can  maintain  
identi-
+
+cal  .maildelivery         files  regardless  of  the  underlying  transport  
system.    See
+
+mhook      (1) for all the details.
+
+
+
+Change  in  rcvdist
+
+
+The  rcvdist    rcvmail  hook  now  uses  the  MH     formatting  facility  
when  redis-
+
+tributing a message.
+
+
+
+Field  change  in  rcvpack
+
+
+The rcvpack      rcvmail hook now adds the field name Delivery-Date: instead
+
+of Cron-Date: to messages it pack    s.
+
+
+
+                                                           12
+
+
+
+
+GNU  Emacs  Support
+
+
+James  Larus'  mh-e     macro  package  for  GNU  Emacs  (version  17)  is  
included
+
+in the distribution.  When loaded in Emacs, this provides a handy front-end.
+
+
+
+Other  Changes
+
+
+Here's the miscellany:
+
+
+
+Continuation  Lines
+
+
+Alias files used by MH    , display templates used by mhl   , and format files 
used
+
+by  forw  ,  repl ,  and  scan    all  support  a  standard  continuation  
line  syntax.  To
+
+continue  a  line  in  one  of  these  files,  simply  end  the  line  with  
the  backslash
+
+character  (`n').   All  the  other  files  used  by  MH     are  in  
822-format,  so  the
+
+822-continuation mechanism is used.7
+
+
+
+Default  Date  Format
+
+
+MH      now  uses  numeric  timezones  instead  of  locally-meaningful  alpha  
time-
+
+zones  when  generating  mail.   This  change  was  made  to  encourage  the  
use
+
+of  unambiguous,  globally-meaningful  timezone  strings.   A  local  
configura-
+
+tion option can disable this correct behavior.  All of the mhl    templates 
have
+
+been  modified  to  use  locally-meaningful  alpha  timezones  when  displaying
+
+messages.
+
+
+
+New  switch  in  ali
+
+
+The ali  command now has a `-noalias' switch to prevent system-wide aliases
+
+from being interpreted.
+
+
+
+Modifications  to  show
+
+
+The `-format', `-noformat', `-pr', and `-nopr' options to show     have gone 
away
+
+in favor of a more general mechanism.  The `-showproc program' option tells
+________________________________________________
+    7 Looking back, it would have been best had all files in MH    used the 
822-format.
+
+
+
+                                                           13
+
+
+
+
+show      (or  next    or  prev   )  to  use  the  named  program  as  the  
showproc.   The
+
+`-noshowproc' option tells show    , et.  al., to use the cat  (1) program 
instead of
+
+a showproc.  As a result, the profile entry prproc is no longer used.
+
+
+
+Switch  change  in  inc
+
+
+The  `-ms ms-file'  switch  in  inc   has  been  changed  to  `-file name'  to 
 be
+
+more consistent.
+
+
+
+Front-End  to  mhl
+
+
+When  outputting  to  a  terminal,  the  mhl    program  now  runs  the  
program
+
+denoted  by  the  profile  entry  moreproc.    If  this  entry  is  not  
present,  the
+
+default  is  the  UCB  more     program.   If  the  entry  is  non-empty,  
then  that
+
+program is spliced between mhl    and the user's terminal.  The author uses the
+
+less   program as his moreproc.
+
+      Of  course,  if  mhl    isn't  outputting  to  a  terminal,  then  
moreproc  is  not
+
+invoked.
+
+      Finally, to aid in the construction of replies, a prefix string may be 
speci-
+
+fied for the body component of the message being replied-to.  Simply use the
+
+component= construct in mhl    for body:.
+
+
+
+Confirmation  in  packf
+
+
+If the file specified by the `-file name' switch doesn't exist, the user is now
+
+asked for confirmation.
+
+
+
+Complex  Expressions  in  pick
+
+
+The pick    command now handles complex boolean expressions.
+
+
+
+Defaults  change  in  prompter  and  burst
+
+
+The  `-prepend'  option  is  now  the  default  in  prompter      .   The  
`-noinplace'
+
+option is now the default in burst   .
+
+
+
+                                                           14
+
+
+
+
+Fcc:s  and  post
+
+
+If multiple Fcc:s for a message are specified during posting, post   will try 
much
+
+harder to preserve links.
+
+
+
+Interactive  option  in  rmf
+
+
+The  rmf    program  has  been  changed  to  support  an  `-interactive'  
switch.
+
+If  given,  then  the  user  is  prompted  regarding  whether  the  folder  
should  be
+
+deleted.  If  the  folder  to  be  removed  is  not  given  by  the  user,  
this  switch  is
+
+defaulted to on.
+
+
+
+Trusted  Mail  Interface
+
+
+MH     now has an interface for so-called "trusted mail" applications.  
Although
+
+the modifications to MH     to support this are in the public domain, the 
actual
+
+library that MH     uses is not.  Contact Professor David J. Farber 
(address@hidden)
+
+for more information.
+
+
+
+References
+
+
+[MRose85]          Marshall  T.  Rose  and  John  L.  Romine.  The  Rand  MH  
Message
+
+                   Handling  System:   User's  Manual.   Department  of  
Information
+
+                   and Computer Science, University of California, Irvine, 
mh.6     edi-
+
+                   tion, November, 1985.  UCI Version.
+
+
+
+                                                           15
diff --git a/docs/historical/multifarious.pdf b/docs/historical/multifarious.pdf
new file mode 100644
index 0000000..25d07ed
Binary files /dev/null and b/docs/historical/multifarious.pdf differ
diff --git a/docs/historical/multifarious.txt b/docs/historical/multifarious.txt
new file mode 100644
index 0000000..195c2aa
--- /dev/null
+++ b/docs/historical/multifarious.txt
@@ -0,0 +1,2284 @@
+
+
+
+
+                               MH:  A  Multifarious  User  Agent
+
+
+                                              Marshall T. Rose
+
+                                 Member, Research Technical Staff
+
+                          Northrop Research and Technology Centery
+
+
+
+                                             Einar A. Stefferud
+
+                         President, Network Management Associatesz
+
+                    and Visiting Lecturer, University of California, Irvine
+
+
+
+                                               Jerry N. Sweet
+
+                                        Member, Technical Staff
+
+                                        Local Network Systems./
+
+
+
+                                                  Abstract
+
+
+The UCI version of the Rand Message Handling System (MH) is discussed, 
including
+
+important  extensions.  MH  is  a  powerful  user  agent  which  operates  in  
the  ARPA
+
+Internet  and  UUCP  environments.   In  addition  to  the  basic  functions  
provided
+
+by a user agent,  such as reading and sending mail,  MH has several 
distinguishing
+
+characteristics  which  give  the  user  additional  message  handling  
capabilities.   In
+
+particular,  MH  provides  mechanisms  for  organizing  messages,  tailoring  
its  own
+
+behavior, and extending its functions.
+
+
+This  document  describes  MH  from  several  perspectives.   Particular  
emphasis  is
+
+given to:  the MH user environment, advanced features of MH which have proven 
to
+
+be particularly useful for sophisticated users of electronic mail,  MH's 
potential as
+
+a record manager, and MH as a part of a distributed mail environment.  Although
+
+MH as been widely used since its creation in 1979, a discussion of its 
perspectives
+
+and functionality has not appeared in the open literature.
+
+
+________________________________________
+y One Research Park, Palos Verdes Peninsula, CA 90274. Telephone: 213/377-4811.
+
+Computer mail: MRose% address@hidden
+z 17301 Drey Lane, Huntington Beach, CA 92647. Telephone: 714/842-3711.
+
+Computer mail: address@hidden
+./ 130 McCormick Avenue, Suite 102, Costa Mesa, CA 92626. Telephone: 
714/754-6631.
+
+Computer mail: address@hidden
+
+
+                               MH:  A  Multifarious  User  Agent
+
+
+
+Introduction
+
+       The UCI version of the Rand Message Handling System, MH, is a user 
agent.
+
+In the interests of brevity, we dispense with the usual definition of terms, 
refer the
+
+reader to Figure 1, and simply note that MH is not responsible for delivering 
mail.
+
+Rather,  it interacts with a message  transport  system,  MTS, at two 
interfaces:  it
+
+sends mail by placing it through a posting slot to the MTS, and it receives 
mail by
+
+retrieving it through a delivery slot from the MTS. Besides these two 
MTS-specific
+
+activities, the tasks which MH addresses are:  the composition of messages 
(which
+
+may,  or  may  not,  be  in  reference  to  previously  sent  messages),  the  
reading  of
+
+messages, and the organization of messages.
+
+
+       MH  was  originally  developed  by  the  Rand  Corporation,  and  
initially  was
+
+proprietary  software.   The  Department  of  Information  and  Computer  
Science
+
+at  University  of  California,  Irvine,  shortly  after  joining  the  
Computer  Science
+
+Network  (CSnet),  acquired  a  copy  of  MH,  and  began  additional  
development  of
+
+the software.  Since that time, the Rand Corporation has declared MH to be in 
the
+
+public domain, and the UCI version of MH has passed through four major 
releases.
+
+
+       Much credit must be given to the initial designers and implementors of 
MH:
+
+Bruce Borden, Stockton Gaines, and Norman Shapiro.  Although MH has suffered
+
+significant  development  at  UCI  since  Rand's  initial  release,  the  
fundamental
+
+concepts  of  MH's  environs  have  remained  nearly  unchanged.   In  
addition,  the
+
+current maintainers of MH gratefully acknowledge the comments of the many sites
+
+which have run various releases of MH in the past.
+
+
+       MH  runs  on  different  versions  of  the  UNIX1  operating  system  
(such  as
+
+4.2bsd  UNIX  and  various  flavors  of  v7  UNIX).  In  addition,  MH  
supports  four
+
+different  MTS  interfaces:   SendMail[EAllm83],  the  standard  mailer  for  
4.2bsd
+
+systems;  MMDF[DCroc79]  and  MMDF-II[DKing84],  the  Multi-Channel  Memo
+
+Distribution  Facility  developed  by  the  University  of  Delaware  which  
forms  the
+
+software-backbone  for  CSnet[DCome83]  mail  relays  service;  SMTP,  the  
ARPA
+
+Internet Simple Mail Transfer Protocol[SMTP]; and, a stand-alone delivery 
system.
+
+
+       The organization of this paper is straight-forward, given space 
considerations.
+
+Initially, the MH philosophy of mail handling is presented, along with a 
description
+
+of  the  environment  which  the  MH  user  is  given  to  process  mail.  
Following  this,
+
+certain advanced features of MH are discussed in more detail.  In particular,  
the
+
+
+________________________________________
+1  UNIX is a trademark of AT&T Bell Laboratories.
+
+
+
+ Copyright fcl1985, North Holland Publishing Company                           
                                     1
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 2
+______________________________________________________________________________________________________________________
+
+
+
+                UA                                                             
                   UA
+
+
+
+   POSTING                                                                     
                       RECEIPT
+
+
+
+                                                        MTS
+
+
+
+               MTA                  MTA                  : : :                
: : :              MTA
+
+                                                              RELAYING
+
+
+
+                                                    Figure 1
+
+___________________________________________________MTS_model__________________________________________________________
+
+
+
+notion of a draft folder is introduced, which permits the handling of multiple 
drafts
+
+during composition.  In addition, message selection facilities are described.  
Next,
+
+two  different  aspects  of  MH's  power  as  a  software  system  are  
discussed:  record
+
+handling, in which MH facilitates record processing systems; and, how MH can be
+
+employed in a distributed mail environment.  This latter section raises 
questions
+
+as  to  the  location  of  the  posting  and  delivery  slots,  along  with  
authentication
+
+mechanisms.  Finally, we conclude by discussing areas of future development 
which
+
+MH may endure.
+
+
+       Although  familiarity  with  MH  is  not  assumed  on  the  part  of  
the  reader,
+
+some knowledge of the UNIX operating system is useful.  Appendix A gives a 
short
+
+synopsis of the MH commands.
+
+
+
+The MH Philosophy
+
+       Although MH has many traits which tend to differ it from other user 
agents,
+
+the design aspect which fundamentally influences the interface between MH and
+
+the user is that it is composed of many small programs instead of one very 
large
+
+one.   This  architecture  gives  MH  much  of  its  strength,  since  
intermediate  and
+
+advanced users are able to take advantage of this flexibility.
+
+
+       The key to this flexibility is that the UNIX shell (usually the C shell 
or the
+
+Bourne shell), is the user's interface to MH. This means that when handling 
mail,
+
+the entire power of the shell is at the user's disposal in addition to the 
facilities
+
+which  MH  provides.  Hence,  the  user  may  intersperse  mail  handling  
commands
+
+with other commands in an arbitrary fashion, making use of command handling
+
+capabilities that the user's shell provides.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 3
+
+
+       Furthermore,  rather than storing messages in a complicated data 
structure
+
+within a monolithic file, in MH, each message is a UNIX file, and each folder 
(an
+
+object which holds groups of messages) is a UNIX directory.  That is, the 
directory
+
+and  file  structure  of  UNIX  is  used  directly.  As  a  result,  any  UNIX 
 file-handling
+
+command can be applied to any message.
+
+
+       To the novice,  this may not make much sense or may not seem important.
+
+From three years of observation,  we have seen that as users of MH have become
+
+more  experienced  they  have  found  this  capability  to  be  quite  
attractive.   In
+
+addition,  this  approach  is  often  quite  pleasing  to  system  
implementors,  because
+
+it minimizes the amount of coding to be performed and, given a modular design,
+
+changes to the software system can be maintained easily.  Our empirical 
findings
+
+confirm our theoretical expectations regarding the MH architecture.
+
+
+       Having described how MH fits into the UNIX environment,  we now discuss
+
+the mail handling environment which is available to the MH user.
+
+
+The MH Environs
+
+       MH  provides  a  complementary  environment  to  the  user's  shell.  
While  the
+
+shell maintains a context related to the user's focus in the file system (a 
current
+
+working  directory ), mail handling is performed in a separate mail folder 
context.
+
+Operations  on  mail  can  therefore  be  performed  entirely  without  regard 
 to  the
+
+current file system context, although MH does not prevent the user from making
+
+use of that context.  Certain mail handling functions do make use of 
information
+
+maintained by the shell.  For instance, by setting certain shell parameters, 
called
+
+environment variables, alternate mail handling contexts can be selected.
+
+
+       MH conventions often have direct analogs to shell or file system 
conventions.
+
+The shell has a current working directory;  MH has a current mail folder.  When
+
+the user begins a session on the system,  the user's "home directory" is the 
base
+
+context; MH's default base area, the Mail directory, is found under the user's 
home
+
+directory.  The user's default shell parameters are set upon beginning a new 
session
+
+from a startup profile (called .profile   for sh users or .cshrc   for csh 
users); the default
+
+parameters for MH commands are taken from a file called .mh_profile      in 
the user's
+
+home directory.  The shell has an environment ; MH has a context     file.  
Each of the
+
+user's directories has files; each of the user's MH folders has messages.
+
+
+       These parallels have a basis not only in MH's high level mail handling 
model,
+
+but also in the way low level shell and file system conventions have been 
abstracted
+
+to implement MH conventions.  Directories are folders; files are messages.  
The Mail
+
+directory forms the root of a virtual file subsystem within which the user 
operates
+
+on mail without disturbing files outside this mail handling domain.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 4
+______________________________________________________________________________________________________________________
+
+
+
+        $HOME/      (user's home directory)
+
+
+
+    .mh_profile                           Mail
+
+
+
+      context             inbox/           mhl.format          replcomps       
      drafts/            chron/
+
+
+
+                               1      2     3                               1
+            sequences                                                          
       yr.1984/         yr.1985/
+
+
+
+                                                    Figure 2
+
+                                             MH File Subsystem
+
+__________________________________________(directories_are_shaded)____________________________________________________
+
+
+
+The MH Profile
+
+       The  .mh_profile      contains  plaintext  that  describes  the  user's 
 default  mail
+
+handling parameters.  An example of an elaborated profile is shown in Figure 3.
+
+
+       Each line in the profile consists of an MH parameter name terminated 
with
+
+a colon (`:')  followed by parameter values.  In this example, "global" 
parameters
+
+are listed in the first few lines, with program-specific parameters following. 
 Each
+
+MH program examines global parameters as well as any parameter with the same
+
+name by which the program was invoked.  For example, the comp program, which
+
+is used to compose new messages to be sent, examines the entries:
+
+
+
+             Path___:  The path parameter specifies the name of the MH root 
directory.
+
+                       This is normally named Mail.
+
+
+           Editor____: The  editor  parameter  specifies  which  text  editor  
is  first  invoked
+
+                       to create the header information and body of a message 
draft.  In
+
+                       most cases, this editor is the MH default editor, 
prompter.
+
+
+   Draft-Folder______: This parameter specifies a folder within which new 
message drafts
+
+                       are  to  be  created.  The  draft  folder  mechanism  
is  an  advanced
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 5
+______________________________________________________________________________________________________________________
+
+Path:  Mail
+Editor:  prompter
+prompter-next:  emacs
+Folder-Protect:  700
+Msg-Protect:  600
+Previous-Sequence:  pseq
+Alternate-Mailboxes:  address@hidden,  address@hidden
+Draft-Folder:  drafts
+Sequence-Negation:  not
+bbc:         -quiet
+bboards:   system  mh-workers  sf-lovers  whimsey
+comp:       -form  mycomponents
+dist:       -annotate  -inplace
+folder:     -noheader
+forw:       -annotate  -inplace  -format
+mhl:         -noclear
+next:       -noheader
+prev:       -noheader
+prompter:  -prepend
+repl:       -annotate  -inplace  -cc  me
+send:       -format  -msgid
+scan:       -noheader  -time
+show:       -noheader  -format
+showproc:  mhl
+
+
+                                                    Figure 3
+
+___________________________________________Elaborated_MH_Profile______________________________________________________
+
+
+
+                       feature of MH that is given separate treatment in a 
later segment
+
+                       of this paper.
+
+
+             comp____: The  program-specific  parameter  examined  by  comp  
lists  user-
+
+                       default options.
+
+
+
+Other programs invoked by comp (e.g.  prompter and send ) would examine their
+
+own  profile  entries  as  well.  MH  programs  have  reasonable  compiled-in  
defaults
+
+and also permit options to be specified on the shell command line with which 
the
+
+programs are invoked.  The order of override precedence is:  command line 
options
+
+first, .mh_profile      options second, and compiled-in defaults last.
+
+
+       Each program option is prefixed by a dash (`-') following the UNIX 
convention.
+
+Unlike most UNIX-style options, however, the options are words rather than 
single
+
+letters.   An  option  may  be  abbreviated  to  an  unambiguous  prefix.   
Each  MH
+
+program  has  a  `-help'      option  that  displays  a  brief  summary  of  
the  program's
+
+available options.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 6
+
+
+Folders and Messages
+
+       In a typical paper-oriented office, new correspondence arrives and is 
stacked
+
+in an "in box", while outgoing correspondence is placed in an "out box".  
Processed
+
+material  is  stored  in  appropriately  labelled  folders  and  filed  away  
for  future
+
+reference.  This state of affairs is modelled in MH with folders and messages, 
which
+
+are simply text files (one message per file) stored under the folder 
directories.  Most
+
+of the user's folders are kept under the Mail directory.
+
+
+       A  folder  is  given  an  alphanumeric  name  permissible  within  the  
UNIX  file
+
+system structure, and each message stored therein is given a numeric name in 
the
+
+range  1..1999.  The  upper  bound  on  message  numbers  was  selected  for  
efficient
+
+access to an internal representation,  an array of bits (a "bit set"),  with 
each bit
+
+indicating the presence or absence of a message with a number in the range 
1..1999.
+
+This internal representation also restricts the order of multiple message 
reference
+
+to  an  ascending  numerical  sequence.   Other  representations  have  been  
studied
+
+(e.g., an unsorted sparse array of integers), but have been rejected for 
reasons of
+
+efficiency.  Folders may contain subfolders, corresponding to UNIX 
tree-structured
+
+directories.  For  the  sake  of  completeness,  it  might  be  said  that  
"sub-messages"
+
+exist insofar as message "digests", which nest messages inside other messages, 
are
+
+supported by certain advanced MH functions.
+
+
+       The current working folder is the default folder selected for almost 
all MH
+
+commands.   To  select  explicitly  a  folder  for  mail  handling  commands  
entails
+
+specifying the name of the folder, prefixing the name with a plus-symbol 
(`+').  An
+
+example is:
+
+
+           refile 1 2 3 +chron/yr.1984
+
+
+This command re-files the selected messages (1 ,  2,  and 3  here) from the 
current
+
+working folder to a subfolder under the folder chron     named yr.1984    .  
To see the
+
+folder/subfolder relationship, refer to Figure 2.
+
+
+       The plus-symbol notation is specific to those folders immediately 
subordinate
+
+to the Mail directory.  This is analogous to "absolute pathnames" in UNIX_those
+
+files whose positions in the file system hierarchy are given starting with the 
system
+
+root, names prefixed with the slash character (`/').  To specify folders 
subordinate to
+
+the current working folder, an at-sign (`@') is substituted for (`+').  It is 
permitted
+
+to use UNIX dot notation to specify parent folders.  Referring to Figure 2,  
if the
+
+current working folder were ``+chron/yr.1985''             , then the command
+
+
+           folder @../yr.1984
+
+
+selects  the  subfolder  yr.1984    in  the  parent  directory  chron  ,  as  
the  new  current
+
+working folder.  While the current working folder is normally the default, it 
may
+
+be specified explicitly as address@hidden''     .
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 7
+______________________________________________________________________________________________________________________
+
+To:  <reply-to_from>
+cc:  <?to_cc_me><to>,<cc>,<me>
+Subject:  <?subject>Re:  <subject>
+In-reply-to:  <?date><?message-id>Your  message  of  <date>.
+       <message-id>
+In-reply-to:  <?date><!message-id>Your  message  of  <date>.
+Fcc:  <?fcc><fcc>
+--------
+
+
+                                                    Figure 4
+
+_______________________________________Elaborated_Reply_Template______________________________________________________
+
+
+
+The Context File
+
+       The .mh_profile      contains static information about the user's 
preferences.  A
+
+context    file,  contained  in  the  Mail  directory,  contains  the  current 
 mail  handling
+
+environment information, which changes as different folders, messages, and 
named
+
+message lists (called message sequences ) are selected, created, and updated.  
This
+
+information  is  retained  between  invocations  of  MH  commands,  and  is  
preserved
+
+across system sessions.
+
+
+Templates
+
+       The  message  draft  composition  functions  (comp,  repl,  forw,  and  
dist )  use
+
+certain default header formats, which may be changed by the user through the 
use
+
+of message templates.  The exact format of a template may vary among commands.
+
+An  example  of  an  elaborated  template  for  the  reply  command  repl  is  
shown  in
+
+Figure 4.
+
+
+       This template specifies how the automatically-generated header for a 
draft
+
+message in reply to a source message is to be formatted.  The syntax is 
capable of
+
+directing output of header lines based on the presence or absence of other 
header
+
+lines in the source message.
+
+
+       Other kinds of templates are used to specify the display formats of 
messages,
+
+or to specify the way that messages are to be included in other messages.  
This is
+
+similar to the functionality provided by BBN Hermes[HERMES], another powerful
+
+mail handling system for Tops202  based systems.
+
+
+Explaining All This to New Users
+
+       There  do  exist  people  who  do  not  like  MH.3  The  emerging  
pattern  of
+
+complaints from such people indicates that MH accentuates their perceptions of
+
+the deficiencies of UNIX, to wit, lack of interactivity and lack of easily 
found help
+
+facilities.  Also,  some  feel  that  the  proximity  of  the  mail  handling  
environment
+
+to the operating system is a distraction,  rather than an asset.  There have 
been
+
+________________________________________
+2  Tops20 is a trademark of Digital Equipment Corporation.
+3  At UCI, these people are reported to be weeded out at an early stage and 
quietly taken to the
+
+Ministry of Love to be made uncrimethinkful.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 8
+
+
+some attempts to make MH more accessible to users who prefer menu-oriented or
+
+monolithic mail system interfaces.4
+
+
+       In  truth,  users  new  to  UNIX  do  not  always  acclimate  to  MH  
easily.   The
+
+command  set  is  undistinguishably  mixed  in  with  all  other  UNIX  
utilities,  and  it
+
+is  not  easy,  without  aid  of  a  manual,  to  pick  out  the  necessary  
commands.  MH
+
+does not provide any "hand-holding" to guide the user through a minimally 
useful
+
+command subset.
+
+
+       Another  problem  is  that  the  initial  default  user  profile  is  
too  often  sparse,
+
+containing only a ``Path:''        parameter.  MH commands will perform 
adequately
+
+without specific information in the profile,  so new users often neglect 
optionally
+
+useful  MH  capabilities,  eventually  becoming  frustrated  with  the  
limited  default
+
+capabilities,  yet  unable  to  determine  without  researching  through  the  
user's
+
+manual, the necessary options that would solve their problems.
+
+
+       The currently available means for learning how to use MH are:
+
+
+
+                    -  One-on-one tutoring by knowledgeable MH users, which 
has so far
+
+                       shown the best results with new users.
+
+
+                    -  Consulting  the  MH  Tutorial [MRose84b],  or  the  MH  
User's
+
+                       Manual [MRose85a].
+
+
+                    -  Using the msh ("MH shell") program as a training shell 
to read
+
+                       bulletin boards.  The msh command is an interactive 
program that
+
+                       provides some help messages and can list available MH 
commands.
+
+
+
+No  on-line  tutorial  materials  are  presently  distributed  with  the  mh.5 
 system,
+
+although  there  are  some  plans  in  the  works  to  provide  a  program  to 
 help  with
+
+setting  up  the  user  profile  that  would  also  provide  operational  tips 
 for  MH  and
+
+UNIX.
+
+
+       It should be noted that these perceived defects of MH do not affect its 
utility
+
+any  more  than  analogous  problems  with  any  operating  system  will  
diminish  its
+
+actual  capabilities.  Users  may  quarrel  with  the  means  chosen  for  
orchestrating
+
+MH, but the fact remains that MH is a very useful set of mail handling tools 
that
+
+is  flexible,  infinitely  interoperable  with  other  UNIX  text  handling  
tools,  and  yet
+
+simple enough for new users to grasp once they are given the proper start.  The
+
+fact that better tutorial materials and training do not exist only means that 
some
+
+further work needs to be done in the area of user-education.
+
+
+
+________________________________________
+4  For  example,  mhe  from  Brian  Reid  of  Stanford  University  and  emh  
from  Marshall  Rose  are
+
+instances of macro packages for James Gosling's EMACS extensible editor, while 
the hm program
+from Jim Guyton of the Rand Corporation is a monolithic MH interface.  As of 
this writing, none
+of these programs is documented in the literature.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                                 9
+
+
+A Few Advanced Features
+
+       We now consider certain advanced features in MH. These features have 
been
+
+chosen to demonstrate some useful capabilities available to the MH user.  It 
should
+
+be noted that many capabilities of MH, such as shell scripts for 
extensibility, mail
+
+delivery hooks, the personal aliasing facility, and so forth, are not 
described here
+
+for lack of space.
+
+
+Draft Folders
+
+       The draft folder facility provides a method by which several message 
drafts can
+
+be simultaneously composed and maintained until sent.  The rationale for this 
is that
+
+partially composed message drafts,  perhaps elaborate sets of separate 
messages,
+
+can be incrementally completed, while a folder provides a consistent 
organization
+
+for drafts in progress.  This is comparable to similar situations in the 
"paper world"
+
+where contracts, business correspondence, and other communications, rather than
+
+being  created  serially  with  each  posted  in  turn  before  composing  the 
 next,  are
+
+usually left in various stages of completion before they are eventually mailed.
+
+
+       The ``Draft-Folder:''             parameter value in the MH profile is 
used to specify
+
+a default draft folder, where each draft is given a number and an "artificial" 
date
+
+stamp.  Provided that the proper header fields have been completed, a scan 
listing
+
+of  the  draft  folder  provides  a  summary  of  each  draft  in  progress:  
to  whom  the
+
+message  is  to  be  sent,  the  subject,  the  date  of  the  draft's  
initial  creation  and
+
+optionally, the current size of the draft in terms of characters.  Experienced 
users
+
+of MH may often keep as many as five to ten unfinished drafts in their draft 
folder.
+
+"Draft clutter" can be remedied easily with the rmm command.
+
+
+Message Selection
+
+       MH commands accept message sequence specifications to specify which 
`msg'
+
+or `msgs'      are to be operated upon.  Here are some examples:
+
+
+           scan 1 3 5 19 185
+
+
+to get a scan listing of messages 1, 3, 5, 19 and 185.
+
+
+           scan pseq
+
+
+to get a scan listing of whatever message sequence was given to the previous MH
+
+command (in this case 1, 3, 5, 19, and 185).
+
+
+           show first last
+
+
+to  get  a  display  of  the  first  and  last  messages  in  the  folder.  
The  MH  sequences
+
+named ``first''       and ``last''      are system defined pseudo sequences 
which act like
+
+explicit sequences when given to MH commands.  Others are ``cur''     , 
``next''      ,
+
+``prev''     ,  and  ``all''      which  respectively  specify  the  "current" 
 message,  the
+
+"next"  after  cur,  the  "previous"  message  before  cur,  or  "all"  
messages  in  the
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               10
+
+
+current-folder.  The  scan  assumes  ``all''      while  show  assumes  
``cur''    ,  unless
+
+overridden  on  the  command  line.  Over-ride  precedence  is:  command-line  
first,
+
+.mh_profile     second, and compiled-in default last.
+
+
+       Users can define additional sequences for similar use, but must avoid 
using
+
+reserved names.  A few optional sequence names have been preempted by MH, such
+
+as  ``pseq''       to  mean  the  "sequence  used  by  the  previous  MH  
command,"  and
+
+``unseen''        to mean the "messages not yet seen by the user."  Sometimes 
these
+
+preempted names can be changed by resetting them in the user's MH profile, but
+
+these facilities are beyond the scope of this discussion.
+
+
+       The mark command can be used to set the values for user-defined 
sequences:
+
+
+           mark 1 3 5 -seq zzz
+
+           mark 4 5 9 -seq zzz -nozero
+
+
+will create a user-sequence named ``zzz''      and put the sequence ``1  3  
5''      in it.
+
+The mark command assumes that any prior content in an existing user-sequence
+
+should  be  "zeroed"  before  the  new  sequence  value  is  recorded.   This  
can  be
+
+prevented with a `-nozero'        switch on the command line,  to add ``4  5  
9''      to
+
+the original ``1  3  5''      to yield ``1  3  4  5  9''     .
+
+
+           mark pseq zzz -seq zzznew
+
+
+will create a new sequence named ``zzznew''         and set its value to the 
combined
+
+(inclusive or) of the existing user-sequences in ``pseq''       and ``zzz''    
  for its value.
+
+
+       Another more powerful way to set the values of a user-sequence is with 
the
+
+pick command, which provides full string search capabilities:
+
+
+           pick -from mrose -seq yyy
+
+           pick -from mrose -seq yyy -list
+
+
+will  search  though  all  the  ``From:''       fields  in  the  current  
folder  for  the  string
+
+``mrose''       and  place  the  list  of  "hits"  in  the  sequence  named  
``yyy''     .   The
+
+`-list'      switch  will  cause  the  resulting  list  to  also  be  
displayed  on  the  user's
+
+terminal.  If no `-seq name'         switch is given,  pick will assume 
`-list'       and will
+
+simply display the resulting list of hits on the user's terminal.
+
+
+       This `-list'       behavior of pick allows users to take advantage of 
the UNIX
+
+backquoting facility to embed searches in other MH commands.
+
+
+           scan `pick -from mrose`
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               11
+
+
+will  produce  a  scan  listing  of  `-from mrose'          hits  because  the 
 UNIX  shell  will
+
+spawn a process to execute the ``pick -from mrose''                segment and 
return the
+
+`-list'      results as the message sequence to be scanned.
+
+
+           mark pseq -seq zzz
+
+
+could then be used to capture the "previous sequence" in zzz for later use.
+
+
+       One  last  facility  should  be  mentioned  here.  It  is  also  
possible  to  negate  a
+
+sequence to specify a new sequence.  The default negation string is ``not''    
 .
+
+
+           scan notzzz
+
+           mark notzzz -seq zzznot
+
+
+will give the user a scan listing of all the messages in the current folder 
that are
+
+not  included  in  the  sequence  ``zzz''    .  The  mark  example  will  of  
course  record
+
+the  negation  of  zzz  in  zzznot.  It  is  a  bad  idea  to  use  the  
string  ``not''      as  the
+
+beginning of any user-sequence name, if ``not''      is defined as the 
negation string.
+
+(Users can choose a different negation string.)
+
+
+       From this discussion,  it should be clear that MH provides a uniform 
set of
+
+ways  to  capture  and  use  sequences  to  augment  the  user's  short-  and  
long-term
+
+memory  and  to  manipulate  lists  of  interesting  messages.   
User-sequences  are
+
+normally stored as RFC822 labeled text lines in a file (e.g., sequences) in 
the folder
+
+with the messages referred to in the sequence.  If a user does not have write 
access
+
+to a folder, then the MH mark and pick commands will create a "private" 
sequence
+
+in the user's context     file.  Switches are available to give the user 
control over the
+
+choice of `-private'        or `-public'        sequence options.
+
+
+       Since user-sequences are stored as ordinary text lines in RFC822 
labeled fields,
+
+there is no prohibition against someone writing programs to perform any kind of
+
+useful  manipulation  on  MH  sequences.  Boolean  operators  can  be  
implemented,
+
+or complex indexing structures could be developed to serve special purposes.  
If a
+
+DBMS can utilize UNIX pathnames or MH `+folder'        and message names, then
+
+the full power of the DBMS might be applied.  The intention of MH development
+
+teams  has  always  been  to  leave  open  the  widest  possible  array  of  
options  for
+
+later extension.  The only restrictions should be the user's ingenuity, 
programming
+
+prowess, and the available machine resources.  Unfortunately these resources 
always
+
+seem to be available in limited quantities.
+
+
+Distribution Lists
+
+       MH has a convenient interface to the UCI BBoards facility[MRose84a].5  
This
+
+facility  permits  the  efficient  distribution  of  interest  group  messages 
 on  a  single
+
+
+
+________________________________________
+5  The UCI BBoards facility can run under either the MMDF or SendMail, or in a 
more restricted
+
+form under stand-alone MH.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               12
+
+
+host, to a group of hosts under a single administration, and to the ARPA 
Internet
+
+community.
+
+
+       Described simply, an interest group is composed of a number of 
subscribers
+
+with a common interest.  These subscribers post mail to a single address, known
+
+as a distribution address (e.g., address@hidden). From this distribution 
address,
+
+a  copy  of  the  message  is  sent  to  each  subscriber.  Each  group  has  
a  moderator,
+
+which is the person that runs the group.  This moderator can usually be reached
+
+at a special address, known as a request address (e.g., address@hidden).
+
+Usually,  the  responsibilities  of  the  moderator  are  quite  simple,  
since  the  mail
+
+system handles distribution to subscribers automatically.  In some interest 
groups,
+
+instead of each separate message being distributed directly to subscribers, a 
batch
+
+of (related) messages are put into a digest format by the moderator and then 
sent
+
+to the subscribers.  Although this requires more work on the part of the 
moderator
+
+and introduces delays, such groups tend to be better organized.
+
+
+       Unfortunately, some problems arise with the scheme outlined above.  
First, if
+
+two users on the same host subscribe to the same interest group, two copies of 
the
+
+message will be delivered.  This is wasteful of both processor and disk 
resources at
+
+that host.
+
+
+       Second, some groups carry a lot of traffic.  Although subscription to a 
group
+
+does indicate interest on the part of a subscriber, it is usually not 
interesting to get
+
+50 messages or so delivered to the user's private maildrop each day, 
interspersed
+
+with  personal  mail,  that  is  likely  to  be  of  a  much  more  important  
and  timely
+
+nature.
+
+
+       Third, if a subscriber's address in a distribution list becomes "bad" 
somehow
+
+and causes failed mail to be returned,  the originator of the message is 
normally
+
+notified.  It is not uncommon for a large list to have several bogus 
addresses.  This
+
+results in the originator being flooded with "error messages" from mailers 
across
+
+the Internet stating that a given address on the list was bad.  Needless to 
say, the
+
+originator usually does not care if the bogus addresses got a copy of the 
message
+
+or not.  The originator is merely interested in posting a message to the group 
at
+
+large.  On the other hand, the moderator of the group does care if there are 
bogus
+
+addresses on the list, but ironically does not receive notification.
+
+
+       To  solve  all  of  these  problems,  the  UCI  BBoards  facility  
introduces  a  new
+
+entity into the picture:  all interest group mail is handled by a special 
component of
+
+the mail system.  The distribution address maps to a special channel that 
performs
+
+several  actions.   First,  if  local  delivery  is  to  be  performed,  then  
a  copy  of  the
+
+message is placed in a global maildrop for the interest group with a timestamp 
and
+
+a unique number.  Local users can read messages posted for the interest group 
by
+
+reading this "public" maildrop.  Second, if further distribution is to take 
place, a
+
+copy of the message is sent to the distribution address in such a way that if 
any of
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               13
+
+
+the addresses are bogus, failure notices will be returned to the local 
maintainer of
+
+the group address list, rather than the originator of the message.
+
+
+       This  scheme  has  several  advantages:  First,  messages  delivered  
to  the  local
+
+host are processed and saved once in a globally accessible area.  The UCI 
BBoards
+
+facility supports software which allows a user to query an interest group for 
new
+
+messages and to read and process those messages in the MH-style.  Second, once
+
+a  host  administrator  subscribes  to  an  interest  group,  each  user  can  
join  or  quit
+
+the list's readership without contacting anyone.  Third, a hierarchical 
distribution
+
+scheme can be constructed to reduce the amount of delivery effort.  Fourth, 
errors
+
+are  prevented  from  propagating.  When  an  address  on  the  distribution  
list  goes
+
+bad, the list moderator who is immediately responsible for the address is 
notified.
+
+If a local moderator does not exist, then the local PostMaster is notified 
(not the
+
+global group moderator).
+
+
+       In addition to solving the problems outlined above, the UCI BBoards 
facility
+
+supports  several  other  capabilities.  BBoards  may  be  automatically  
archived  in
+
+order  to  conserve  disk  space  and  reduce  processing  time  when  reading 
 current
+
+items.   Also,  the  archives  can  be  separately  maintained  on  tape  for  
access  by
+
+interested researchers.
+
+
+       Special  alias  files  may  be  generated  which  allow  the  MH  user  
to  shorten
+
+address type-in.  For example,  instead of sending to address@hidden,  a user
+
+of MH usually sends to ``SF-Lovers''           and the MH aliasing facility 
automatically
+
+makes the appropriate expansion in the headers of the outgoing message.  Hence,
+
+the user need only know the name of an interest group and not its global 
network
+
+address.
+
+
+       Finally, the UCI BBoards facility supports private interest groups 
using the
+
+UNIX  group  access  mechanism.   This  allows  a  group  of  people  on  the  
same  or
+
+different machines to conduct a private discussion.
+
+
+       The practical upshot of all this is that the UCI BBoards facility 
automates the
+
+vast majority of BBoards handling from the point of view of both the PostMaster
+
+and the user.
+
+
+       MH provides three programs to deal with interest groups.  The bbc 
program
+
+is used to check on the status of one or more groups,  and to optionally start 
an
+
+MH shell on those groups which the user is interested in.  The bbl program can 
be
+
+used  to  perform  manual  maintenance  on  a  discussion  group  beyond  the  
normal
+
+automatic  capabilities  of  the  UCI  BBoards  facility.   Finally,  the  msh 
 program
+
+implements  an  MH  shell  for  reading  BBoards,  in  which  nearly  all  of  
the  MH
+
+commands are implemented in a single program.
+
+
+       Observant  readers  may  note  that  the  use  of  msh  is  contrary  
to  the  MH
+
+philosophy of using relatively small, single-purposed programs.  Sadly, the 
authors
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               14
+
+
+admit that this is true.  In an effort to avoid some problems with 
shared-access and
+
+message naming conventions (which are beyond the scope of this paper), BBoards
+
+are  kept  in  maildrop  format  (monolithic)  instead  of  folders.  Some  
research  has
+
+gone into overcoming this problem in order to restore MH's purity of purpose, 
but
+
+all solutions proposed to date are either unworkable or require significant 
recoding
+
+of MH's internals.
+
+
+Encapsulation
+
+       As  described  above,  some  interest  groups  appear  in  digest  
form.   This
+
+means that the messages which appear in such a forum actually encapsulate other
+
+messages  in  their  body.   It  turns  out  that  the  generation  of  a  
digest  is  not  at
+
+all  unlike  the  generation  of  a  draft  which  forwards  one  or  more  
messages.   In
+
+RFC934[MRose85b],  a method is proposed to standardize message encapsulation
+
+for  the  ARPA  Internet  community.  MH  uses  this  method  for  the  
generation  of
+
+digests, forwardings, and blind-carbon-copies.
+
+
+       A  key  requisite  for  using  an  encapsulation  technique  for  
digests  and
+
+forwardings is the ability to later decapsulate the contents.  Without this 
ability,
+
+the forwarded messages are of little use to the recipients because they can 
not be
+
+distributed, forwarded, replied-to, searched-for, or otherwise processed as 
separate
+
+individual  messages.  In  the  case  of  a  digest,  a  bursting  capability  
is  especially
+
+useful.  Not only does the ability to burst a digest permit a recipient of the 
digest
+
+to  reply  to  an  individual  digestified  message,  but  it  also  allows  
the  recipient  to
+
+selectively process the other messages encapsulated in the digest.
+
+
+       For example,  a single digest issue usually contains more than one 
topic.  A
+
+subscriber may only be interested in a subset of the topic discussed in a 
particular
+
+issue.  With  a  bursting  capability,  the  subscriber  can  burst  the  
digest,  scan  the
+
+headers,  and  process  those  messages  which  are  of  interest.   The  
others  can  be
+
+ignored, if the user so desires.
+
+
+       Note  that  with  proper  encapsulation  technology,  one  can  argue  
for  the
+
+re-distribution of messages simply becoming special cases of message 
forwarding.
+
+For  example,  the  NBS  Standard  for  Mail  Interchange[FIPS98]  and  the  
recent
+
+CCITT  draft  on  Mail  Handling  Systems  standards[X.400]  both  discourage  
the
+
+re-distribution facility in favor of forwarding by encapsulation.
+
+
+Encapsulation and Blind-Carbon-Copies
+
+       Many user agents support a blind-carbon-copy facility.  MH implements 
this
+
+using  a  form  of  encapsulation.  It  may  not  be  apparent  to  the  
reader  as  to  why
+
+encapsulation of the original message is a good way to deliver 
blind-carbon-copies.
+
+With a blind-carbon-copy facility, two types of addressees are possible in the 
draft
+
+to be sent:  visible and blind.  The visible recipients are listed as 
addresses in the
+
+``To:''      and ``cc:''       fields,  and the blind recipients are listed in 
the ``Bcc:''
+
+fields of the draft.  The idea behind this facility is that copies of the 
draft which are
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               15
+
+
+delivered to the ``To:''      and ``cc:''      recipients should show the 
visible recipients
+
+only.
+
+
+       A  major  concern  with  a  blind-carbon-copy  facility  is  that  
blind  recipients
+
+should be prevented from accidentally replying to the message in such a way 
that
+
+the visible recipients are included as addressees in the reply.
+
+
+       There are several methods to implement this facility.  Most rely on 
posting
+
+two drafts with the MTS. One draft is destined for visible recipients, and 
simply
+
+lacks the ``Bcc:''       fields of the original draft.  The second draft is 
destined for the
+
+blind recipients.  The question then arises as to what form this latter draft 
posted
+
+should take.
+
+
+       One  approach  might  be  to  disable  the  ``To:''      and  ``cc:''   
   fields  of  the
+
+draft sent to the blind recipients (e.g., by prefixing the string ``BCC-''     
  to these
+
+fields).  Unfortunately, this is often very confusing to the blind recipients 
because
+
+it differs from what the visible recipients got.  Although accidental replies 
are not
+
+possible,  it  is  often  difficult  to  tell  that  the  message  received  
is  the  result  of  a
+
+blind-carbon-copy.
+
+
+       The method used by MH is to post two drafts, a visible draft for the 
visible
+
+recipients,  and  a  blind  draft  for  the  blind  recipients.  The  visible  
draft  consists
+
+of  the  original  draft  without  any  ``Bcc:''      fields.  The  blind  
draft  contains  the
+
+visible message as a forwarded message.  The headers for the blind draft 
contain
+
+the  minimal  RFC822  headers  (``From:''        and  ``Date:''      )  and,  
if  the  original
+
+draft had a "Subject:"  field, then this header field is also included.  In 
addition,
+
+MH  alerts  the  recipient  that  the  message  is  a  blind-carbon-copy  by  
placing  this
+
+information in the initial encapsulation information in the blind recipient's 
copy.
+
+This scheme prevents inadvertent replies while allowing the recipient full 
access to
+
+an exact copy of what was sent to the visible recipients.
+
+
+
+MH as a Record Handler
+
+       Although message format standards such as RFC822 (and its predecessors)
+
+were originally devised to facilitate computer processing of interpersonal 
messages,
+
+there  is  no  special  reason  why  the  concept  should  be  limited  to  
interpersonal
+
+message processing.  Messages are just one of a variety of useful record forms 
that
+
+might  be  created  in  one  place  and  transfered  to  another  for  
processing.  In  this
+
+regard,  RFC822  wisely  left  open  the  option  for  higher  level  
applications  to  use
+
+arbitrary header names or field contents by proscribing MTS use of header names
+
+beginning with ``X-''     .
+
+
+       MH carries though on this idea by allowing the pick command to accept 
any
+
+arbitrary field name for string searches, so MH users can select on any 
arbitrary
+
+field name without prior definition.  Beyond this, since all messages are 
simply files
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               16
+
+
+in  UNIX  directories,  applications  can  be  developed  to  apply  any  
programmable
+
+process to any selected message.
+
+
+       For example, a Time Card Form might be called up by an MH user with
+
+
+           comp -form timecomps
+
+
+to  enter  time  and  attendance  information  into  ``X-time: : ::''        
fields  in  a  draft
+
+message record.  The timecomps        form would include the address of a 
supervisor
+
+who should validate the information, along with empty fields to be filled in 
with
+
+data.  In  fancy  applications,  this  might  be  done  with  a  sophisticated 
 interactive
+
+data entry tool which would validate entered information, but this is an open 
choice
+
+within the MH framework.  Another alternative would be to use a received 
message
+
+as  the  blank  form  to  add  a  degree  of  central  control  over  time  
and  attendance
+
+reporting forms.
+
+
+       Receiving  supervisors  could  simply  register  approval  by  using  
the  MH  dist
+
+command to resend subordinates' time cards to higher approval levels, or to 
send
+
+them  to  a  time  card  collection  address.   The  MH  dist  command  
automatically
+
+inserts  "ReSent"  header  fields  showing  who  resent  it  and  the  
resending  date.
+
+Alternatively, the MH forw command could be used to transfer a batch of 
approved
+
+time cards to the next processing station.  If desired, a new "approval" 
command
+
+could  be  programmed  to  provide  a  more  trusted  authentication,  perhaps 
 with
+
+encryption of the content.  Trusted mail systems, such as Trusted Mail6 
[MRose85c],
+
+are becoming available for this purpose.
+
+
+       At  the  final  collection  destination,  an  automated  User  Agent  
could  be
+
+programmed to directly load the data into the Time and Attendance DBMS by
+
+parsing and decoding the data contained in the ``X-time: : ::''        fields. 
 It might be
+
+noted that while the RFC822 does not restrict the internal forms of messages, 
it is
+
+necessary to conform to the interchange standard if specialized filters for 
message
+
+headers are not to be built to serve as export  laundries (a term originating 
with
+
+Stephen H. Willson to describe conformance transformations in Ada7 ).
+
+
+Mapping Between Record Modes (DBMS/MHS)
+
+       This time and attendance example suggests that it is possible to define 
one-to-
+
+one mappings between RFC822 fields and DBMS data elements.  For every DBMS
+
+data  element  definition,  there  is  a  potential  corresponding  RFC822  
transferable
+
+equivalent  definition  which  can  facilitate  mail  transfers  of  record  
information.
+
+Indeed, a large portion of the definitional work is already done where a Data 
Base
+
+has already been defined.  All that remains is to define the RFC822 
equivalents.
+
+
+
+________________________________________
+6  Trusted Mail is a trademark of Trusted Technologies, Incorporated.
+7  Ada is a trademark of the Department of Defense (Ada Joint Program Office).
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               17
+
+
+       The  suggestion  that  a  batch  of  time  cards  be  forwarded  inside 
 a  "cover"
+
+message  implies  that  it  is  possible  in  the  MH  framework  to  
recursively  bundle
+
+messages  within  messages,  and  be  able  to  recover  the  originals  for  
separate
+
+processing  at  a  receiving  destination.  The  MH  burst  command  can  be  
applied
+
+recursively for this purpose because MH encapsulation uses an unambiguous 
scheme
+
+to delimit messages that are enclosed inside other messages.  Thus,  it should 
be
+
+possible to extract a structured set of records from a DBMS and mail the set 
to a
+
+foreign site for processing, or reinsertion into another DBMS. As long as the 
DBMS
+
+data element definitions correctly correspond to the RFC822 definitions, it is 
not
+
+even necessary for the source and destination DBMS systems to be the same.
+
+
+       From this discussion,  it is concluded that the MH framework can be 
useful
+
+for building distributed record handling systems where people at widely 
scattered
+
+locations must create and submit record forms for processing at distant 
locations.
+
+This  might  prove  to  be  especially  effective  when  a  mail  system  is  
also  needed
+
+for other communication purposes.  A network of sales offices is a good 
example,
+
+where  general  message  service  would  be  used  for  communications  with  
remote
+
+manufacturing and distribution centers, and could also be used for an order 
entry
+
+system.
+
+
+       Another  example  might  be  for  structured  communications,  as  
occur  in
+
+requisition and purchasing systems.  Requisitions could be filled in and 
mailed to
+
+approval offices, and resent or forwarded to others for action.  At some 
point, the
+
+requisitions could flow into other other more suitable processing systems as 
needed.
+
+At the very least, the ability to originate requisitions can be distributed to 
anyone
+
+with access to a mail system that can originate a proper requisition form.
+
+
+       As a last example, MH already supports group discussions with its BBoard
+
+facilities which allow for automatic sorting of mail by group address, with 
shared
+
+private  or  public  group  access  to  contributed  items.  As  has  been  
shown  to  be
+
+possible with administrative record systems, there is no obvious limit to the 
ways
+
+that group discussion traffic might be organized into structured collections 
with
+
+indices,  annotations,  or  reference  pointers  to  aid  in  making  
conference  archives
+
+more  useful.  Indeed,  MH  tools  could  even  be  used  to  feed  discussion 
 items  into
+
+existing conference systems.
+
+
+
+Distributed Mail
+
+       Next, we consider how MH might be used in a distributed mail 
environment.
+
+Two  schemes  are  discussed:  one  in  which  connectivity  is  high  and  
connections
+
+are relatively "cheap", and one in which connectivity is low and connections 
are
+
+"expensive".
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               18
+
+
+The ARPA Internet Environs
+
+       The  ARPA  Internet  community  consists  of  many  types  of  
heterogeneous
+
+nodes.   Some  hosts  are  large  mainframe  computers,  others  are  personal 
 work-
+
+stations.   All  communicate  using  the  milstd  TCP/IP  protocol  suite[IP,  
TCP].
+
+Messages which conform to the Standard for the Format of ARPA Internet Text
+
+Messages[DCroc82] are exchanged using the Simple Mail Transfer Protocol[SMTP].
+
+
+       On smaller nodes in the ARPA Internet it is often impractical to 
maintain
+
+a  message  transport  agent.  For  example,  a  workstation  may  not  have  
sufficient
+
+resources (cycles, disk space) in order to permit an SMTP server and associated
+
+local  mail  delivery  system  to  be  kept  resident  and  continuously  
running.
+
+Furthermore,  the  workstation  could  be  off-net  for  extended  periods  of 
 time.
+
+Similarly,  it  may  be  expensive  (or  impossible)  to  keep  a  personal  
computer
+
+interconnected to an IP-style network for long periods of time.  In other 
words, the
+
+node is lacking the resource known as "connectivity".
+
+
+       Despite  this,  it  is  often  desirable  to  be  able  to  process  
mail  with  MH  on
+
+these smaller nodes, and they often support a user agent to aid the tasks of 
mail
+
+handling.  To  solve  this  problem,  a  network  node  which  can  support  a 
 message
+
+transport  entity  (known  as  service  host)  offers  a  maildrop  service  
to  these  less
+
+endowed nodes (known as client hosts).  The Post Office Protocol[JReyn84] (POP)
+
+is intended to permit a workstation to dynamically access a maildrop on a 
service
+
+host  to  pick-up  mail.8   The  level  of  access  includes  the  ability  to 
 determine  the
+
+number  of  messages  in  the  maildrop  and  the  size  of  each  message,  
as  well  as  to
+
+retrieve and delete individual messages.  More sophisticated implementations 
of the
+
+POP server are able to distinguish between the header and body portion of each
+
+message, and send n lines of a message to the POP client.  This capability is 
useful
+
+in thinly connected environments where conservation of bandwidth is important.
+
+By utilizing a more intelligent POP client, a user may generate "scan 
listings" and
+
+dynamically decide which messages are worth taking delivery on.  The philosophy
+
+of the POP is to put intelligence in the POP clients and not the POP servers.
+
+
+       The  underlying  paradigm  in  which  the  POP  functions  is  that  of 
 a  split-
+
+slot/remote-UA  model.   The  client  host  (such  as  a  workstation)  is  
without  a
+
+co-resident message  transport  agent (MTA), and thus makes use of a service 
host
+
+with an MTA to obtain posting (SMTP) and delivery (POP) services.  The entity
+
+which supports this type of environment is called a remote-UA since the user 
agent
+
+resides on a different host than its associated message transport agent.
+
+
+
+________________________________________
+8  Actually, there are three different descriptions of the POP. The first, 
cited in [JReyn84], was the
+
+original description of the protocol, which suffered from certain problems. 
Since then, two alternate
+descriptions have been developed. The official revision of the POP[MButl85], 
and the revision of the
+POP which MH uses (which is documented in an internal memorandum in the MH 
release).  This
+paper considers the POP in the context of the MH release.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               19
+
+
+       One  very  important  issue  which  must  be  raised  at  this  point  
is  one  of
+
+authentication.  The POP requires that a client identify itself to the server 
using
+
+a server-specific user-id and a server/user-specific password.  This 
authentication
+
+is required to prevent unauthorized entities from accessing a maildrop on a POP
+
+service host.  It must be emphasized that the POP client is not a "trusted" 
entity
+
+of the MTS in any sense at all.
+
+
+       Ideally, one would also like to authenticate mail as it is posted on 
the POP
+
+service  host  using  the  SMTP.  Currently,  in  the  ARPA  Internet  
community,  no
+
+authentication is done with SMTP transactions.  This is considered a 
shortcoming
+
+by  those  interested  in  researching  the  split-UA  model  of  distributed  
mail.  The
+
+MZnet environment, discussed in the next section, has authentication 
facilities for
+
+posting mail.
+
+
+       The  current  release  of  MH  supports  the  above  model  fully:  a  
POP  client
+
+program is available to retrieve a maildrop on a POP service host.  In 
addition,
+
+using  the  SMTP  configuration  for  delivery  in  MH,  a  user  is  able  to 
 specify  a
+
+search-list of service hosts (and networks) with which to try to post mail.  
Using
+
+this  search-list,  when  an  MH  user  posts  a  draft,  the  post  program  
will  attempt
+
+to establish an SMTP connection with each host in the list to post the message
+
+until  it  succeeds.   Initial  experimentation  with  the  split-UA  in  a  
local  network
+
+environment has proved quite successful.
+
+
+The MZnet Environs
+
+       In 1983,  the MZnet project[EStef84] at the University of California,  
Irvine
+
+set out to study the problems involved with bringing Internet-class mail 
handling
+
+facilities to personal computers.  The project used Apple II computers running 
the
+
+CP/M 2.2 operating system.  Programming was done in a subset of the C language
+
+called BDS C. The transport system was based on the MMDF PhoneNet software,
+
+and  implemented  a  split-slot  arrangement  between  a  personal  computer  
and  a
+
+larger, centralized mail distribution system that performed user 
authentication and
+
+provided a relatively secure mail transfer channel.  The user agent, CP/MH, was
+
+based on MH.
+
+
+       A  conclusion  of  the  experiment  was  that  small  personal  
computer  systems
+
+with dial-up phone connections constrain user agent systems design in ways that
+
+require use of a split-slot interface between the UA and its supporting MTA, 
and that
+
+this interface best provides the required services if it has error controlled 
command
+
+and data transfer facilities, with interactive behavior.  Another conclusion 
indicated
+
+that a good design for a user agent in such a small personal computer 
environment
+
+could be based on a very modular architecture, such as MH. A final conclusion 
was
+
+that session-level authentication of the client UA is required for both 
posting and
+
+delivery.
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               20
+
+
+       It should be noted that the MZnet project had a profound influence on 
the
+
+development  of  the  POP  used  by  MH.  A  somewhat  more  detailed  
discussion  of
+
+the relations between the two environments can be found in the POP description
+
+contained in the MH release.
+
+
+
+A Final Note
+
+       With the fifth major release of the MH system, it has become clear that 
most
+
+major increases in functionality can come only at the expense of either 
efficiency or
+
+portability.  Although there has been great effort to keep MH portable to a 
number
+
+of  UNIX  implementations,9  the  divergence  in  process  management  
facilities,  file
+
+system  enhancements,  and  even  C  compiler  capabilities  has  already  
presented
+
+obstacles to some attempts to rehost the MH code.
+
+
+       There  has  been  some  discussion  of  implementing  specialized  MH  
daemons
+
+that maintain context information over one or more sessions, thus decreasing 
the
+
+amount of overhead involved in starting each MH command.  Unfortunately, even
+
+if such daemons were to be implemented, they would be very difficult to move to
+
+versions  of  UNIX  without  sophisticated  process  management  facilities,  
and  even
+
+then  the  differences  in  "philosophies"  of  process  management[WJoy83, 
EOlse84]
+
+would tend to keep such daemons system specific.  A better solution seems to be
+
+simply to tune existing code.
+
+
+
+Acknowledgements
+
+       The authors would like to thank Norman Z. Shapiro and Phyllis Kantar of
+
+the Rand Corporation for their invaluable comments during the preparation of 
this
+
+paper.
+
+
+
+Distribution Information
+
+       For information concerning distribution mechanics for the current 
release of
+
+MH, please contact:
+
+
+           Support Group
+
+           Attn:  MH Distribution
+
+           Department of Information and Computer Science
+
+           University of California, Irvine
+
+           Irvine, CA 92717       USA
+
+
+
+           714/856-6852
+
+
+
+________________________________________
+9  As of this writing, there are approximately 75 sites running mh.5 on five 
different implementations
+
+of UNIX.
+
+
+                                                 References
+
+
+
+[DCome83]        D.  Comer.   The  Computer  Science  Research  Network  
CSnet:   A
+
+                 History  and  Status  Report.  Communications  of  the  ACM  
26,  10
+
+                 (October, 1983), 747-753.
+
+
+
+[DCroc79]        D.H.  Crocker,  E.S.  Szurkowski,  D.J.  Farber.   An  
Internetwork
+
+                 Memo  Distribution  Facility  _  MMDF.  Appearing  in  
Proceedings,
+
+                 Sixth Data Communications Symposium, Asilomar, 1979, pp. 
18-25.
+
+
+
+[DCroc82]        D.H.  Crocker.   Standard  for  the  Format  of  ARPA  
Internet  Text
+
+                 Messages.  Request  for  Comments  822.  ARPA  Internet  
Network
+
+                 Information Center (NIC), SRI International (August, 1982).
+
+
+
+[DKing84]        D.P.  Kingston,  III.   MMDFII:  A  Technical  Review.  
Appearing  in
+
+                 Proceedings  Usenix  Summer  '84  Conference,  Salt  Lake  
City,  Utah,
+
+                 1984, pp. 32-41.
+
+
+
+[EAllm83]        E.  Allman.    SENDMAIL  _  An  Internetwork  Mail  Router.
+
+                 Britton-Lee, Inc., Berkeley, California (July, 1983).
+
+
+
+[EOlse84]        E.W. Olsen.  NetOS Concepts and Facilities. Local Network 
Systems,
+
+                 Inc., Costa Mesa, California (August, 1984).
+
+
+
+[EStef84]        E.A. Stefferud, J.N. Sweet, T.P. Domae.  MZnet:  Mail Service 
for
+
+                 Personal Micro-Computer Systems. Appearing in Proceedings, 
Second
+
+                 International Symposium on Computer Message Systems, 
Nottingham,
+
+                 U.K, 1984, pp. 293-302.
+
+
+
+[FIPS98]         Specification  for  Message  Format  for  Computer  Based  
Message
+
+                 Systems. National Bureau of Standards (January, 1983).
+
+
+
+[HERMES]         Bolt, Beranek, and Newman.  Hermes User's Manual. for TOPS-20.
+
+                 Bolt, Beranek, and Newman, Boston, MA (January, 1979).
+
+
+
+[IP]             Internet  Protocol.  Request  for  Comments  791  (milstd  
1777).
+
+                 Appearing in Internet Protocol Transition Workbook, ARPA 
Internet
+
+                 Network Information Center (NIC), SRI International, 1981.
+
+
+
+[JReyn84]        J.K.  Reynolds.   Post  Office  Protocol.  Request  for  
Comments  918.
+
+                 ARPA Internet Network Information Center (NIC), SRI 
International
+
+                 (October, 1984).
+
+
+
+ Copyright fcl1985, North Holland Publishing Company                           
                                   21
+ Reprinted from Computer Networks and ISDN Systems, 10(2), September, 1985    
                               22
+
+
+[MButl85]        M.  Butler,  J.B.  Postel,  et.  al.   Post  Office  Protocol 
 -  Version  2.
+
+                 Request  for  Comments  937.  ARPA  Internet  Network  
Information
+
+                 Center (NIC), SRI International (February, 1985).
+
+
+
+[MRose84a]       M.T.  Rose.   The  Rand  MH  Message  Handling  System:  The  
UCI
+
+                 BBoards Facility. Department of Computer and Information 
Sciences,
+
+                 University of Delaware (October, 1984).
+
+
+
+[MRose84b]       M.T.  Rose.   The  Rand  MH  Message  Handling  System:  
Tutorial.
+
+                 Department  of  Computer  and  Information  Sciences,  
University  of
+
+                 Delaware (October, 1984).
+
+
+
+[MRose85a]       M.T. Rose,  J.L. Romine.  The Rand MH Message Handling System:
+
+                 User's Manual. UCI Version. Department of Information and 
Computer
+
+                 Science, University of California, Irvine (January, 1985).
+
+
+
+[MRose85b]       M.T.  Rose,  E.A.  Stefferud.    Proposed  Standard  for  
Message
+
+                 Encapsulation. Request for Comments 934. ARPA Internet Network
+
+                 Information Center (NIC), SRI International (January, 1985).
+
+
+
+[MRose85c]       M.T. Rose, D.J. Farber, S.T. Walker.  Design of the TTI 
Prototype
+
+                 Trusted Mail Agent. Appearing in Proceedings, Second 
International
+
+                 Symposium on Computer Message Systems, Washington, D.C., 1985
+
+                 (to appear).
+
+
+
+[SMTP]           Simple  Mail  Transfer  Protocol.  Request  for  Comments  
821.  ARPA
+
+                 Internet  Network  Information  Center  (NIC),  SRI  
International
+
+                 (August, 1982).
+
+
+
+[TCP]            Transmission Control Protocol. Request for Comments 793 
(milstd
+
+                 1778).  Appearing  in  Internet  Protocol  Transition  
Workbook,  ARPA
+
+                 Internet Network Information Center (NIC), SRI International, 
1981.
+
+
+
+[WJoy83]         W.N.  Joy,  E.  Cooper,  R.S.  Fabry,  S.J.  Leffler,  K.  
McKusick,
+
+                 D.  Mosher.   4.2bsd  System  Manual.  Technical  Report  
Number  5.
+
+                 Computer Systems Research Group, University of California, 
Berkeley.
+
+
+
+[X.400]          Message  Handling  Systems:   System  Model-Service  Elements,
+
+                 Recommendation  X.400,  International  Telegraph  and  
Telephone
+
+                 Consultative Committee (CCITT).
+
+
+                                                        Appendix  A
+
+                                                     MH  Commands
+
+
+
+               MH is composed of several UNIX programs, which in theory are 
fairly simple
+
+        and single-purposed.  These commands are functionally grouped below:
+
+
+                                                       Composing_Mail__________
+
+     comp:     compose a message
+
+               A program to originate a message.  Usually, a special prompting 
editor front-
+
+               end, prompter, is used to fill-in a composition template with 
the addressees
+
+               of the message, subject, and so forth.
+
+
+       dist :  redistribute a message to additional addresses
+
+               A program that re-enters a message previously received by the 
user into the
+
+               message transport system.  Only new addresses are added;  the 
body of the
+
+               message is not changed in any way.
+
+
+      forw :   forward messages
+
+               A program that encapsulates one or more messages in a new 
message draft.
+
+               In addition, the user may add initial and/or closing comments.
+
+
+       repl :  reply to a message
+
+               A program that constructs a reply to a message using a reply 
template.  The
+
+               template mechanism has sufficient generality to permit the user 
to "program"
+
+               the  form  of  the  reply  draft  based  on  the  contents  of  
the  message  being
+
+               replied-to.
+
+
+      send :   send a message
+
+               A  program  that  posts  a  draft  with  the  message  
transport  system.   The
+
+               send program is usually invoked by one of the four preceding 
programs, and
+
+               performs simple front-end pre-processing prior to invoking the 
post program.
+
+               For  example,  if  invoked  in  push'd  mode,  send  will  
immediately  relinquish
+
+               control  of  the  user's  terminal  and  post  the  message  in 
 the  background.  If
+
+               the posting fails, send will send back a failure notice to the 
user.  If the user
+
+               had push'd the sending of the draft, then by default the draft 
being sent is
+
+               encapsulated in the failure notice.  This permits easy 
burst'ing of the failure
+
+               notice to retrieve the original draft.  Otherwise, if the 
posting was successful,
+
+               the draft is marked as having been sent.
+
+
+whatnow :      prompting front-end for send
+
+               A program which is called by comp, et.  al., after the initial 
draft has been
+
+
+
+         Copyright fcl1985, North Holland Publishing Company                   
                                           23
+           Reprinted from Computer Networks and ISDN Systems, 10(2), 
September, 1985                                   24
+
+
+                 generated.  The  MH  user  can  specify  a  different  
whatnow  program,  which
+
+                 yields considerable extensibility.
+
+
+      whom:      report to whom a message would go
+
+                 A program which examines the addresses of the draft and 
expands all user-
+
+                 defined  aliases  contained  therein.  Optionally,  whom  may 
 actually  interact
+
+                 with  the  message  transport  system  to  determine  the  
validity  of  the  final
+
+                 addresses.  This program is also usually invoked by comp, et. 
al.
+
+
+                                                           Posting_Mail_______
+
+           ali : list mail aliases
+
+                 A simple front-end to the MH aliasing mechanism.
+
+
+           ap:   parse addresses 822-style
+
+                 A  useful  debugging  tool  for  PostMasters  who  wish  to  
examine  how  MH
+
+                 interprets an Internet address.
+
+
+    conflict :   search for alias/password conflicts
+
+                 Another program used by system administrators to check the 
consistency of
+
+                 MH alias files, and portions of the local message transport 
agent.
+
+
+install-mh:      initialize the MH environment
+
+                 A program which is automatically executed the first time a 
user issues an MH
+
+                 command.  This program performs once-only initialization of 
the user's MH
+
+                 environment.
+
+
+    mhmail :     send or read mail
+
+                 A simple program generally used by other programs to generate 
messages.
+
+                 The mhmail command is similar in purpose to the old BellMail 
program.
+
+
+         post :  deliver a message
+
+                 A  complex  MH  back-end  that  interacts  with  the  local  
message  transport
+
+                 agent to enter messages through the posting slot.  (See the 
description of send
+
+                 above).
+
+
+                                                           Reading_Mail________
+
+          inc:   incorporate new mail
+
+                 A program that interacts with the local message transport 
agent to retrieve
+
+                 messages from the user's maildrop.
+
+
+    msgchk :     check for waiting mail
+
+                 A program which reports the status of mail waiting in the 
user's maildrop.
+
+
+        show :   show (list) messages
+
+                 A  program  which  lists  messages  to  its  standard  output 
 (usually  the  user's
+
+                 terminal), possibly invoking another program to do the actual 
listing.  Most
+
+                 users  of  MH  have  show  automatically  call  the  mhl  
program  to  format  the
+      Reprinted from Computer Networks and ISDN Systems, 10(2), September, 
1985                                   25
+
+
+            message.   The  next  and  prev  programs  are  simply  ``show 
next''          and
+
+            ``show prev''          , respectively.
+
+
+    mhl :   produce formatted listings of MH messages
+
+            A program which displays a message as directed by a template.  
This permits
+
+            the user to filter out uninteresting headers and re-arrange other 
headers to a
+
+            particular preference.  In addition to being invoked by show, the 
mhl program
+
+            is optionally also invoked by forw to format each message being 
forwarded;
+
+            invoked  by  repl  to  format  the  body  of  a  message  being  
replied-to,  if  that
+
+            message is being included in the reply draft; and, invoked by post 
to format
+
+            a message being sent as a blind-carbon-copy.
+
+
+   rmm:     remove messages
+
+            A program that removes messages from an MH folder, optionally 
running a
+
+            user-defined program instead of deleting them.  If no program is 
given,  the
+
+            messages are "softly" removed, so they may possibly be recovered 
later.
+
+
+   scan:    produce a one-line-per-message scan listing
+
+            A program that generates a scan listing for messages.  Each line 
of the listing
+
+            contains date, source, subject, and possibly the initial body of 
the message.
+
+
+                                                    Folder_Handling________
+
+ folder :   set/list current folder/message
+
+            A program used to list information concerning the current folder, 
or set the
+
+            current folder and/or message.
+
+
+folders :   list all folders
+
+            A program to list information on all folders (actually, just a 
special case of
+
+            the folder command).  Since the MH folder structure may be 
recursive,  the
+
+            user can indicate that folders should recursively examine all 
folders.
+
+
+   refile:  file message(s) in (an)other folder(s)
+
+            A program to move (or copy) messages from a source folder to one 
or more
+
+            destination folders.
+
+
+    rmf :   remove folder
+
+            A program that deletes a folder and all messages therein.
+
+
+                                                  Message_Selection_________
+
+   anno:    annotate messages
+
+            A  program  to  arbitrarily  annotate  messages.   If  the  user  
so  desires,  after
+
+            distributing,  forwarding,  or  replying-to  a  message,  MH  will 
 automatically
+
+            attach an annotation to the original message indicating the date 
and addresses.
+
+
+  mark :    mark messages
+
+            A program to manipulate user-defined sequences (lists of 
messages).  Usually,
+
+            mark is not employed directly by the MH user.
+       Reprinted from Computer Networks and ISDN Systems, 10(2), September, 
1985                                   26
+
+
+     pick :  select messages by content
+
+             A  program  to  examine  a  list  of  messages  and  choose  
those  which  meet
+
+             a  particular  selection  criterion.   The  pick  program  is  
often  used  in  UNIX
+
+             back-quoted operations to pass message sequences to other MH 
commands.
+
+
+   sortm:    sort messages
+
+             A program to sort a list of messages according to the date given 
in a particular
+
+             field.
+
+
+                                             
Distribution_List_Handling____________
+
+      bbc:   check on BBoards
+
+             A  front-end  to  run  msh  on  a  list  of  distribution  lists  
which  the  user  isn't
+
+             current on.
+
+
+       bbl : manage a BBoard
+
+             A  (depreciated)  program  used  to  manually  manage  the  local 
 archives  of
+
+             a  distribution  list.  These  functions  (archiving,  expunging) 
 are  performed
+
+             automatically by MH.
+
+
+    burst :  explode digests into messages
+
+             A  program  used  to  decapsulate  messages  from  ARPA  Internet 
 digests.  In
+
+             addition,  messages  which  have  been  encapsulated  during  
forwarding  (i.e.,
+
+             with forw ) can also be decapsulated using burst.10
+
+
+     msh:    MH shell (and BBoard reader)
+
+             A  monolithic  program  used  to  implement  MH  commands  on  
messages
+
+             arranged in a single file (maildrop format).  Useful since 
distribution lists are
+
+             kept in this format to minimize consumption of system resources.
+
+
+    pack :   compress a folder into a single file
+
+             A program which takes messages stored in MH format and places 
them in a
+
+             single file (using the same format known by msh).
+
+
+                                        
Interface_to_the_UNIX_File_System________________
+
+mhpath:      print full pathnames of MH messages and folders
+
+             A program which maps MH-style names into the UNIX file naming 
convention.
+
+
+
+      ________________________________________
+     10  Similarly, blind-carbon-copies may be decapsulated, though only 
socially mature users should do
+
+      so.
+
+
+
+
+                                                  Contents
+
+
+
+                                                                               
                               Page
+
+Introduction .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .*
+ *        1
+
+The MH Philosophy .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .        2
+
+       The MH Environs .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .        3
+
+       The MH Profile  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .        4
+
+       Folders and Messages .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .        6
+
+       The Context File  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .        7
+
+       Templates .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  *
+ *      7
+
+       Explaining All This to New Users .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .        7
+
+A Few Advanced Features  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .        9
+
+       Draft Folders .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    *
+ *    9
+
+       Message Selection .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .        9
+
+       Distribution Lists  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      11
+
+       Encapsulation  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      *
+ *14
+
+       Encapsulation and Blind-Carbon-Copies .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .      14
+
+MH as a Record Handler .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .      15
+
+       Mapping Between Record Modes (DBMS/MHS) .  .  .  .  .  .  .  .  .  .  . 
 .  .  .      16
+
+Distributed Mail  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .    *
+ *  17
+
+       The ARPA Internet Environs .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .      18
+
+       The MZnet Environs .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .      19
+
+A Final Note  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  *
+ *    20
+
+Acknowledgements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      20
+
+Distribution Information .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .      20
+
+References .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  *
+ *.      21
+
+Appendix A: MH Commands  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .      23
+
+
+
+________________________________________
+This document (version #1.54) was TEXset April 12, 1990 with DISS.STY v103.
+
+
+
+                                                                               
                                     i
diff --git a/docs/historical/mznet.pdf b/docs/historical/mznet.pdf
new file mode 100644
index 0000000..e8fbfc3
Binary files /dev/null and b/docs/historical/mznet.pdf differ
diff --git a/docs/historical/mznet.txt b/docs/historical/mznet.txt
new file mode 100644
index 0000000..7a6b9a8
--- /dev/null
+++ b/docs/historical/mznet.txt
@@ -0,0 +1,1103 @@
+
+
+
+
+  MZnet:   Mail  Service  for  Personal
+
+
+             Micro-Computer  Systems
+
+
+
+                                  Einar  Stefferud
+
+                                       President,
+
+                Network  Management  Associates
+
+                                             and
+
+                               Visiting  Lecturer,
+
+            in  Information  and  Computer  Science
+
+                University  of  California  at  Irvine
+
+
+
+                                     Jerry  Sweet
+
+Department  of  Information  and  Computer  Science
+
+                University  of  California  at  Irvine
+
+
+
+                                Terrance  Domae
+
+                           School  of  Engineering
+
+          University  of  California  at  Los  Angeles
+
+
+
+                                               0
+
+
+
+
+                                            Abstract
+
+     Traditional computer mail systems involve a co-resident User Agent
+(UA)  and  Mail  Transfer  System  (MTS)  on  a  time-shared  host  com-
+puter which may be connected to other hosts in a network, with new
+mail  posted  or  delivered  directly  through  co-resident  mail-slot  pro-
+grams.  To  introduce  personal  micro-computers  (PCs)  into  this  envi-
+ronment requires modification of the traditional mail system architec-
+ture.  To this end,  the MZnet project uses a split-slot model,  placing
+UA programs on the PCs while leaving MTA programs on a mail relay
+host  which  can  provide  authentication  and  buffering.   The  split-slot
+arrangement might be viewed as a new protocol level which operates
+somewhere between the currently defined MTS-MTS and UA-UA lev-
+els.
+
+
+
+
+Introduction
+
+
+Mail  systems  were  born  and  have  grown  up  on  large  central  time  
sharing
+
+systems, often imbedded in large networks of inter-operating computers with
+
+a set of distributed processes automatically transferring mail between users.
+
+This  is  certainly  the  case  with  the  U.S.  Department  of  Defense  
(DoD)  Ad-
+
+vanced  Research  Projects  Agency  Network  (ARPANET)  [1 ]  where  much  of
+
+the  original  computer  network  mail  systems  research  and  development  
has
+
+taken  place.   Other  mail  networks  such  as  the  Computer  Science  
Network
+
+[2 ]  sponsored  by  the  U.S.  National  Science  Foundation,  have  also  
used  rela-
+
+tively large shared computers lodged in an institutional setting, though they
+
+are often connected together with ordinary dial-up telephone links to form a
+
+large geographic network.  Another U.S. example is USENET [3 ] which con-
+
+nects  thousands  of  Unix1  systems  together  with  informally-supported  
dial
+
+telephone links.  Although there have been several attempts, there appear to
+
+be  no  successful  mail  networks  based  on  small  personal  computers,  
such  as
+
+those that use the CP/M2  or MS-DOS3  operating systems.
+
+      The  accepted  architectural  model  (see  Figure  1)  for  computer  
network
+
+mail (first articulated by the IFIP 6.5 Systems Environment Working Group)
+
+involves a User Agent (UA) which posts new mail items through a mail slot
+
+[4 ,  5,  6,  7]  to  a  Mail  Transfer  Agent  (MTA)  which  delivers  posted 
 items  to
+
+designated  UA  recipients  through  corresponding  delivery  slots.  When  
mail
+
+is  to  be  delivered  to  a  UA  on  another  host,  it  is  transferred  
first  to  another
+
+MTA on the recipient user's host, which in turn puts the mail item through
+
+its  local  delivery  slot.   In  this  model,  a  Mail  Transfer  System  
(MTS)  may
+
+be viewed as a collection of MTAs with network connections among them to
+
+provide  Mail  Transfer  Services  for  a  large  number  of  users  on  
different  host
+
+computers.
+
+      Replicating  this  UA/MTA/MTS  model  on  a  personal  micro-computer
+
+(PC)  is  not  an  easy  task.  Aspects  of  PCs  that  make  support  of  
this  model
+
+difficult  include  limited  storage  capacities,  limited  processing  
capabilities,
+
+and the fact that PCs are geared to support a single user rather than several
+
+users  at  once.   A  PC  with  limited  secondary  diskette  storage  and  
limited
+________________________________________________
+    1 UNIX is a Trademark of Bell Laboratories, Inc.
+    2 CP/M is a Trademark of Digital Research, Inc.
+    3 MS-DOS is a Trademark of Microsoft Corporation.
+
+
+
+                                                           1
+
+
+
+
+processing capacity (often single-thread) is not well suited to support the 
full
+
+range of automatic interactions between a UA and an MTA, or the necessary
+
+interactions between MTAs in an MTS. For example, we do not see any way
+
+to  certify  PC  systems  for  authentication  of  posted  mail.  A  PC  can  
change
+
+its  entire  character  and  behavior  with  insertion  of  a  new  program  
diskette,
+
+suggesting that it is the operating system diskettes and their users that must
+
+be certified, rather than the computers.  Review of certification issues shows
+
+that  it  is  not  the  computer,  but  its  operators  and  managers  that  
must  be
+
+certified,  and  this  involves  the  notions  of  central  management  and  
control.
+
+All  this  is  lost  in  the  maze  of  PCs  that  we  see  proliferating  on  
and  off  our
+
+campuses, in and out of our offices and homes.
+
+      Thus, we see a need for a new arrangement with the UA separated from
+
+its  MTA,  and  using  communication  protocols  to  interact  with  it  in  
ways
+
+that resemble MTA-to-MTA interactions.  The UA is placed on the PC end,
+
+while  the  more  complex  tasks  performed  by  the  MTA  are  relegated  to  
the
+
+remote host end.  The remote MTA must authenticate mail items offered by
+
+the PC-based UA, just as it would for a co-located UA, but the task is more
+
+difficult because the PC UA is potentially anyone among the public telephone
+
+connectable  population.   This  can  be  handled  with  password  systems,  
but
+
+recognition and identification are not the only services to be provided at the
+
+posting  slot.   Posting  also  requires  some  validation  of  recipient  
addresses,
+
+and validation of the syntax and semantics of certain header fields.  Example
+
+standards are provided by the U.S. National Bureau of Standards (NBS) and
+
+the U.S. DoD ARPANET for the format of mail to be transferred [8 , 9 , 10  ].
+
+      The new arrangement described in this paper might be called a split mail
+
+slot in that the UA side of the slot is split away from the MTA side.  Although
+
+the  UA  and  MTA  may  be  on  opposite  ends  of  a  telephone  connection,  
they
+
+must  still  act  together  as  a  single  processing  unit  to  move  mail  
from  one
+
+to  the  other,  with  all  that  this  may  entail.   This  gives  rise  to  
a  number  of
+
+new  MTA/UA  requirements  such  as  error  control  for  service  requests,  
user
+
+intervention to select items for delivery, and user postponement or rejection
+
+of delivery without triggering failure notices to senders.  These are not 
serious
+
+problems  when  both  MTA  and  UA  are  programs  running  on  a  single  
host.
+
+For example, with both UA and MTA on the same host, unwanted junk mail
+
+is  simply  deleted  at  low  cost,  compared  to  the  cost  of  deletion  
after  a  long
+
+delivery transmission time.  Better that our PC users be able to discard items
+
+without delivery transmission.
+
+
+
+                                                           2
+
+
+
+
+Overview  of  the  MZnet  Environment
+
+
+The MZnet project is an undergraduate student effort sponsored within the
+
+Information  and  Computer  Science  (ICS)  Department  of  the  University  of
+
+California  at  Irvine  (UCI)  in  Southern  California.  For  the  past  2  
years,  the
+
+UCI mail network, known as ZOTnet, has been connected into the Computer
+
+Science  Network  (CSnet)  and  in  1984,  has  joined  the  DoD  ARPA  
Internet
+
+with a Split-Gateway connection [11  ] to the University of Southern California
+
+Information Sciences Institute (USC-ISI). The MZnet split-slot arrangement
+
+may  have  some  similarities  to  the  Split-Slot  Internet  Gateway  at  
least  in
+
+name, but the problems and the implementations are quite different.
+
+      The UCI ZOTnet environment [13  ] gives the MZnet project a full-fledged
+
+Internet-class mail system as its foundation.  The MZnet project objective is
+
+to extend this class of mail service to personal computers located in student
+
+and faculty residences, offices and laboratories, without waiting for 
full-blown
+
+local area networking to first provide connections.  This follows a pattern of
+
+making the most of existing facilities to provide a reasonable level of 
service.
+
+      The UCI ZOTnet uses the CSnet-provided MMDF (Multi-channel Memo
+
+Distribution Facility) software [12  ] from the University of Delaware to 
inter-
+
+connect two VAX 750 Unix systems with two DEC TOPS-20 systems through
+
+a  port  selector,  with  dial  telephone  connection  to  a  CSnet  relay  
[14  ].   The
+
+ZOTnet has since evolved into an ethernet-connected local area network with
+
+the aforementioned gateway connection into the DoD Internet.  The ZOTnet
+
+also  connects  to  USENET  with  the  UUCP  protocols,  and  provides  format
+
+transformations for mail flowing between protocol domains [15  , 16  ].  Adding
+
+to the reach of the ZOTnet with MZnet is a natural part of its evolution4 .
+
+      To this point we have set the context of the MZnet project.  The 
remainder
+
+of this paper is devoted to relatively technical discussions of implementation
+
+of the PC user agent programs and the split-slot UA/MTA interface.
+________________________________________________
+    4 For  those  who  are  properly  curious  about  such  things,  the  name 
 "ZOTnet"  derives
+
+from  the  cry  of  the  UCI  mascot  which  is  the  Anteater  from  the  
B.C.  comic  strip,  and
+MZnet is simply a contraction for Micro-ZOTnet.
+
+
+
+                                                           3
+
+
+
+
+The  MZnet  User  Agent:   CP/MH
+
+
+CP/MH  is  a  collection  of  programs  designed  to  work  in  conjunction  
with
+
+the  Micro  ZOTnet  (MZnet)  as  an  extension  of  the  UCI  ZOTnet.   CP/MH
+
+programs permit a user of a CP/M 2.2-based microcomputer to send and re-
+
+ceive ZOTnet mail messages, as well as to manipulate them locally on floppy
+
+disks.   The  CP/MH  programs  are  written  in  the  C  programming  language
+
+and should be portable to similar operating environments, such as MS-DOS,
+
+etc.
+
+      CP/MH  is  based  on  the  UCI  version  of  the  Rand  MH  message  
handling
+
+system  [17  ]  for  the  Unix  operating  system.   The  major  philosophical 
 dif-
+
+ferences  between  CP/MH  and  typical  user  agents  such  as  MSG  [4 ]  and 
 its
+
+descendants  are  those  of  modularity  and  of  user  interface.   In  CP/MH 
 (as
+
+in  MH)  the  user  does  not  invoke  a  single  monolithic  program  to  
deal  with
+
+mail,  but  rather  invokes  individual,  non-interactive  programs  with  
common
+
+knowledge of the way messages are stored.  Each program has default behav-
+
+ior which can be modified by using Unix-style command line options at time
+
+of  invocation  or  through  a  user  profile.   Help  messages  can  also  be 
 evoked
+
+from CP/MH programs.
+
+
+
+Messages  and  Folders
+
+
+The format of a CP/MH message adheres more or less to the syntax described
+
+in  RFC  822  in  which  a  message  consists  of  headers  containing  
information
+
+pertaining  to  the  message  source  and  destination,  and  the  message  
body,
+
+separated  from  the  headers  by  a  blank  line.  An  example  of  such  a  
message
+
+might be:
+
+
+
+          Date:  02  Nov  83  23:04:53  PST  (Wed)
+
+          To:  Toto  <address@hidden>
+
+          From:  The  Great  And  Powerful  Oz  <address@hidden>
+
+          Subject:  What  Be  Your  Excuse?
+
+
+
+          What's  the  matter?    I  ask  you  for  a  simple  thing  like
+
+          "distribute  this  to  address@hidden,"  and  you  can't  do  it.
+
+          You  undergrads  will  do  anything  to  get  out  of  work!
+
+
+
+                                                           4
+
+
+
+
+          --ozzie
+
+
+      Following  the  MH  convention,  each  message  is  kept  in  a  
separate  file.
+
+Since  a  message  is  simply  ASCII  text,  it  can  be  operated  upon  by  
non-
+
+CP/MH programs (such as text editors, in particular).
+
+      Collections  of  messages  are  called  folders.   Under  CP/MH,  
folders  are
+
+represented by several files:  an info file, containing maintenance information
+
+about  the  folder,  and  a  set  of  message  files  with  the  same  name  
as  the  info
+
+file,  but  with  unique  numeric  suffixes  (extensions  in  CP/M  parlance). 
  An
+
+example of this naming scheme might be:
+
+
+DRAFT       the info file for the DRAFT folder
+
+
+DRAFT.001          message 1 in the folder
+
+
+DRAFT.002          message 2 in the folder
+
+
+DRAFT.003          message 3 in the folder
+
+
+      The number of messages that may be stored in a folder is limited 
primarily
+
+by  the  storage  capacity  of  a  floppy  disk,  but  also  by  the  
three-digit  limit  of
+
+a CP/M extension.
+
+      The info file contains a field named CURRENT: specifying the current mes-
+
+sage  number.   The  current  message  number  signifies  the  default  message
+
+operated upon by CP/MH commands using a particular folder.  The current
+
+message  number  may  be  modified  by  some  commands.   An  example  of  the
+
+contents of the info file DRAFT might be
+
+
+             CURRENT:  3
+
+
+      This  indicates  that  the  file  DRAFT.003  would  be  operated  upon  
when
+
+default conditions apply (i.e.  when no message number is explicitly given to
+
+a CP/MH command).
+
+      Possible future uses for the info file include named message sequences (a
+
+set  of  messages  to  which  commands  may  be  applied  as  a  whole)  and  
user
+
+profile  information  for  application  to  particular  folders  (there  is  
presently  a
+
+single user profile, described shortly).
+
+      A  floppy  diskette  may  contain  more  than  one  folder,  but  
folders  do  not
+
+extend  over  more  than  one  floppy  diskette;  therefore  two  different  
diskettes
+
+may contain folders with the same name.
+
+
+
+                                                           5
+
+
+
+
+CP/MH  Commands
+
+
+Commands  operating  on  messages  can  be  divided  into  several  general  
cate-
+
+gories:
+
+
+
+Transporting:              sending, receiving
+
+
+Viewing:          selecting for display, showing header summaries
+
+
+Creating:          composing, replying, forwarding
+
+
+Archiving:           categorizing, refiling, deleting, sorting
+
+
+
+      The architecture of CP/MH permits the simulation of some of these cat-
+
+egories using standard CP/M commands when CP/MH, in its present prim-
+
+itive state, does not cover them.
+
+      A minimal functionality is presently provided by the following four com-
+
+mands:
+
+
+
+COMP           composes  mail  items:  creates  a  file  containing  header  
information
+
+         taken  from  a  standard  or  user-specified  template.  This  
newly-created
+
+         file may be edited to fill in the header fields and body.
+
+
+REPL         replies  to  mail  items:   creates  a  file  containing  header  
information
+
+         appropriate  for  answering  a  given  mail  item.   This  
newly-created  file
+
+         may be edited to change header fields and fill in the body.
+
+
+SEND          sends mail items:  posts selected items through the split-slot 
from a
+
+         draft folder.
+
+
+INC       receives  mail  items:  takes  delivery  of  selected  items  across 
 the  split-
+
+         slot, incorporating them into a mailbox folder.
+
+
+
+These  commands,  with  a  few  enhancements  and  modifications  appropriate
+
+to  the  CP/M  environment,  are  functionally  almost  identical  to  their  
Unix
+
+MH counterparts.
+
+      CP/MH commands are invoked like any other CP/M commands such as
+
+ED,  PIP,  or  DIR.  Command  line  options  are  generally  preceded  by  a  
dash
+
+(e.g.  -editor  A:ED),  and  may  be  abbreviated.  Folder  names  are  
preceded
+
+
+
+                                                           6
+
+
+
+
+by  a  plus  (e.g.   +B:DRAFT).  Messages  are  identified  by  numbers  or  
by  the
+
+special names first, last, current, next, and previous.
+
+      An example of use of a CP/MH command is:
+
+
+
+                        comp  -edit  a:ed  -use  last  +b:draft  -log
+
+
+
+      This  particular  example  will  edit  the  last-composed  message  (the 
 -use
+
+last  option)  in  the  folder  DRAFT  on  disk  drive  B:  (the  +b:draft  
option),
+
+using  the  standard  CP/M  editor  ED  on  disk  drive  A:  (the  -edit  a:ed 
 op-
+
+tion),  and  prompting  the  user  when  it  is  appropriate  to  change  
disks  (the
+
+-log option).
+
+      All  CP/MH  commands  have  a  -help  option  which  displays  all  
available
+
+options  for  the  particular  command  invoked.   Another  common  option  is
+
+-log  which  permits  the  user  to  change  (relog)  diskettes  after  
invoking  a
+
+command,  for  purposes  of  selecting  diskettes  with  message  folders  or  
with
+
+editor  programs.   This  is  particularly  useful  on  single-drive  systems  
or  on
+
+systems with diskettes of low storage capacity.
+
+
+
+The  Profile
+
+
+If  there  are  options  commonly  used  with  a  particular  CP/MH  command,
+
+they may be entered in the user profile contained in the file called (naturally
+
+enough)  PROFILE,  which  must  exist  on  the  same  diskette  on  which  
CP/MH
+
+commands reside and from which the commands are invoked.  A profile entry
+
+consists  of  a  program  name  followed  by  a  colon  and  the  options  to  
be  used
+
+with that program, for example:
+
+
+
+                        comp:    -editor  A:VEDIT  +B:outbox  -log
+
+                        repl:    -editor  A:VEDIT  -log
+
+                        send:    +B:outbox
+
+                        inc:    +B:inbox  -log
+
+
+
+      Individual profile components are overridden by options given at the time
+
+of  invocation  (e.g.   -noedit  given  on  the  command  line  will  override 
 the
+
+-editor profile component for a particular command).
+
+
+
+                                                           7
+
+
+
+
+The  MZnet  Split-Slot  Mail  Transfer  System
+
+
+The MZnet split-slot software implements a peer-to-peer communication pro-
+
+tocol  between  a  time-sharing  host's  MTA  and  a  personal  micro-computer
+
+(PC) UA. This MZnet protocol extends the UA/MTA/UA model of computer-
+
+based message systems (CBMS) to provide a split gateway function between
+
+individual PCs and the ZOTnet similar to the UCI ICS split Internet gateway
+
+described previously (see Figure 2).
+
+
+
+The  Structure  of  the  Split-Slot
+
+
+The  MZnet  Split  Gateway  consists  of  three  distributed  processing  
compo-
+
+nents:
+
+
+
+      -  A PC running a UA (in MZnet, CP/MH) acting as the mail server.
+
+
+      -  A  mini/mainframe  host  running  a  full  MTA  (MMDF  in  MZnet)  
pro-
+
+         viding mail relay services.
+
+
+      -  A  communication  protocol  (a  modified  version  of  MMDF  PhoneNet)
+
+         to connect the two ends of the split-slot.
+
+
+
+Although  this  combination  may  not  be  unique,  the  method  by  which  the
+
+MZnet  split-slot  bonds  these  parts  together  uniquely  deals  with  the  
prob-
+
+lems  of  remote  user  agents.  In  addition  to  overcoming  limited  
storage  and
+
+processing capacities, remote user agents must deal with noisy modem lines,
+
+mail  software  certification,  and  mail  system  security  problems.  The  
MZnet
+
+architecture  appears  to  solve  these  problems  with  a  clean  mail  
interface  for
+
+PCs.
+
+
+
+The  MZnet  Mail  Server
+
+
+The split-slot mail server consists of a set of command  packet programs run
+
+from the PC. These programs simply present commands through the Phone-
+
+Net  communication  protocol  to  the  mail  relay  slave  program  on  the  
host.
+
+Some basic commands are:
+
+
+
+PostMail          posts mail drafts to MTA
+
+
+
+                                                           8
+
+
+
+
+GetMail          accepts mail from MTA
+
+
+RemoteScan               displays information about waiting mail
+
+
+Quit      drops connection between PC and Host
+
+
+
+      Each command has the form:
+
+
+
+             Command Request
+
+             Data Transmission
+
+             Command Termination
+
+
+
+      For example, the PostMail command is a small program that:
+
+
+
+      -  initiates a command with the Mail Slave by sending the command name
+
+         (PostMail) encoded within a PhoneNet packet;
+
+
+      -  sends a series of PhoneNet packets that contain pieces of the mail 
item
+
+         to be posted;
+
+
+      -  finally sends a command termination signal to end the transaction 
with-
+
+         out terminating the connection between host and PC.
+
+
+
+The  MZnet  Channel  To  MMDF
+
+
+The MZnet Channel runs on the MTA host under the University of Delaware's
+
+MMDF  (Version  1)  and  is  responsible  for  both  delivery  of  received  
mail  to
+
+MZnet users, and posting of MZnet user-originated mail.  The MMDF MZnet
+
+channel  maintains  a  unique  message  queue  for  each  registered  MZnet  
user.
+
+As new mail items arrive, they are posted to the appropriate queues, where
+
+MZnet holds the mail items for pickup by their registered recipients.
+
+      To send or receive mail, the MZnet user must attach to the host, log into
+
+the  public  MZnet  account,  and  identify  (authenticate)  himself.  During  
the
+
+MZnet  session  with  the  host,  the  user  has  access  only  to  that  
restricted  set
+
+of  functions  provided  by  the  MZnet  split  gateway  protocol:  he  may  
request
+
+delivery of queued mail with GetMail, or post new mail with PostMail.  Prior
+
+to  taking  delivery  of  queued  mail,  a  survey  of  waiting  mail  also  
may  be
+
+
+
+                                                           9
+
+
+
+
+requested with RemoteScan to obtain message size information (among other
+
+data) to allow intelligent disposition of mail in the queue.
+
+      Hidden within these activities are issues of security and certification. 
 To
+
+certify and establish the identity of the user, a second password is requested
+
+after  logging  into  the  public  MZnet  account.   This  certification  
procedure
+
+allows  MZnet  to  certify  the  source  of  originated  mail.   A  relatively 
 secure
+
+environment  is  provided  by  MZnet,  as  it  is  the  only  interface  to  
the  host
+
+permitted  to  MZnet  users  (once  beyond  the  public  login  procedure),  
and  it
+
+offers only the severely restricted set of PhoneNet-encoded commands.  Aside
+
+from security issues, using a single account to handle all MZnet users reduces
+
+demands on system resources.
+
+
+
+The  MZnet-PhoneNet  Protocol
+
+
+A unique facet of the MZnet system derives from the PhoneNet File Transfer
+
+Protocol  (FTP).  PhoneNet  FTP  is  a  simple  error-checked  packet  protocol
+
+which transfers ASCII plaintext.  PhoneNet encodes any non-plaintext char-
+
+acter  (or  any  other  character  "forbidden"  by  the  idiosyncrasies  of  
the  com-
+
+municating  systems)  by  mapping  it  onto  an  "accepted"  character  set.  
The
+
+accepted character set mapping is determined by a "negotiating" session be-
+
+tween the two systems at the start of the PhoneNet session.
+
+      MZnet transfers all information (both commands and data) in PhoneNet
+
+packets to obtain error control.  The MZnet-PhoneNet command FTP toler-
+
+ates noise with a high degree of success, and in effect, connects both ends of
+
+the Split Slot together with a reliable set of virtual wires.
+
+
+
+MZnet  Session  Example
+
+
+Here,  a  typical  MZnet  session  is  presented,  with  the  UA  commands  
issued
+
+from  the  PC  side  of  the  connection  printed  in  a  typewriter  
typeface,  and
+
+the  responses  from  the  host  side  printed  in  an  italic  typeface.   
PhoneNet
+
+interactions are indented.  The initial connection to the host is accomplished
+
+with the term program, which provides a simple terminal emulation function.
+
+The prompt of the PC for a UA command is "Ai".  Note that passwords are
+
+never echoed by the host system.
+
+
+
+                 Ai term
+
+
+
+                                                           10
+
+
+
+
+                 login:  mznet
+
+                 password:
+
+                 MZ-Password:
+
+                               PhoneNet packet negotiation
+
+                 Connected.
+
+                               exit terminal mode
+
+                 Ai send  cur
+
+                               PostMail command
+
+                               message text packet transmission
+
+                               command terminator
+
+                 Ai quit
+
+                               Quit command
+
+                 Disconnecting.
+
+
+
+Conclusions
+
+
+The main conclusions of this paper are that small personal computer systems
+
+with dial-up phone connections constrain User Agent systems design in ways
+
+that  require  use  of  a  split-slot  interface  between  the  UA  and  its  
supporting
+
+Mail Transfer Agent (MTA), and that this interface will best provide the re-
+
+quired services if it has error controlled command and data transfer 
facilities,
+
+with interactive behavior.
+
+      It  is  also  believed  that  a  good  design  for  the  small  PC  UA  
is  based  on
+
+a  very  modular  architecture,  such  as  the  Rand  MH  system,  which  has  
been
+
+used as a pattern for the MZnet UA.
+
+      By bringing these concepts together, we expect MZnet to provide reliable
+
+UA/MTA service to a distributed set of small personal computers, to match
+
+the  quality  of  service  that  is  normally  only  available  from  larger  
mainframe
+
+host systems with co-resident UA/MTA pairs.
+
+
+
+References
+
+
+ [1]   SRI-NIC,  ARPANET  Directory,  Network  Information  Center,  SRI  In-
+
+       ternational, Menlo Park, California (November 1980).
+
+
+
+                                                           11
+
+
+
+
+ [2]   Comer,  D.,  A  Computer  Science  Research  Network  CSNET:  A  History
+
+       and Status Report, Communications of the ACM, volume 26, number 10
+
+       (October 1983) 747-753.
+
+
+ [3]   Emerson,  S.  L.,  USENET:  A  Bulletin  Board  for  Unix  Users.  BYTE,
+
+       volume 8, number 10 (October 1983) 219-236.
+
+
+ [4]   Vittal, J., MSG: A Simple Message System, in:  Uhlig (editor), Proceed-
+
+       ings  of  the  IFIP  TC-6  International  Symposium  on  Computer  
Message
+
+       Systems (North-Holland, April 1981).
+
+
+ [5]   Deutsch,  D.,  Design  of  a  Message  Format  Standard,  in:  Uhlig  
(editor),
+
+       Proceedings  of  the  IFIP  TC-6  International  Symposium  on  Computer
+
+       Message Systems (North-Holland, April 1981).
+
+
+ [6]   v.Bochmann,  G.  and  Pickens,  J.  R.,  A  Methodology  for  the  
Specifica-
+
+       tion  of  a  Message  Transport  System,  in:  Uhlig  (editor),  
Proceedings  of
+
+       the IFIP TC-6 International Symposium on Computer Message Systems
+
+       (North-Holland, April 1981).
+
+
+ [7]   Kerr,  I.  H.,  Interconnection  of  Electronic  Mail  Systems,  in:  
Uhlig  (edi-
+
+       tor),  Proceedings  of  the  IFIP  TC-6  International  Symposium  on  
Com-
+
+       puter Message Systems (North-Holland, April 1981).
+
+
+ [8]   Crocker,  D.,  Standard  for  the  Format  of  ARPA  Internet  Text  
Messages
+
+       (RFC 822) Network Information Center, SRI International, Menlo Park,
+
+       California (August 1982).
+
+
+ [9]   NBS,  Message  Format  for  Computer-Based  Message  Systems,  U.S.  Na-
+
+       tional Bureau of Standards FIPS Publication 98 (March 1983).
+
+
+[10]    CCITT  Study  Group  VII/5,  Draft  Recommendation  X.MHS1:   Mes-
+
+       sage  Handling  Systems:   System  Model_Service  Elements  (version  
2),
+
+       Technical  Report,  International  Telegraph  and  Telephone  
Consultative
+
+       Committee (CCITT) (December 1982).
+
+
+[11]    Rose,  M.,  Low  Tech  Connections  into  the  ARPA  Internet:  The  
Raw-
+
+       Packet  Split-Gateway,  University  of  California  Irvine  Techical  
Report
+
+       number 216 (February 1984).
+
+
+
+                                                           12
+
+
+
+
+[12]    Crocker, D., Szurkowski, E., Farber, D. J., An Internet Memo Distribu-
+
+       tion  Facility_MMDF,  Proceedings  of  the  Sixth  IEEE  Data  Communi-
+
+       cations Symposium (November 1979).
+
+
+[13]    Rose,  M.,  The  ZOTnet_A  Local  Area  Mailing  Network,  University  
of
+
+       California Irvine Technical Report number 200 (January 1983).
+
+
+[14]    CSNET-CIC,  Focus  on  the  University  of  California,  Irvine,  CSNET
+
+       News 2, Bolt, Beranek, and Newman, Cambridge, Massachusetts (Octo-
+
+       ber 1983).
+
+
+[15]    Rose,    M.,    Achieving    Interoperability    Between    Two    
Domains_
+
+       Connecting the ZOTnet and UUCP Computer Mail Networks, University
+
+       of California Irvine Technical Report number 201 (January 1983).
+
+
+[16]    Rose, M., Proposed Standard for Message Munging (RFC 886), Network
+
+       Information Center, SRI International, Menlo Park, California (Decem-
+
+       ber 1983).
+
+
+[17]    Borden, B. S., Gaines, R. S., and Shapiro, N.Z., The Rand MH Message
+
+       Handling System:  User's Manual (Rand Corporation, March 1983).
+
+
+
+                                                           13
+
+
+
+
+________________________________________________________________________________________________________________________
+
+Any  Host                                          Relay  Host                 
                      Any  Other  Host
+
+
+
+     user                                                                      
                               user
+
+
+
+     UA                                                                        
                                UA
+
+
+
+           slot                                                                
                          slot
+
+
+
+    MTA                                    MTA                        MTA      
                              MTA
+
+
+
+PhoneNet                               PhoneNet                    PhoneNet    
                           PhoneNet
+
+
+
+  modem                                  modem                       modem     
                             modem
+
+
+
+_______________________________________Figure_1:__The_MHS_Model_________________________________________________________
+
+
+
+                                                           14
+
+
+
+
+________________________________________________________________________________________________________________________
+
+Any  Host                                          MZnet  Host                 
                                PC
+
+
+
+     user                                                                      
                               user
+
+
+
+     UA                                                                        
                                UA
+
+
+
+           slot                                                           
split slot
+                                                       MZnet                   
                             MZnet
+
+
+
+    MTA                                    MTA
+
+
+
+PhoneNet                               PhoneNet                    PhoneNet    
                           PhoneNet
+
+
+
+  modem                                  modem                       modem     
                             modem
+
+
+
+____________________________________Figure_2:__The_Split-Slot_Model_____________________________________________________
+
+
+
+                                                           15
diff --git a/docs/historical/realwork.pdf b/docs/historical/realwork.pdf
new file mode 100644
index 0000000..4c56b91
Binary files /dev/null and b/docs/historical/realwork.pdf differ
diff --git a/docs/historical/realwork.txt b/docs/historical/realwork.txt
new file mode 100644
index 0000000..4e69868
--- /dev/null
+++ b/docs/historical/realwork.txt
@@ -0,0 +1,2445 @@
+
+
+
+
+                                                   MH.5:
+
+                          How  to  process  200  messages  a  day
+
+                           and  still  get  some  real  work  done./
+
+
+                                            Marshall T. Rose
+
+                                Member, Research Technical Staff
+
+                          Northrop Research and Technology Centery
+
+
+
+                                             John L. Romine
+
+                                     Computing Support Group
+
+                     Department of Information and Computer Science
+
+                                   University of California, Irvinez
+
+
+
+                                                Abstract
+
+
+        The  UCI  version  of  the  Rand  Message  Handling  System  (MH)  is  
dis-
+
+        cussed.  MH is a powerful user agent which operates in the ARPA 
Internet
+
+        and UUCP environments.  In addition to the usual functions provided
+
+        by similar programs, MH has several distinguishing characteristics 
which
+
+        give the user additional message handling capability.  In particular, 
MH
+
+        provides  mechanisms  for  maintaining  an  organized  mail  
environment,
+
+        tailoring its behavior, and extending its functions.
+
+
+        This document describes MH from several perspectives.  Particular em-
+
+        phasis is given to:  the MH user environment, advanced features of MH
+
+        which  have  proven  to  be  particularly  useful  for  sophisticated  
users  of
+
+        electronic mail, the user interface issues in MH, and the mh.5 
distribu-
+
+        tion.  The paper concludes with a summary of the authors' experiences
+
+        with MH, and a discussion of future areas of enhancement.
+
+
+
+_____________________________________
+./ Alternate title: MH: Your Key to Success.
+y One Research Park, Palos Verdes Peninsula, CA 90274. Telephone: 213/377-4811.
+
+Computer mail: MRose% address@hidden, : : :!fucbvax!ucivax,trwrbg!nrtc!mrose.
+z University of California at Irvine, Irvine, CA 92717. Telephone: 
714/856-6852.
+
+Computer mail: address@hidden, : : :!fucbvax,trwrbg!ucivax!jromine.
+
+
+                                                   MH.5:
+
+                          How  to  process  200  messages  a  day
+
+                             and  still  get  some  real  work  done
+
+
+
+Introduction
+
+        The UCI version of the Rand Message Handling System, MH, is a software
+
+system  that  performs  two  functions:  first_,  it  interfaces  a  user  to  
a  message
+
+transport system, so the user may receive and send mail; second___, it permits 
the
+
+user to maintain an organized mail environment to facilitate the composition of
+
+new messages and the reading of old messages.  In short, while not responsible 
for
+
+the delivery of messages, MH aids the user in handling mail.
+
+
+        MH  was  originally  developed  by  the  Rand  Corporation,  and  
initially  was
+
+proprietary  software.   The  Department  of  Information  and  Computer  
Science
+
+at  University  of  California,  Irvine,  shortly  after  joining  the  
Computer  Science
+
+Network (CSnet), acquired a copy of MH, and began additional development of
+
+the software.  Since that time, the Rand Corporation has declared MH to be in 
the
+
+public domain, and the UCI version of MH has passed through four major 
releases.
+
+The current version, mh.5, is available from U.C. Irvine for a nominal 
distribution
+
+fee, or may be retrieved from the University of Delaware via anonymous FTP.
+
+
+        Much credit must be given to the initial designers and implementors of 
MH:
+
+Bruce Borden, Stockton Gaines, and Norman Shapiro.  Although MH has suffered
+
+significant  development  at  UCI  since  Rand's  initial  release,  the  
fundamental
+
+concepts  of  MH's  environs  have  remained  nearly  unchanged.   In  
addition,  the
+
+authors of the current release gratefully acknowledge the comments of the many
+
+sites which have run various releases of MH in the past.  In particular, the 
dozen
+
+or so beta test sites for mh.5 provided tremendous help in stabilizing the 
current
+
+release.
+
+
+        MH  runs  on  different  versions  of  the  UNIX1  operating  system  
(such  as
+
+Berkeley  4.2bsd  and  various  flavors  of  v7).   In  addition,  MH  
supports  four
+
+different  message  transport  interfaces:  SendMail[EAllm83],  the  standard  
mailer
+
+for 4.2bsd systems; MMDF[DCroc79] and MMDF-II[DKing84], the Multi-Channel
+
+Memo Distribution Facility developed by the University of Delaware which forms
+
+the software-backbone for CSnet[DCome83] mail relay service; SMTP, the ARPA
+
+Internet Simple Mail Transfer Protocol[SMTP]; and, a stand-alone delivery 
system.
+
+
+
+_____________________________________
+1  UNIX is a trademark of AT&T Bell Laboratories.
+
+
+
+                                                       1
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              2
+
+
+        This  paper  is  organized  in  a  straight-forward  fashion:  
Initially,  the  MH
+
+philosophy  of  mail  handling  is  presented,  along  with  a  description  
of  the
+
+environment which the MH user is given to process mail.  Following this, 
certain
+
+advanced features of MH are discussed in more detail, such as facilities for 
selecting
+
+messages, and "advanced" concepts in draft handling.  In addition, user 
interface
+
+issues in mail handling are addressed, and the merits of MH's approach is 
critically
+
+examined.  Next, the mh.5 distribution package is described.  Finally, we 
conclude
+
+by discussing the authors' experience with MH development and introducing areas
+
+where MH may be further developed.
+
+
+        Although  familiarity  with  MH  is  not  assumed  on  the  part  of  
the  reader,
+
+some knowledge of the UNIX operating system is useful.  Appendix A gives a 
short
+
+synopsis of the MH commands.
+
+
+
+The MH Philosophy
+
+        Although MH has many traits which tend to distinguish it from other 
systems
+
+which handle mail, there is a single fundamental design decision which 
influences
+
+the interface between MH and the user:  MH differs from most other systems in
+
+that it is composed of many small programs instead of one very large one.  This
+
+architecture gives MH much of its strength, since intermediate and advanced 
users
+
+are able to take advantage of this flexibility.
+
+
+        The key to this flexibility is that the UNIX shell (usually the C 
shell or the
+
+Bourne shell), is the user's interface to MH. This means that when handling 
mail,
+
+the entire power of the shell is at the user's disposal, in addition to the 
facilities
+
+which MH provides.  Hence,  the user may intersperse mail handling commands
+
+with other commands in an arbitrary fashion, making use of command handling
+
+capabilities which the user's shell provides.
+
+
+        Furthermore, rather than storing messages in a complicated data 
structure
+
+within a monolithic file, each message in MH is a UNIX file, and each folder 
(an
+
+object  which  holds  groups  of  messages)  in  MH  is  a  UNIX  directory.   
That  is,
+
+the directory- and file-structure of UNIX is used directly.  As a result, any 
UNIX
+
+file-handling command can be applied to any message.
+
+
+        To the novice, this may not make much sense or may not seem important.
+
+However,  as  users  of  MH  become  more  experienced,  they  find  this  
capability
+
+attractive.  In addition, this approach is often quite pleasing to system 
implemen-
+
+tors,  because  it  minimizes  the  amount  of  coding  to  be  performed,  
and  given  a
+
+modular design, changes to the software system can be maintained easily.  There
+
+are,  however,  performance penalties to be paid with this scheme.  This issue 
is
+
+considered later in the paper.
+
+
+        Having described how MH fits into the UNIX environment, we now discuss
+
+the mail handling environment which is available to the MH user.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              3
+
+
+The MH Environs
+
+        In the $ HOME       directory of each MH user, a file named 
.mh_profile     contains
+
+static information about the user's MH environment, and default arguments for
+
+MH programs.  For the latter case, each line of profile takes the form:
+
+
+           program-name: options
+
+
+Each MH program consults the user's .mh_profile     for its options.  These 
options
+
+are consulted prior to evaluating any command-line arguments, and so provide 
the
+
+MH user the capability to customize the defaults for each command.  Futher, by
+
+using the UNIX link facility, different names can be given to the same command.
+
+Since each MH command looks in the .mh_profile     for a component with the 
name
+
+by  which  it  was  invoked,  it's  possible  to  have  different  defaults  
for  the  same
+
+program.  For example, it is not uncommon to link prompter (a simple prompting
+
+editor front-end) under the name rapid in the user's bin/   directory, and add 
to the
+
+.mh_profile    :
+
+
+           rapid: -prepend -rapid
+
+
+As a result, when prompter is invoked as rapid, it automatically uses the 
`-prepend'
+
+and `-rapid'      options.
+
+
+        The profile component ``Path:''       is the path to the user's 
MH-directory,
+
+usually Mail.  In addition to containing the user's folders, the MH-directory 
also
+
+contains skeletons and templates used by the MH programs, and the user's 
context
+
+file.  This latter file has the same format as the user's .mh_profile    , and 
contains the
+
+dynamic, context-dependent information about the user's environment.  Whenever
+
+MH looks for an MH-specific file, such as a template or skeleton, it first 
consults
+
+the user's MH-directory, and then a system-wide library area.
+
+
+        The MH user always has a current folder, which is the folder in which 
the user
+
+is currently (or was last) working.  Since any MH program which deals with 
folders
+
+implicitly manipulates this information, the name of the current folder is 
stored in
+
+the context    component ``Current-Folder:''            .  Every folder has a 
current message
+
+known as `cur'   .  These values are the defaults for MH commands which accept
+
+folder and/or messages arguments.
+
+
+        MH programs make use of a set of envariables which further customize 
their
+
+behavior.  The $ MH    envariable, if present, specifies the name of an 
alternate profile
+
+for the user.  This allows a user of MH to easily maintain multiple 
mail-handling
+
+environments.
+
+
+        In terms of command syntax, most MH commands accept an optional folder
+
+argument, such as `+outbox'      .  Unlike most UNIX commands, all MH commands
+
+have  switches  which  are  words,  rather  than  single  letters.   Switches  
may  be
+
+abbreviated  to  the  least  unambiguous  prefix.  All  MH  commands  also  
support
+   Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              4
+ 
_______________________________________________________________________________________________________________
+
+  1   %  inc
+  2   Incorporating  new  mail  into  inbox...
+  3
+  4       1+  03/16  Rand  MH  System      MH  transcript   <<Here's  the  
body  of  a  sample  m
+  5
+  6   %  show
+  7   (Message  inbox:1)
+  8   To:  address@hidden
+  9   Subject:  MH  transcript
+10    Date:  16  Mar  85  18:28:59  PST  (Sat)
+11    From:  Rand  MH  System  <address@hidden>
+12
+13    Here's  the  body  of  a  sample  message.
+14    %  repl
+15    To:  Rand  MH  System  <address@hidden>
+16    cc:  address@hidden
+17    Subject:  Re:  MH  transcript
+18    In-reply-to:  Your  message  of  16  Mar  85  18:28:59  PST  (Sat).
+19    --------
+20    Thanks  for  the  test.
+21
+22    /JLR
+23    ^D
+24
+25    What  now?  send
+26    %  comp
+27    To:  address@hidden
+28    cc:
+29    Subject:  sample  comp
+30    --------
+31    Here's  a  sample  compose  for  the  MH  transcript.
+32
+33    /JLR
+34    ^D
+35
+36    What  now?  send  -verbose
+37      --  Posting  for  All  Recipients  --
+38       --  Local  Recipients  --
+39       MRose:  address  ok
+40      --  Recipient  Copies  Posted  --
+41    Message  Processed
+
+
+                                                  Figure 1
+
+ 
_____________________________________________An_MH_Session_____________________________________________________
+
+
+
+ a  `-help'     switch,  which  lists  the  syntax  of  the  command  along  
with  available
+
+ switches, and the version number of the command.  Most MH commands also take
+
+ a `msg'    or `msgs'     argument which takes the form of a message number 
(``1''   ), a
+
+ message range (``1-2''     ), a standard sequence name (``cur''     ), or a 
user-defined
+
+ sequence name (``select''      ).
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              5
+
+
+An MH Transcript
+
+        Figure 1 contains a transcript of a simple MH session.  First, inc is 
run to
+
+incorporate the new mail into the user's ``+inbox''       folder.
+
+
+        A  scan  listing  of  the  mail  is  printed  while  it  is  being  
incorporated.  (The
+
+user could run scan explicitly to generate additional scan listings later on.) 
 The
+
+scan  listing  gives  the  message  number,  followed  by  the  date,  message 
 sender,
+
+and subject.  (If the message originated from the user generating the listing, 
the
+
+``to:''      addressee is displayed instead of the sender.)  If the subject is 
short, the
+
+first part of the message body is displayed after the characters ``<<''    .  
The plus
+
+sign (`+') after the message number indicates the current message.
+
+
+        The user show s the message, and decides to repl y.  A reply draft is 
created
+
+using  the  headers  of  the  message  being  replied-to,  using  the  default 
 replcomps
+
+template.  The  default  editor,  prompter,  is  called  to  edit  the  draft. 
 When  an
+
+EOT is typed, prompter exits and the user is left at the What  now?  prompt.  
The
+
+option send is chosen.  Since there were no problems in posting the draft with 
the
+
+message transport system, no additional output is produced.  (MH is not verbose
+
+by default.)
+
+
+        The  user  then  decides  to  compose  a  new  message.  The  default  
skeleton,
+
+components      ,  is  copied  to  the  draft,  and  prompter  is  once  again 
 called.   After
+
+entering the addresses, subject, and body, the user then send s the draft   
from the
+
+What  now?  prompt, using ``send -verbose''           , which causes MH to 
list out the
+
+message addresses as it submits them to the message transport system.
+
+
+
+Some MH Features
+
+        We now consider certain advanced features in MH. These features have 
been
+
+chosen to demonstrate some useful capabilities available to the MH user.
+
+
+Message Sequences and Selection
+
+        MH  has  several  built-in  message  sequence  names,  which  may  be  
used
+
+anywhere a `msg'     or `msgs'     argument is expected.  These are:  `cur'   
, `next'    ,
+
+`prev'    , `first'     , `last'    , and `all'   .  Message ranges may also 
be specified.  For
+
+example, `all'     is actually `first-last'        , and `+mh last:5'         
references the last
+
+five messages in your `+mh'    folder.  A powerful capability of MH is the 
ability to use
+
+not only the pre-defined message sequence names, but also arbitrary 
user-defined
+
+message sequence names.
+
+
+        Although all MH programs recognize user-defined sequences when 
appropriate,
+
+the  pick  and  mark  commands  can  create  and  modify  user-defined  message
+
+sequences.  The mark command allows low-level manipulation of sequences, and is
+
+not particularly interesting in our discussion.
+
+
+        The pick command selects certain messages out of a folder.  The 
criteria used
+
+for selection may be a search string and/or a date range.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              6
+
+
+        Searching  is  performed  on  either  a  specific  header  in  the  
message  (e.g.,
+
+``To:''     ), or anywhere within the message.  By default, pick lists out the 
message
+
+numbers that matched the selection criteria.  Thus, pick is useful in 
backquoted
+
+operations to the shell.  For example, to scan all the messages in the current 
folder
+
+from "frated", the MH user issues the command:
+
+
+           scan `pick -from frated`
+
+
+To  perform  more  complicated  message  selection,  user-defined  sequences  
are
+
+employed.  Supplying a `-sequence name'           argument to pick, will cause 
it to define
+
+the sequence `name'     as those messages matched.
+
+
+        Giving  pick  a  list  of  messages  causes  it  to  limit  its  
search  to  just  those
+
+messages.  For example, to find all the messages in the current folder from 
"frated"
+
+also dated before friday:
+
+
+           pick -from frated -sequence select
+
+           pick select -before friday -sequence select
+
+
+With the first pick command, the sequence ``select''        is defined to be 
all those
+
+messages from "frated".  In the second command, only those messages already in
+
+the ``select''       sequence are searched, and the ``select''       sequence 
is redefined
+
+to be only those messages which are also dated before friday.  Those messages 
could
+
+then be show n with:
+
+
+           show select
+
+
+When  a  `-sequence name'           argument  is  given  to  pick,  the  
default  behavior  _
+
+listing the message numbers matched _ is inhibited.  To re-enable this 
behavior,
+
+the `-list'     option may be given.  As a result, advanced users of MH often 
put the
+
+following line in their .mh_profile    :
+
+
+           pick: -sequence select -list
+
+
+which allows them to easily make use of the `select'      sequence as the 
messages
+
+last selected with pick.
+
+
+        Often it is desirable to act upon those messages which are not members 
of
+
+a given sequence.  For this purpose, the ``Sequence-Negation:''               
profile entry
+
+is useful.  If the name of a user-defined sequence is prefixed with the value 
of the
+
+sequence-negation profile entry, MH commands will operate upon those messages
+
+which are not members of that sequence.  For example, given a profile entry of:
+
+
+           Sequence-Negation: not
+
+
+those messages which are not in the `select'      sequence could be scan'd 
with:
+
+
+           scan notselect
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              7
+
+
+        Obviously, some confusion could result if an attempt was made to 
define a se-
+
+quence name which began with the sequence-negation string (e.g., ``notselect'' 
       ).
+
+For this reason, MH users will often use a single character, which their shell 
doesn't
+
+interpret, as their sequence-negation string (e.g., up-caret (`^') for C Shell 
users,
+
+and exclamation-mark (`!')  for Bourne shell users).
+
+
+        MH also provides a way of automatically remembering the last message 
list
+
+given to an MH command.  This facility is implemented by using a profile entry
+
+called ``Previous-Sequence:''              .
+
+
+Draft Handling
+
+        After  the  initial  edit  of  a  message  draft,  the  comp,  dist,  
forw,  and  repl
+
+programs give the user a What  now?  prompt.  The valid responses include:  
edit to
+
+re-edit the draft, quit to exit without sending the draft, send to send the 
draft, and
+
+push to send the draft in the background.
+
+
+        When the send option is given, the draft is posted with the message 
transport
+
+system.  If there problems posting the draft, the What  now?  prompt is 
re-issued, so
+
+errors in the draft may be corrected.
+
+
+        Since posting the draft can be slow, the push option allows the MH 
user to
+
+send the draft in the background, and return immediately to the shell.  If 
there are
+
+problems posting the message, the user will not see the diagnostics produced by
+
+the message transport system.  For this reason, if push is used instead of 
send, and
+
+the message is not successfully posted, MH mails a message to the user 
containing
+
+any diagnostics which the message transport system produced along with a copy
+
+of the message.  Later, the draft may be re-edited by entering ``comp -use''   
     .
+
+
+        A relatively new feature of MH is the ability to use a folder to store 
multiple
+
+drafts.  These drafts are kept in an ordinary MH folder, and may be operated 
upon
+
+by MH commands.  To enable this feature, the MH user selects a folder-name for
+
+the draft-folder, and creates an entry in the .mh_profile    :
+
+
+           Draft-Folder: +foldername
+
+
+From this point on, when a message is composed, the draft will be created as a
+
+message in that folder, instead of using the draft   file in the user's MH 
directory.
+
+Unfortunately, if posting problems occur on a message which has been push'd, it
+
+may be difficult to re-edit the draft with ``comp -use''        .  This might 
be the case
+
+if the user had started composing another message, while that first draft was 
being
+
+posted.  In  that  event,  the  current-message  in  the  draft-folder  would  
no  longer
+
+point to the failed draft.
+
+
+        There is a solution for this problem, however.  By default, push 
assumes the
+
+`-forward'        option,  which  says  that  if  the  message  draft  fails  
to  be  posted,  it
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              8
+
+
+should be forwarded back to the user in the error report which push generates.
+
+The failed draft may then be extracted with the burst program (discussed 
later).
+
+
+BBoards
+
+        MH has a convenient interface to the UCI BBoards facility[MRose84a].2  
This
+
+facility  permits  the  efficient  distribution  of  interest  group  messages 
 on  a  single
+
+host, to a group of hosts under a single administration, and to the ARPA 
Internet
+
+community.
+
+
+        Although most readers are probably familiar with the concept of an 
interest
+
+group in the Internet context, a brief description is now given.  Observant 
readers
+
+will notice that the distributed nature of the "network news" (a.k.a. USENET)
+
+tends to avoid many of the problems described below.
+
+
+        Described simply, an interest group is composed of a number of 
subscribers
+
+with a common interest.  These subscribers post mail to a single address, known
+
+as the distribution address (e.g., address@hidden From this distribution 
address,
+
+a copy of the message is sent to each subscriber.  Each group has a moderator,
+
+who is the person that runs the group.  This moderator can usually be reached 
at
+
+a special address, known as the request address (e.g., address@hidden).
+
+Usually,  the  responsibilities  of  the  moderator  are  quite  simple,  
since  the  mail
+
+system handles distribution to subscribers automatically.  In some interest 
groups,
+
+instead of each separate message being distributed directly to subscribers, a 
batch
+
+of (hopefully related) messages are put into a digest format by the moderator 
and
+
+then sent to the subscribers.  (This is similar to a newsletter format.)  
Although
+
+this requires more work on the part of the moderator and introduces delays, 
such
+
+groups tend to be better organized.
+
+
+        Unfortunately, some problems arise with the scheme outlined above.  
First,
+
+if two users on the same host subscribe to the same interest group, two copies 
of
+
+the message are delivered.  This is wasteful of both processor and disk 
resources at
+
+that host.
+
+
+        Second, some groups carry a lot of traffic.  Although subscription to 
a group
+
+does indicate interest on the part of a subscriber, it is usually not 
interesting to get
+
+50 or so messages delivered each day to the user's private maildrop, 
interspersed
+
+with personal mail,  which is likely to be of a much more important and timely
+
+nature.
+
+
+        Third, if a subscriber's address in a distribution list becomes "bad" 
somehow
+
+and causes failed mail to be returned, the originator of the message is 
normally
+
+notified.  It is not uncommon for a large list to have several bogus 
addresses.  This
+
+results in the originator being flooded with "error messages" from mailers 
across
+
+
+_____________________________________
+2  The UCI BBoards facility can run under either the MMDF or SendMail, or in a 
more restricted
+
+form under stand-alone MH.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985              9
+
+
+the Internet stating that a given address on the list was bad.  Needless to 
say, the
+
+originator usually does not care if the bogus addresses got a copy of the 
message
+
+or not.  The originator is merely interested in posting a message to the group 
at
+
+large.  On the other hand, the moderator of the group does care if there are 
bogus
+
+addresses on the list, but ironically does not receive notification.
+
+
+        To solve these problems, the UCI BBoards facility introduces a new 
entity
+
+into the picture:  a distribution channel.  All interest group mail is handled 
by the
+
+special mail system component.  The distribution address for an interest-group
+
+maps mail for that interest-group to the distribution channel, which then 
performs
+
+several actions.  First, if local delivery is to be performed, a copy of the 
message is
+
+placed in a global maildrop for the interest group with a timestamp and a 
unique
+
+number.  Local users can read messages posted for the interest group by reading
+
+this "public" maildrop.  Second, if further distribution is to take place, a 
copy of
+
+the message is sent to the distribution address in such a way that if any of 
the
+
+addresses are bogus, failure notices will be returned to the local maintainer 
of the
+
+group address list, rather than the originator of the message.
+
+
+        This scheme has several advantages:  First, messages delivered to the 
local
+
+host are processed and saved once in a globally accessible area.  The UCI 
BBoards
+
+facility supports software which allows a user to query an interest group for 
new
+
+messages and to read and process those messages in the MH-style.  Second, once
+
+a host administrator subscribes to an interest group, each user may join or 
quit
+
+the list's readership without contacting anyone.  Third, a hierarchical 
distribution
+
+scheme can be constructed to reduce the amount of delivery effort.  Finally, 
errors
+
+are prevented from propagating.  When an address on the distribution list goes
+
+bad, the list moderator who is responsible for the address is notified.  If a 
local
+
+moderator does not exist,  then the local PostMaster is notified (not the 
global
+
+group moderator).
+
+
+        In addition to solving the problems outlined above, the UCI BBoards 
facility
+
+supports several other capabilities.  BBoards may be automatically archived in
+
+order  to  conserve  disk  space  and  reduce  processing  time  when  reading 
 current
+
+items.   Also,  the  archives  can  be  separately  maintained  on  tape  for  
access  by
+
+interested researchers.
+
+
+        Special  alias  files  may  be  generated  which  allow  the  MH  user 
 to  shorten
+
+address entry.  For example, instead of sending to address@hidden, a user of
+
+MH usually sends to ``SF-Lovers''          and the MH aliasing facility 
automatically
+
+makes the appropriate expansion in the headers of the outgoing message.  Hence,
+
+the user need only know the name of an interest group and not its global 
network
+
+address.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             10
+
+
+        Finally, the UCI BBoards facility supports private interest groups 
using the
+
+UNIX  group  access  mechanism.  This  allows  a  group  of  people  on  the  
same  or
+
+different machines to conduct a private discussion.
+
+
+        The practical upshot of all this is that the UCI BBoards facility 
automates the
+
+vast majority of BBoards handling from the point of view of both the PostMaster
+
+and the user.
+
+
+        MH provides three programs to deal with interest groups.  The bbc 
program
+
+is used to check on the status of one or more groups, and to optionally start 
an
+
+MH shell on those groups which the user is interested in.  The bbl program can 
be
+
+used to manually perform maintenance on a discussion group beyond the normal
+
+automatic  capabilities  of  the  UCI  BBoards  facility.  Finally,  the  msh  
program
+
+implements  an  MH  shell  for  reading  BBoards,  in  which  nearly  all  of  
the  MH
+
+commands are implemented in a single program.
+
+
+        Observant  readers  may  note  that  the  use  of  msh  is  contrary  
to  the  MH
+
+philosophy of using relatively small, single-purpose programs.  Sadly, the 
authors
+
+admit that this is true.  In an effort to minimize use of system resources 
however,
+
+BBoards are kept in maildrop format instead of folders.3  Some research has 
gone
+
+into overcoming this problem to restore MH's purity of purpose, but all 
solutions
+
+proposed  to  date  are  either  unworkable  or  require  significant  
recoding  of  MH's
+
+internals.
+
+
+Bursting
+
+        Internet interest group mail is often sent out in digest form.  The 
experienced
+
+MH user may wish to deal with the digest messages on an individual basis, 
however.
+
+The burst program allows the MH user to extract these digest messages, and 
store
+
+each as an individual MH message.
+
+
+        Burst will also extract forwarded messages generated by forw (or the 
forwarded
+
+message  in  the  error  report  generated  by  push,  as  described  above).  
Although
+
+burst cannot always decapsulate messages encapsulated by sites not running MH,
+
+it adheres to the proposed standard described in [MRose85b].
+
+
+
+_____________________________________
+3  When the message transport system delivers a message to a user it stores it 
in a single file, called
+
+a maildrop. Since many messages may be present in a single maildrop, (in 
theory) there is a unique
+string acting as a separator between messages in the maildrop.  Although this 
is convenient for
+storage of messages, it makes retrieval more difficult unless a separate index 
into the maildrop is
+kept. This latter approach is taken by the msg program available with MMDF-II 
and by msh as well.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             11
+
+
+Distributed Mail
+
+        The  ARPA  Internet  community  consists  of  many  types  of  
heterogeneous
+
+nodes.  Some  hosts  are  large  mainframe  computers,  others  are  personal  
work-
+
+stations.  All  communicate  using  the  milstd  TCP/IP  protocol  suite[IP, 
TCP].
+
+Messages which conform to the Standard for the Format of ARPA Internet Text
+
+Messages[DCroc82] are exchanged using the Simple Mail Transfer Protocol[SMTP].
+
+
+        On smaller nodes in the ARPA Internet, it is often impractical to 
maintain
+
+a message transport system (e.g., SendMail).  For example, a workstation may 
not
+
+have sufficient resources (cycles, disk space) in order to permit an SMTP 
server
+
+and associated local mail delivery system to be kept resident and continuously
+
+running.  Furthermore, the workstation could be off-net for extended periods of
+
+time.  Similarly, it may be expensive (or impossible) to keep a personal 
computer
+
+interconnected to an IP-style network for long periods of time.  In other 
words, the
+
+node is lacking the resource known as "connectivity".
+
+
+        Despite  this,  it  is  often  desirable  to  be  able  to  manage  
mail  with  MH  on
+
+these smaller nodes, and they often support a user agent to aid the tasks of 
mail
+
+handling.  To solve this problem,  a network node which can support a message
+
+transport  entity  (known  as  service  host)  offers  a  maildrop  service  
to  these  less
+
+endowed nodes (known as client hosts).  The Post Office Protocol[JReyn84] (POP)
+
+is intended to permit a workstation to dynamically access a maildrop on a 
service
+
+host to pick-up mail.4  The level of access includes the ability to determine 
the
+
+number of messages in the maildrop and the size of each message, as well as to
+
+retrieve and delete individual messages.  More sophisticated implementations 
of the
+
+POP server are able to distinguish between the header and body portion of each
+
+message, and send n lines of a message to the POP client.  This capability is 
useful
+
+in thinly connected environments where conservation of bandwidth is important.
+
+By utilizing a more intelligent POP client, a user may generate "scan 
listings" and
+
+decide dynamically which messages are worth taking delivery on.  The philosophy
+
+of the POP is to put intelligence in the POP clients and not the POP servers.
+
+
+        The current release of MH supports the above model fully.  A POP client
+
+program is available to retrieve a maildrop from a POP service host.  In 
addition,
+
+using  the  SMTP  configuration  for  delivery  in  MH  (either  in  
conjunction  with
+
+SendMail  or  the  MMDF),  a  user  is  able  to  specify  a  search-list  of  
service  hosts
+
+(and/or networks) to try to post mail.  Using this search-list, when an MH user
+
+posts a draft,  the post program will attempt to establish an SMTP connection
+
+with  each  host  in  the  search-list  to  post  the  message  until  it  
succeeds.  Initial
+
+
+_____________________________________
+4  Actually, there are three different descriptions of the POP. The first, 
cited in [JReyn84], was the
+
+original description of the protocol, which suffered from certain problems. 
Since then, two alternate
+descriptions have been developed. The official revision of the POP[MButl85], 
and the revision of the
+POP which MH uses (which is documented in an internal memorandum in the MH 
release).  This
+paper considers the POP in the context of the MH release.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             12
+
+
+experimentation  using  the  POP  and  MH  in  a  local  network  environment  
has
+
+proved quite successful.
+
+
+
+User Interface Issues in MH
+
+        At this point, it is perhaps useful to take a step backwards and 
examine the
+
+success and problems of MH's approach to user interfaces.
+
+
+Creeping Featurism
+
+        A complaint often heard about systems which undergo substantial 
develop-
+
+ment by many people over a number of years, is that more and more options are
+
+introduced which add little to the functionality but greatly increase the 
amount of
+
+information a user needs to know in order to get useful work done.  This is 
usually
+
+referred to as creeping featurism.
+
+
+        Unfortunately MH, having undergone six years of off-and-on development 
by
+
+ten or so well-meaning programmers (the present authors included), suffers 
mightily
+
+from this.  For example, the send command has twenty-five visible switches, 
and at
+
+least nine hidden switches, for a total of thirty-four.  The poor user who 
types
+
+
+           send -help
+
+
+watches the options scroll off the screen (since the `-help'      switch also 
lists out
+
+four other lines of information).5   The sad part is that all of these 
switches are
+
+useful in one form or another.
+
+
+        There are a lot of good things to be said for the "one program, one 
function"
+
+philosophy of system design.  In the MH case, however, each program really does
+
+only  one  mail  handling  activity  (with  a  few  minor  exceptions).   The  
options
+
+associated with each command are present to modify the program's behavior to
+
+perform similar, but slightly different tasks.  In further defense of MH, note 
that
+
+there are 32 MH commands at present, all performing different tasks.
+
+
+        The problem with creeping featurism though, is that while the 
functionality
+
+of the system increases sub-linearly, the complexity of the system increases 
linearly.
+
+That is, although the number of switches that a program takes might double, it 
is
+
+unlikely that the program's functionality or capabilities will double.
+
+
+
+_____________________________________
+5  Recently, this was fixed by compressing the way in which switches are 
presented. The solution is
+
+only temporary however, as send will no doubt acquire an endless number of 
switches in the years
+to come.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             13
+_______________________________________________________________________________________________________________
+
+To:
+cc:
+Bcc:
+Fcc:  outbox
+Fcc:
+Subject:
+Reply-To:
+--------
+
+
+                                                 Figure 2
+
+______________________________________________Draft_Skeleton___________________________________________________
+
+_______________________________________________________________________________________________________________
+
+To:  <reply-to_from>
+cc:  <?to_cc><to>,<cc>
+Fcc:  +outbox
+Fcc:  <?fcc><fcc>
+Subject:  <?subject>Re:  <subject>
+In-reply-to:  <?date><?message-id>Your  message  of  <date>.
+       <message-id>
+In-reply-to:  <?date><!message-id>Your  message  of  <date>.
+--------
+
+
+                                                 Figure 3
+
+_____________________________________________Reply_Template____________________________________________________
+
+
+
+Templates versus Switches
+
+        One  way  to  trim  the  explosion  of  available  options,  while  
still  increasing
+
+functionality, is to introduce options with a richer domain.  Hence, instead 
of using
+
+options which take on or off forms or simple numeric or string values, the 
possible
+
+values which an option might take on is given a large space.  There are 
several ways
+
+that this might be accomplished.
+
+
+        The comp,  dist,  and forw programs use draft skeletons (simple form 
fill-in
+
+files) to construct the general format of the draft being composed.  An 
example of
+
+a draft skeleton used for composing new messages (by comp) is shown in Figure 
2.
+
+The approach is to let the user specify (and later edit) both arbitrary 
headers of
+
+draft and the body of the draft.  Note while most of the fields are empty, the 
first
+
+``Fcc:''       field already contains a value.  By using the simple prompting 
editor,
+
+prompter, the user can speedily enter the headers of the message.  The prompter
+
+program given the skeleton in Figure 2 would prompt the user for the contents
+
+of each field, except for the second ``fcc:''     , which it would include 
verbatim.
+
+It would then read the body of the message up to an end-of-file.  Naturally, 
the
+
+MH user is free to use any editor to edit any part of the draft (headers or 
body).
+
+This example demonstrates the flexibility achieved by not limiting what 
headers a
+
+draft may contain (which most mail sending programs do), while still retaining 
the
+
+simplicity of being able to treat the entire message draft as a UNIX file.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             14
+_______________________________________________________________________________________________________________
+
+From:  <?me>Message  Agent  "<<me>>
+To:  <reply-to_from>
+Fcc:  +rcvtrip
+Fcc:  <?fcc><fcc>
+Subject:  <?subject>BEEP!  Re:  <subject>
+Subject:  <!subject>BEEP!
+In-reply-to:  <?date><?message-id>Your  message  of  <date>.
+       <message-id>
+In-reply-to:  <?date><!message-id>Your  message  of  <date>.
+--------
+
+
+      This  is  an  automatic  reply.   Feel  free  to  send  additional  
mail,  as  only
+      this  one  notice  will  be  generated.
+
+
+      I  am  attending  the  USENIX  Summer  '85  conference  in  Portland,  
Oregon.
+      I  expect  to  be  reading  mail  again  on  the  16th  of  June.
+
+
+/mtr
+
+
+                                                 Figure 4
+
+__________________________________The_tripcomps______Reply_Template____________________________________________
+
+
+
+        Another  more  interesting  approach  is  used  by  the  repl  
command,  which
+
+constructs a draft in reply-to a previously received message.  Instead of 
adding
+
+switches to indicate which fields of the draft should be derived from the 
message
+
+being replied-to, and how they should be derived, a single option, the ability 
to
+
+specify a template, was made available.  An example of a reply template is 
shown
+
+in Figure 3.  Put simply,  based on the presence of certain fields in the 
message
+
+being replied-to, and a few switches given by the user, using the reply 
template,
+
+repl generates the reply draft automatically.
+
+
+        This facility, for example, can be used to generate automatic 
replies.6  One
+
+function  might  be  to  write  a  rcvtrip  shell  script  which  
automatically  answered
+
+messages when mail wasn't being read for a period of time (e.g., while 
attending a
+
+conference).  An example of a reply template at the heart of such a script is 
shown
+
+in Figure 4.
+
+
+        Finally, another application might be to utilize the highly useful 
letter bomb
+
+protocol.7  The important thing to note about this template is that it 
generates
+
+not only the headers of the reply draft (with a creative ``Reply-to:''         
address),
+
+but the body as well.  Hence, the commands
+
+
+           repl -form bombcomps -noedit ; rmm
+
+
+_____________________________________
+6  MH supports the notion of a user-defined mail hook which is invoked each 
time a user receives
+
+mail.
+7  The  authors  wish  to  credit  Ron  Natalie  of  the  Ballistics  Research 
 Laboratory  in  Aberdeen,
+
+Maryland for formalizing the use of this protocol in the ARPA Internet 
community.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             15
+_______________________________________________________________________________________________________________
+
+To:  <reply-to_from>
+cc:  <?to_cc><to>,<cc>
+Fcc:  +outbox
+Fcc:  <?fcc><fcc>
+Subject:  <?subject>Re:  <subject>
+In-reply-to:  <?date><?message-id>Your  message  of  <date>.
+       <message-id>
+In-reply-to:  <?date><!message-id>Your  message  of  <date>.
+Reply-To:  /dev/null
+--------
+
+
+                                   "
+                                  *-XXX
+                                   /    XX
+                                           X
+                                              X
+                                               X
+                                               X
+                                               X
+                                          IIIIIIIII
+                                          IIIIIIIII
+                                          IIIIIIIII
+                                          IIIIIIIII
+                                          XXXXXXXXX
+                                XXXXXXXXXXXXXXXXXXXXXXX
+                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                            XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                XXXXXXXXXXXXXXXXXXXXXXX
+                                          XXXXXXXXX
+
+
+                                                 Figure 5
+
+_________________________________The_bombcomps________Reply_Template___________________________________________
+
+
+
+           What now? push
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             16
+_______________________________________________________________________________________________________________
+
+width=80,length=0,overflowtext=,overflowoffset=10
+Date:leftadjust,compress,compwidth=9
+Subject:leftadjust,compress,compwidth=9
+From:leftadjust,compress,compwidth=9
+To:leftadjust,compress,compwidth=9
+cc:leftadjust,compress,compwidth=9
+Resent-Note:leftadjust,compwidth=9
+:
+body:nocomponent,overflowoffset=0
+
+
+                                                 Figure 6
+
+____________________________________________Display_Template___________________________________________________
+
+
+
+are very handy for dealing with disturbing mail in a straight-forward manner.  
Of
+
+course, repl could be linked to bomb in the user's bin/   directory and an 
appropriate
+
+line could be added to the user's MH profile, in order to further shorten 
type-in.
+
+
+        A variation on the reply template is the display template.  A display 
template,
+
+as used by the mhl program, contains instructions on how to format a message.  
In
+
+addition to being used by show, et. al., the forw program can also use a 
display
+
+template to format each message being forwarded.  Similarly, although repl 
uses a
+
+reply template to construct the draft being composed, it also may use a display
+
+template to format the body of the message being replied-to for enclosure in 
the
+
+reply.  Furthermore, the post program may use a display template to format the
+
+body of a blind-carbon-copy.  An example of a display template used for 
formatting
+
+forwarded messages is shown in Figure 6.
+
+
+        As with reply templates, display templates can offer a lot of 
functionality.
+
+For example, the one line display template:
+
+
+           body:nocomponent,overflowtext=,overflowoffset=0,width=10000
+
+
+can be used to extract the body of a message, while ignoring the headers.  
Hence,
+
+if a shar archive arrived in the mail, a convenient way to unpack it, assuming 
the
+
+above display template was called mhl.body     , would be:
+
+
+           show -form mhl.body _ sh
+
+
+
+        The biggest win with display templates, of course, is that all those 
annoying
+
+header lines which mailers everywhere generate can be simply and easily 
filtered
+
+out.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             17
+
+
+Modularity versus Monolithicity
+
+        Since MH is a set of programs which perform separate tasks, as opposed 
to
+
+being a single, monolithic program, the power of the shell is used directly to 
aid in
+
+mail-handling.  One powerful capability which this design achieves is the 
ability to
+
+extend the MH command set, by developing shell scripts which use the standard
+
+MH programs to accomplish complicated or specialized tasks.
+
+
+        For  example,  in  the  MH  distribution  there  is  a  shell  script  
called  mpick
+
+(shown in Figure 7) which tries to locate all the messages which pertain to a 
given
+
+discussion, by looking at the ``Message-ID:''           and ``In-reply-to:''   
        headers,
+
+to find matching message-ids.8
+
+
+        Unfortunately, some parts of MH are somewhat monolithic.  An example of
+
+this is the What  now?  prompt.  There are only a few options at this prompt, 
and
+
+one cannot give a normal shell command.  Some MH users seem to feel that more
+
+options should be added to the What  now?  prompt, such as an insert-file 
option.  It
+
+was argued that just about any editor would allow you to insert a file, and 
another
+
+What  now?  option was not needed.  These users persisted, however, so the 
problem
+
+was solved, by writing a trivial shell script "editor" (see Figure 8) which 
could be
+
+invoked by the edit option:
+
+
+           What  now? edit append filename
+
+
+
+        A better interface at this point is really needed, however.  One 
possibility is to
+
+simply pass any unrecognized commands on to a shell for interpretation, 
supplying
+
+the  path  name  of  the  draft  file  as  an  argument.  A  solution  which  
shows  more
+
+promise is to give you a sub-shell instead of the What  now?  prompt,  and 
setup
+
+certain envariables so that the MH commands would act upon the draft   by 
default.
+
+For example, show with no `msgs'     arguments would show the draft instead of 
the
+
+current message.  This alternative has recently been implemented and is under
+
+testing.
+
+
+
+The MH Distribution
+
+        The  mh.5  distribution  is  now  briefly  described,  both  in  terms 
 of  static
+
+configuration methods and dynamic tailoring.  Appendix B describes the 
mechanics
+
+of receiving an mh.5 distribution.
+
+
+
+_____________________________________
+8  Note that the shell scripts included in the MH distribution are written for 
the Bourne shell, and
+
+have a `:' as the first character of the first line, so they will be portable 
to all versions of UNIX, not
+just those which support the Berkeley `# !' enhancement.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             18
+_______________________________________________________________________________________________________________
+
+:  'mpick  -  relate  messages  /mtr'
+PATH=:/bin:/usr/bin:/usr/ucb:/usr/local:/usr/local/lib/mh;  export  PATH
+F=""  M=""  S=""
+
+
+for  A  in  $*
+do
+      case  $A  in
+           -*)       S="$S  $A"  ;;
+
+
+           address@hidden)   case  $F  in
+                           "")   F=$A  ;;
+                           *)    echo  "mpick:  only  one  folder  at  a  
time"  1>&2
+                                  exit  1  ;;
+                      esac  ;;
+
+
+           *)        M="$M  $A"  ;;
+      esac
+done
+
+
+S="$S  -sequence  hits  -list  -nozero"
+
+
+if  mark  $F  all  -add  -sequence  hits;
+      then  mark  $F  all  -delete  -sequence  hits;
+      else  exit  1;
+fi
+
+
+for  A  in  $-M-cur"
+do
+      for  C  in  `mhpath  $F  $A`
+      do
+           if  [  -r  $C  ];
+                then
+                      I=`mhl  -form  mhl.msgid  $C`;
+                      case  $I  in
+                           "")   echo  "no  message-id  in  message  `basename 
 $C`"  1>&2  ;;
+                           *)    pick  --in-reply-to  "$I"  $S  ;;
+                      esac
+                else
+                      echo  "message  $A  doesn't  exist"  1>&2;  exit  1;
+           fi
+      done
+done
+
+
+exit  0
+
+
+                                                 Figure 7
+
+____________________________________________The_mpick_Script___________________________________________________
+
+
+
+Configurable MH
+
+        The  MH  distribution  currently  runs  on  a  large  number  of  
different  UNIX
+
+versions, ranging from MicroSoft XENIX to Berkeley 4.2bsd.  All the code which
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             19
+_______________________________________________________________________________________________________________
+
+:  'append  -  stupid  append  editor  for  MH  -  /jlr'
+case  $#  in
+    1_2)  case  $#  in
+                1)  F=$1;  echo  -n  "Append  file:  "  1>&2;  read  A  ;;
+                2)  F=$2;  A=$1  ;;
+           esac
+           cat  $A  <  /dev/null  >>  $F  ;;
+       *)  echo  "append:  arg  count"  1>&2  ;  exit  1  ;;
+esac
+exit
+
+
+                                                 Figure 8
+
+___________________________________________The_append_Editor___________________________________________________
+
+_______________________________________________________________________________________________________________
+
+bin       /usr/local
+bboards  on
+editor   /usr/local/prompter
+etc       /usr/local/lib/mh
+mail      /usr/spool/mail
+manuals  local
+mts       sendmail/smtp
+news      off
+options  BSD42
+options  MHE  NETWORK
+options  UCI
+
+
+                                                 Figure 9
+
+___________________________________Sample_MH_Configuration_File________________________________________________
+
+
+
+is specific to a particular target environment is enabled via the 
C-preprocessor
+
+``# ifdef''       mechanism, so compilation under different versions of UNIX 
is trivial.
+
+There are, however, a large number of compile-time options which may vary from
+
+site to site, so an automated configuration method was needed.
+
+
+        The MH-installer must create a configuration file,  which contains a 
list of
+
+the compile-time options and the values which are desired for them.  
Compile-time
+
+options include the installation location for MH, what kind of message 
transport
+
+system is to be used, and the default editor for the installation.  An example 
of
+
+such a configuration file is shown in Figure 9.
+
+
+        After creating this file (several examples are included in the 
distribution), the
+
+installer runs the mhconfig program, which customizes the Makefile    s and 
some of
+
+the programs, for that site's particular installation.  No hand-editing of any 
source
+
+code should be necessary, under normal circumstances.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             20
+_______________________________________________________________________________________________________________
+
+mmdfldir:          /usr/spool/mail
+mmdflfil:
+mmdelim1:          "001"001"001"001"n
+mmdelim2:          "001"001"001"001"n
+mmailid:           0
+lockstyle:        0
+lockldir:
+
+
+hostable:          /usr/local/lib/mh/hosts
+servers:           localhost  "01localnet
+
+
+                                                Figure 10
+
+_______________________________________Sample_MTS_Tailor_File__________________________________________________
+
+
+
+Interface to the Message Transport System
+
+        MH will run with a number of message transport systems, including 
SendMail,
+
+MMDF-II, and a small stand-alone system.  One flexible method of posting mail
+
+is through an SMTP connection.  There are a couple of major wins in using this
+
+configuration:  First, none of the MH programs need to know where the interface
+
+programs to the message transport system are located, which makes them easier
+
+to move between systems.  Second, mail can be posted on relay hosts, and the 
local
+
+host of an MH user may not need a message transport system at all (as alluded 
to
+
+in the preceeding discussion on the POP).
+
+
+        Those parts of MH which interact with the local message transport agent
+
+read additional tailoring information when they start.9  This information 
includes
+
+the location of standard and alternate maildrops, maildrop delimiter strings, 
the
+
+locking  directory  and  locking  style,  and  other  tailoring  information  
specific  for
+
+the particular message transport system in use (e.g., the default server 
search-list
+
+when mail is posted with the SMTP). In most cases, by using a tailor file, 
each site
+
+running a similar MH configuration is able to simply transfer MH binaries 
between
+
+hosts.  An example of such a tailor file is shown in Figure 10.
+
+
+        A  continuing  question  which  is  often  raised  is  how  
intelligent  should  user
+
+agents (like MH and UCB Mail ) be with respect to the environment in which they
+
+operate.  At present, MH likes to determine the official hostnames for 
addresses
+
+when posting mail.  Many argue that this is improper or unnecessary behavior
+
+for  a  user  agent,  and  that  the  local  message  transport  agent  should 
 handle
+
+these  functions.   Unfortunately,  this  implies  that  the  message  
transport  agent
+
+should munge headers when mail is posted to remove local host aliases and only
+
+permit address fields with fully-qualified addresses.  Sadly, neither SendMail 
nor
+
+MMDF-II  really  gets  this  right  (flames  to  /dev/null     please).   The  
current  MH
+
+maintainers believe that the resolution of host aliases to official names 
should be
+
+a well-supported interface with the local message transport agent.  However,  
to
+
+_____________________________________
+9  This simple facility is based on a more extensive tailoring capability 
found in MMDF-II.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             21
+
+
+provide equal time to those who hold opposite views, MH supports a 
configuration
+
+option called ``DUMB''       which disables MH's attempts to resolve addresses 
into
+
+fully-qualified strings.
+
+
+
+Concluding Remarks
+
+        While MH has undergone significant development since the original Rand
+
+release, the authors have tried to keep the fundamental concepts of MH 
unchanged.
+
+The authors have continually had to battle against well-meaning MH users who
+
+wanted to make MH more like other (less powerful) user agents.  More and more
+
+"features"  were  often  suggested  for  MH,  usually  at  the  expense  of  
making  MH
+
+less  general,  and  more  specific.  In  nearly  all  cases,  the  "features" 
 which  these
+
+users wanted were already present in MH in a slightly different form, or could 
be
+
+realized by simply writing a short shell script.  A classic example is the 
repeated
+
+requests  by  one  user  to  have  dist  take  a  list  of  messages  rather  
than  a  single
+
+message and distribute each one of them in turn.  A simple shell script which 
called
+
+dist repeatedly, perhaps with "canned" arguments so the user typed in 
addressing
+
+information only once, would easily meet this request.
+
+
+        A number of MH comands have a large number of options.  When adding
+
+options, the authors have tried to make the options general, while still 
accomodating
+
+the  requests  of  specific  users.   An  example  of  a  specific  request  
which  was
+
+implemented  as  a  general  feature  is  the  ``Previous-Sequence''           
   profile  entry
+
+(mentioned above).  If you use this profile entry, every MH command is forced 
to
+
+write out context    changes, making every command somewhat slower.  Since 
only a
+
+few users wanted this capability, it was implemented in such a way that users 
who
+
+didn't want it, didn't have to pay the cost of slowing down every MH command.
+
+
+        MH has a powerful tailoring capability provided by the .mh_profile    
.  Using
+
+profile entries, users may customize their own environment without affecting 
others.
+
+Novice users often take advantage of the MH-tailoring capabilities to try to 
make
+
+MH work similarly to other user agents they've used.  This has the advantage of
+
+allowing them to quickly begin using MH to handle their mail.  However, since 
these
+
+novice users don't take advantange of all the capabilities of MH, they 
frequently
+
+will complain about things they think can't be done with MH, or could be done
+
+"better" some other way.  Fortunately,  as these users become more experienced
+
+with  both  MH  and  UNIX,  they  can  modify  their  environment  to  take  
better
+
+advantage of all of MH's capabilities.  Novice MH users who see features 
lacking
+
+are encouraged to take a better look at what MH can do, instead of trying to 
make
+
+MH into something it isn't.  This may sound rather inflammatory, but it would
+
+really be a much nicer world for us all if users of software systems would 
read the
+
+manual prior to asking questions.
+
+
+        For  a  moment,  let's  consider  the  evolution  of  one  MH  feature 
 which  has
+
+proved  itself  to  be  very  useful.  As  users  began  employing  MH  to  
handle  their
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             22
+
+
+mail, the number of messages that could be processed in a given amount of time
+
+increased greatly.  As the volume of messages increased however, it became 
clear
+
+that  some  MH  operations  were  too  slow,  in  particular  the  interaction 
 with  the
+
+(slow) message transport system.  To overcome this problem, the push option was
+
+added at the What  now?  prompt.  Originally, this option was hidden from 
novice
+
+users and did little more than send the message in the background:  any output
+
+generated by the background send process would be printed asyncronously on the
+
+terminal.  If a message failed posting with the message transport system, it 
would
+
+simply be left in the draft   file.
+
+
+        Gradually, other features were added to push.  Since users wanted to 
be able
+
+to send more than one draft at a time,  push was changed to optionally rename
+
+the draft file before posting it.  (This is what the hidden `-unique'       
option does.)
+
+Having message transport system diagnostics written asyncronously on the user's
+
+terminal was annoying, so push was made to intercept these diagnostics, and 
mail
+
+the user a report containing them.  Although the diagnostic report mailed back 
by
+
+push contains the name of the draft which failed, a useful added feature was 
the
+
+ability to have push include the failed draft as well.  Eventually, the 
draft-folder
+
+mechanism  was  implemented  to  make  handling  multiple  message  drafts  
much
+
+easier.
+
+
+TODO
+
+        There are, no doubt, a number of improvements which could be made to 
MH.
+
+At the present time, what further development should MH suffer?  Although not
+
+by any means inclusive, here's a list:
+
+
+           1.  Performance Enhancements
+
+               Hardware  gets  faster  all  the  time,  but  people  always  
complain  that
+
+               software is too slow.  Owing to its user interface style, MH is 
somewhat
+
+               slower than monolithic programs like UCB Mail.  It would be 
nice if MH
+
+               could be tuned or accelerated somehow.
+
+
+           2.  Port to System 5
+
+               MH  runs  on  4.2bsd  UNIX  and  Version  7  variants.  It  
should  not  be
+
+               difficult to port MH to a SYS5 environment.  This should 
significantly
+
+               increase the number of hosts on which MH can run.  The authors, 
lacking
+
+               a SYS5 machine (and experience with SYS5) to perform the port, 
are
+
+               actively seeking a System 5 guru to attempt this feat.
+
+
+           3.  Interface to the Network News
+
+               Not all sites that run MH are in the ARPA Internet, and as such 
the
+
+               UCI BBoards facility may not be of much use to them.  A good MH
+
+               interface to the network news would allow users on hosts with a 
news
+
+               feed to employ the same interface for reading and sending both 
mail
+
+               and news.
+Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             23
+
+
+         4.  Programmed Instruction for Beginners
+
+             The complexity of MH is often intimidating to new users.  It 
would be
+
+             nice to develop a set of learn lessons for those users who don't 
like man
+
+             pages and non-interactive tutorials.
+
+
+         5.  Message List Expansion
+
+             At  present,  when  a  list  of  messages  is  given  to  an  MH  
command,  it
+
+             expands the list and processes each message in numerical order 
rather
+
+             than the order in which the messages were given (e.g., ``show 2 
1''
+
+             show s message 1 and then message 2).  It would be nice if MH 
processed
+
+             messages in the order they were given.
+
+
+         6.  Context Changes
+
+             In nearly all cases, an MH command does not write out context 
changes
+
+             until it is about to exit successfully.  There is some 
controversy as to
+
+             whether this is the correct behavior in all cases.  Some argue 
that once
+
+             an MH command has fully parsed its argument list, the context 
should
+
+             be updated.
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             24
+
+
+                                               References
+
+
+
+[DCome83]        D.  Comer.   The  Computer  Science  Research  Network  
CSnet:  A
+
+                 History  and  Status  Report.  Communications  of  the  ACM  
26,  10
+
+                 (October, 1983), 747-753.
+
+
+
+[DCroc79]        D.H.  Crocker,  E.S.  Szurkowski,  D.J.  Farber.   An  
Internetwork
+
+                 Memo  Distribution  Facility  _  MMDF.  Appearing  in  
Proceedings,
+
+                 Sixth Data Communications Symposium, Asilomar, 1979, pp. 
18-25.
+
+
+
+[DCroc82]        D.H.  Crocker.   Standard  for  the  Format  of  ARPA  
Internet  Text
+
+                 Messages.  Request  for  Comments  822.  ARPA  Internet  
Network
+
+                 Information Center (NIC), SRI International (August, 1982).
+
+
+
+[DKing84]        D.P.  Kingston,  III.   MMDFII:  A  Technical  Review.  
Appearing  in
+
+                 Proceedings  Usenix  Summer  '84  Conference,  Salt  Lake  
City,  Utah,
+
+                 1984, pp. 32-41.
+
+
+
+[EAllm83]        E.  Allman.    SENDMAIL  _  An  Internetwork  Mail  Router.
+
+                 Britton-Lee, Inc., Berkeley, California (July, 1983).
+
+
+
+[IP]             Internet  Protocol.  Request  for  Comments  791  (milstd  
1777).
+
+                 Appearing in Internet Protocol Transition Workbook, ARPA 
Internet
+
+                 Network Information Center (NIC), SRI International, 1981.
+
+
+
+[JReyn84]        J.K.  Reynolds.   Post  Office  Protocol.  Request  for  
Comments  918.
+
+                 ARPA Internet Network Information Center (NIC), SRI 
International
+
+                 (October, 1984).
+
+
+
+[MButl85]        M. Butler,  J.B. Postel,  et. al.   Post Office Protocol - 
Version 2.
+
+                 Request  for  Comments  937.  ARPA  Internet  Network  
Information
+
+                 Center (NIC), SRI International (February, 1985).
+
+
+
+[MRose84a]       M.T.  Rose.   The  Rand  MH  Message  Handling  System:  The  
UCI
+
+                 BBoards Facility. Department of Computer and Information 
Sciences,
+
+                 University of Delaware (October, 1984).
+
+
+
+[MRose85b]       M.T.  Rose,  E.A.  Stefferud.   Proposed  Standard  for  
Message
+
+                 Encapsulation. Request for Comments 934. ARPA Internet Network
+
+                 Information Center (NIC), SRI International (January, 1985).
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             25
+
+
+[SMTP]           Simple  Mail  Transfer  Protocol.  Request  for  Comments  
821.  ARPA
+
+                 Internet  Network  Information  Center  (NIC),  SRI  
International
+
+                 (August, 1982).
+
+
+
+[TCP]            Transmission Control Protocol. Request for Comments 793 
(milstd
+
+                 1778). Appearing in Internet Protocol Transition Workbook, 
ARPA
+
+                 Internet Network Information Center (NIC), SRI International, 
1981.
+
+
+                                                     Appendix  A
+
+                                                  MH  Commands
+
+
+
+               MH is composed of several UNIX programs, which in theory are 
fairly simple
+
+       and single-purposed.  These commands are functionally grouped below:
+
+
+                                                    Composing_Mail_________
+
+     comp:     compose a message
+
+               A program to originate a message.  Usually, a special prompting 
editor front-
+
+               end, prompter, is used to fill-in a composition template with 
the addressees
+
+               of the message, subject, and so forth.
+
+
+       dist :  redistribute a message to additional addresses
+
+               A program that re-enters a message previously received by the 
user into the
+
+               message transport system.  Only new addresses are added; the 
body of the
+
+               message is not changed in any way.
+
+
+      forw :   forward messages
+
+               A program that encapsulates one or more messages in a new 
message draft.
+
+               In addition, the user may add initial and/or closing comments.
+
+
+       repl :  reply to a message
+
+               A program that constructs a reply to a message using a reply 
template.  The
+
+               template mechanism has sufficient generality to permit the user 
to "program"
+
+               the  form  of  the  reply  draft  based  on  the  contents  of  
the  message  being
+
+               replied-to.
+
+
+      send :   send a message
+
+               A  program  that  posts  a  draft  with  the  message  
transport  system.   The
+
+               send program is usually invoked by one of the four preceding 
programs, and
+
+               performs simple front-end pre-processing prior to invoking the 
post program.
+
+               For  example,  if  invoked  in  push'd  mode,  send  will  
immediately  relinquish
+
+               control of the user's terminal and post the message in the 
background.  If
+
+               the posting fails, send will send back a failure notice to the 
user.  If the user
+
+               had push'd the sending of the draft, then by default the draft 
being sent is
+
+               encapsulated in the failure notice.  This permits easy 
burst'ing of the failure
+
+               notice to retrieve the original draft.  Otherwise, if the 
posting was successful,
+
+               the draft is marked as having been sent.
+
+
+whatnow :      prompting front-end for send
+
+               A program which is called by comp, et.  al., after the initial 
draft has been
+
+
+
+                                                             26
+           Reprinted from Proceedings, Summer Usenix Conference and 
Exhibition, Portland, Oregon, June, 1985             27
+
+
+                 generated.  The  MH  user  can  specify  a  different  
whatnow  program,  which
+
+                 yields considerable extensibility.
+
+
+      whom:      report to whom a message would go
+
+                 A program which examines the addresses of the draft and 
expands all user-
+
+                 defined aliases contained therein.  Optionally,  whom may 
actually interact
+
+                 with  the  message  transport  system  to  determine  the  
validity  of  the  final
+
+                 addresses.  This program is also usually invoked by comp, et. 
al.
+
+
+                                                        Posting_Mail______
+
+           ali : list mail aliases
+
+                 A simple front-end to the MH aliasing mechanism.
+
+
+           ap:   parse addresses 822-style
+
+                 A  useful  debugging  tool  for  PostMasters  who  wish  to  
examine  how  MH
+
+                 interprets an Internet address.
+
+
+    conflict :   search for alias/password conflicts
+
+                 Another program used by system administrators to check the 
consistency of
+
+                 MH alias files, and portions of the local message transport 
agent.
+
+
+install-mh:      initialize the MH environment
+
+                 A program which is automatically executed the first time a 
user issues an MH
+
+                 command.  This program performs once-only initialization of 
the user's MH
+
+                 environment.
+
+
+    mhmail :     send or read mail
+
+                 A simple program generally used by other programs to generate 
messages.
+
+                 The mhmail command is similar in purpose to the old BellMail 
program.
+
+
+         post :  deliver a message
+
+                 A  complex  MH  back-end  that  interacts  with  the  local  
message  transport
+
+                 agent to enter messages through the posting slot.  (See the 
description of send
+
+                 above).
+
+
+                                                        Reading_Mail_______
+
+          inc:   incorporate new mail
+
+                 A program that interacts with the local message transport 
agent to retrieve
+
+                 messages from the user's maildrop.
+
+
+    msgchk :     check for waiting mail
+
+                 A program which reports the status of mail waiting in the 
user's maildrop.
+
+
+        show :   show (list) messages
+
+                 A program which lists messages to its standard output 
(usually the user's
+
+                 terminal), possibly invoking another program to do the actual 
listing.  Most
+
+                 users of MH have show automatically call the mhl program to 
format the
+      Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             28
+
+
+            message.   The  next  and  prev  programs  are  simply  ``show 
next''         and
+
+            ``show prev''        , respectively.
+
+
+    mhl :   produce formatted listings of MH messages
+
+            A program which displays a message as directed by a template.  
This permits
+
+            the user to filter out uninteresting headers and re-arrange other 
headers to a
+
+            particular preference.  In addition to being invoked by show, the 
mhl program
+
+            is optionally also invoked by forw to format each message being 
forwarded;
+
+            invoked  by  repl  to  format  the  body  of  a  message  being  
replied-to,  if  that
+
+            message is being included in the reply draft; and, invoked by post 
to format
+
+            a message being sent as a blind-carbon-copy.
+
+
+   rmm:     remove messages
+
+            A program that removes messages from an MH folder, optionally 
running a
+
+            user-defined program instead of deleting them.  If no program is 
given, the
+
+            messages are "softly" removed, so they may possibly be recovered 
later.
+
+
+   scan:    produce a one-line-per-message scan listing
+
+            A program that generates a scan listing for messages.  Each line 
of the listing
+
+            contains date, source, subject, and possibly the initial body of 
the message.
+
+
+                                                 Folder_Handling_______
+
+ folder :   set/list current folder/message
+
+            A program used to list information concerning the current folder, 
or set the
+
+            current folder and/or message.
+
+
+folders :   list all folders
+
+            A program to list information on all folders (actually, just a 
special case of
+
+            the folder command).  Since the MH folder structure may be 
recursive, the
+
+            user can indicate that folders should recursively examine all 
folders.
+
+
+   refile:  file message(s) in (an)other folder(s)
+
+            A program to move (or copy) messages from a source folder to one 
or more
+
+            destination folders.
+
+
+    rmf :   remove folder
+
+            A program that deletes a folder and all messages therein.
+
+
+                                                Message_Selection_______
+
+   anno:    annotate messages
+
+            A  program  to  arbitrarily  annotate  messages.  If  the  user  
so  desires,  after
+
+            distributing,  forwarding,  or  replying-to  a  message,  MH  will 
 automatically
+
+            attach an annotation to the original message indicating the date 
and addresses.
+
+
+  mark :    mark messages
+
+            A program to manipulate user-defined sequences (lists of 
messages).  Usually,
+
+            mark is not employed directly by the MH user.
+       Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             29
+
+
+     pick :  select messages by content
+
+             A  program  to  examine  a  list  of  messages  and  choose  
those  which  meet
+
+             a  particular  selection  criterion.  The  pick  program  is  
often  used  in  UNIX
+
+             back-quoted operations to pass message sequences to other MH 
commands.
+
+
+  sortm:     sort messages
+
+             A program to sort a list of messages according to the date given 
in a particular
+
+             field.
+
+
+                                           Distribution_List_Handling__________
+
+      bbc:   check on BBoards
+
+             A  front-end  to  run  msh  on  a  list  of  distribution  lists  
which  the  user  isn't
+
+             current on.
+
+
+      bbl :  manage a BBoard
+
+             A  (depreciated)  program  used  to  manually  manage  the  local 
 archives  of
+
+             a  distribution  list.  These  functions  (archiving,  expunging) 
 are  performed
+
+             automatically by MH.
+
+
+   burst :   explode digests into messages
+
+             A program used to decapsulate messages from ARPA Internet 
digests.  In
+
+             addition,  messages  which  have  been  encapsulated  during  
forwarding  (i.e.,
+
+             with forw ) can also be decapsulated using burst.10
+
+
+     msh:    MH shell (and BBoard reader)
+
+             A  monolithic  program  used  to  implement  MH  commands  on  
messages
+
+             arranged in a single file (maildrop format).  Useful since 
distribution lists are
+
+             kept in this format to minimize consumption of system resources.
+
+
+    pack :   compress a folder into a single file
+
+             A program which takes messages stored in MH format and places 
them in a
+
+             single file (using the same format known by msh).
+
+
+                                      
Interface_to_the_UNIX_File_System_____________
+
+mhpath:      print full pathnames of MH messages and folders
+
+             A program which maps MH-style names into the UNIX file naming 
convention.
+
+
+
+     _____________________________________
+    10  Similarly, blind-carbon-copies may be decapsulated, though only 
socially mature users should do
+
+     so.
+
+
+                                              Appendix  B
+
+                                     Distribution  Mechanics
+
+
+
+        The mh.5 distribution is available in two forms:
+
+
+           1.  Anonymous FTP
+
+               If  you  can  FTP  to  the  ARPA  Internet,  use  anonymous  
FTP  to  the
+
+               ARPAnet host UDel-Huey [10.2.0.96] and retrieve the file 
portal/mh.5-
+
+               tar.  This is a tar image of size 2.1 MB (approximately).
+
+
+           2.  9-track tape, 1600 bpi, tar format
+
+               Otherwise, you can send $ 50.00 to the address below.  This 
covers the
+
+               cost of a magtape,  handling,  and shipping.  In addition,  
you'll get a
+
+               laser-printed hard-copy of the MH documentation.  The 
documentation
+
+               includes installation guide, MH Tutorial, MH User's Manual, 
changes
+
+               document (from mh.4 to mh.5), and BBoards Manual.
+
+
+               If you go with this option, be sure to include your USPS 
address with
+
+               your check.  Checks should be made payable to
+
+
+                                 Regents of the University of California
+
+
+               It's also a good idea (though not mandatory) to send a computer 
mail
+
+               message to address@hidden when you send your check via USPS to 
ensure
+
+               minimal turn-around time.  The distribution address is:
+
+
+                   Support Group
+
+                   Attn:  MH Distribution
+
+                   Department of Information and Computer Science
+
+                   University of California, Irvine
+
+                   Irvine, CA 92717
+
+
+
+                   714/856-6852
+
+
+
+               Sadly, if you just want the hard-copies of the documentation, 
you still
+
+               have to pay the $ 50.00.  The tar image has the documentation 
source
+
+               (the man is in ROFF format, but the rest are in TEX format).
+
+
+In addition,  there is some hope that mh.5,  or a successor,  might be found 
in a
+
+future 4.x Berkeley distribution.
+
+
+
+                                                      30
+  Reprinted from Proceedings, Summer Usenix Conference and Exhibition, 
Portland, Oregon, June, 1985             31
+
+
+        Although MH is not "supported" per se, it does have a bug reporting 
address.
+
+Normally, the address address@hidden is used to report bugs and bug fixes.  
There are
+
+however, two discussion groups which concern themselves with MH:
+
+
+           1.  address@hidden
+
+               A discussion group for the MH user community at large.  
Appropriate
+
+               topics include:  questions about how to use MH, tips on MH 
usage, and
+
+               exchange of MH shell scripts.  All requests to be added to or 
deleted
+
+               from this list, along with problems, questions and suggestions, 
should
+
+               be sent to address@hidden
+
+
+           2.  address@hidden
+
+               A discussion group for MH maintainers and experts.  Appropriate 
topics
+
+               include:  questions on how to configure MH, tips on MH 
configuration,
+
+               exchange of MH bug reports (and fixes).  All requests to be 
added to or
+
+               deleted from this list, along with problems, questions and 
suggestions,
+
+               should be sent to address@hidden
+
+
+The ``UCI''      host is also known as ``ucivax''      , so a possible UUCP 
path might
+
+be : : :!ucbvax!ucivax!bug-mh.
+
+
+        Updates to MH are published on the MH-Workers list in the form of 
context
+
+diffs, and the appropriate distribution images are updated as well.
+
+
+
+
+                                                Contents
+
+
+
+                                                                               
                          Page
+
+Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       1
+
+The MH Philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .       2
+
+        The MH Environs . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       3
+
+        An MH Transcript. . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       5
+
+Some MH Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .       5
+
+        Message Sequences and Selection  . . . . . . . . . . . . . . . . . . . 
. . . .       5
+
+        Draft Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       7
+
+        BBoards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       8
+
+        Bursting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .      10
+
+        Distributed Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      11
+
+User Interface Issues in MH  . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .      12
+
+        Creeping Featurism . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .      12
+
+        Templates versus Switches. . . . . . . . . . . . . . . . . . . . . . . 
. . . . .      13
+
+        Modularity versus Monolithicity . . . . . . . . . . . . . . . . . . . 
. . . . .      17
+
+The MH Distribution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .      17
+
+        Configurable MH  . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .      18
+
+        Interface to the Message Transport System  . . . . . . . . . . . . . . 
. . .      20
+
+Concluding Remarks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .      21
+
+        TODO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      22
+
+References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      24
+
+Appendix A: MH Commands  . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. .      26
+
+Appendix B: Distribution Mechanics. . . . . . . . . . . . . . . . . . . . . . 
. . .      30
+
+
+
+_____________________________________
+This document (version #1.43) was TEXset April 12, 1990 with DISS.STY v103.
+
+
+
+                                                       i
diff --git a/docs/historical/trusted.pdf b/docs/historical/trusted.pdf
new file mode 100644
index 0000000..3398763
Binary files /dev/null and b/docs/historical/trusted.pdf differ
diff --git a/docs/historical/trusted.txt b/docs/historical/trusted.txt
new file mode 100644
index 0000000..aea5b71
--- /dev/null
+++ b/docs/historical/trusted.txt
@@ -0,0 +1,2283 @@
+
+
+
+
+                                 Design  of  the  TTI  Prototype
+
+                                         Trusted  Mail  Agent
+
+
+                                             Marshall T. Rosey
+
+                                               David J. Farber
+
+                                            Stephen T. Walker
+
+
+
+                                                  Abstract
+
+
+               The design of the TTI  prototype Trusted Mail Agent (TMA)
+
+               is discussed.  This agent interfaces between two entities:  a 
key
+
+               distribution  center  (KDC)  and  a  user  agent  (UA).  The  
KDC
+
+               manages keys for the encryption of text messages, which two
+
+               subscribers to a key distribution service (KDS) may exchange.
+
+               The TMA is independent of any underlying message transport
+
+               system.
+
+
+               Subscribers  to  the  KDC  are  known  by  unique  identifiers,
+
+               known as IDs.  In addition to distributing keys, the KDC also
+
+               offers  a  simple  directory  lookup  service,  in  which  the  
"real-
+
+               world" name of a subscriber may be mapped to an ID, or the
+
+               inverse mapping may be performed.
+
+
+               This  document  details  three  software  components:   first_, 
 a
+
+               prototype  key  distribution  service,  which  has  been  
running
+
+               in  a  TCP/IP  environment  since  December,  1984;  
second____,  a
+
+               prototype trusted mail agent; and, third___, modifications to an
+
+               existing UA, the Rand MH Message Handling system, which
+
+               permit interaction with the prototype TMA.
+
+
+
+________________________________________
+y All three authors are with Trusted Technologies, Incorporated, POB 45, 
Glenwood, MD 21738,
+
+USA. Telephone: 301/854-6889. In addition, Professor Farber is with the 
University of Delaware.
+
+
+                                 Design  of  the  TTI  Prototype
+
+                                         Trusted  Mail  Agent
+
+
+
+Introduction
+
+       Initially, a brief model of a user community employing a trusted mail 
service
+
+is introduced.  Following this introduction, a prototype system is described 
which
+
+attempts to meet the needs of a user community.  Finally, open issues are 
discussed,
+
+which are currently not satisfied by the prototype system or its model of 
operation.
+
+
+       Two  or  more  entities,  called  users,  wish  to  communicate  in  a  
secure
+
+environment.  Depending  on  their  available  resources,  different  levels  
of  security
+
+are possible.  At the extreme, two parties with substantial resources may wish 
to
+
+communicate in a fashion which prevents any third parties, known as 
adversaries,
+
+from  observing  their  communication.   At  this  level,  not  only  is  an  
adversary
+
+unable  to  capture  the  communication  for  analysis,  but  in  fact,  the  
adversary  is
+
+unaware  that  any  communication  is  occurring  at  all.  In  most  
applications,  this
+
+level of security is prohibitively expensive.  A more economic method is to 
translate
+
+messages into a form which is useless to an adversary and then to communicate
+
+those messages on an insecure medium.
+
+
+       This latter method requires the two users to have some sort of key with 
which
+
+to "lock" the plaintext into ciphertext when transmitting,  and then to 
"unlock"
+
+the ciphertext back into useful form when receiving.  Hence, there are two 
central
+
+issues to deal with:  first_, keys must be generated, distributed, and 
maintained in
+
+a secure fashion;  and, second____, the keys must be "intricate" enough so 
that sense
+
+can't be made out of the ciphertext without knowledge of the key.  The first 
part
+
+is  handled  by  a  key  distribution  center  (KDC),  which  maintains  a  
list  of  users
+
+and a set of keys for each pair of users.  The second part relies on 
sophisticated
+
+encryption  and  decryption  algorithms.  It  is  beyond  the  scope  of  this 
 paper  to
+
+describe cryptographic techniques in detail.  For a detailed survey of this 
area, the
+
+reader should consult [VVoyd83].
+
+
+       In  the  context  of  our  discussion  (using  the  terminology  of  
[X.400]),  the
+
+medium used to transport is supplied by a message transport system (MTS), which
+
+is composed of one or more message transport agents (MTAs).  Usually, the 
entire
+
+MTS  is  distributed  in  nature,  and  not  under  a  single  administrative  
entity;  in
+
+contrast, an MTA is usually controlled by a single administration and resides 
in a
+
+particular domain.  At every end-point in the medium, a user agent (UA) acts on
+
+behalf of a user and interfaces to a local MTA. This model is briefly 
summarized in
+
+Figure 1.
+
+
+
+ Copyright fcl1985, IFIP TC-6                                                  
                                     1
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                2
+______________________________________________________________________________________________________________________
+
+
+
+                UA                                                             
                   UA
+
+
+
+   POSTING                                                                     
                       RECEIPT
+
+
+
+                                                        MTS
+
+
+
+               MTA                  MTA                  : : :                
: : :              MTA
+
+                                                              RELAYING
+
+
+
+                                                    Figure 1
+
+_______________________________________________The_MTS_Model__________________________________________________________
+
+
+
+       A message, in our context, consists of two parts:  the headers and the 
body.
+
+The  headers  are  rigorously  structured;  they  contain  addressing  
information  and
+
+other  forms  useful  to  a  UA.  The  body  is  freely  formatted  and  is  
usually  not
+
+meaningful to a UA.
+
+
+       When  a  message  is  sent  from  one  user  to  another,  the  
following  activities
+
+occur:  The originating user indicates to the UA the address of the recipient; 
 the
+
+UA  then  posts  the  message  through  a  posting  slot  to  an  MTA,  which  
involves
+
+a  posting  protocol  in  which  the  validity  of  the  address  and  the  
syntax  of  the
+
+message  are  considered.  Upon  successful  completion  of  the  protocol,  
the  MTA
+
+accepts responsibility for delivering the message, or if delivery fails, to 
inform the
+
+originating user of the failure.  The MTA then decides if it can deliver the 
message
+
+directly  to  the  recipient;  if  so,  it  delivers  the  message  through  a 
 delivery  slot  to
+
+the recipient's UA, using a delivery protocol.  If not, it contacts an 
adjacent MTA,
+
+closer to the recipient, and negotiates its transfer (using a protocol similar 
to the
+
+posting protocol).  This process repeats until an MTA is able to deliver the 
message,
+
+or an MTA determines that the message can't be delivered.  In this latter 
case, a
+
+failure notice is sent to the originating user.
+
+
+       It is important to note that there are two mappings which occur here.  
The
+
+first, which is performed implicitly by the originating user, maps the name of 
the
+
+recipient into the recipient's address; the second, which is performed 
explicitly by
+
+the MTS, maps the address of the recipient into a route to get from the 
originator's
+
+MTA to the recipient's MTA. These mappings are depicted in Figure 2.
+
+
+       Obviously, there is no guarantee that the MTS can be made secure, in any
+
+sense of the word.  This is particularly true if it is under several 
administrations.
+
+Regardless  of  the  number  of  administrations  in  the  MTS,  this  problem 
 quickly
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                3
+______________________________________________________________________________________________________________________
+
+
+
+         user                                                                  
                         user
+
+
+
+            name   ! address
+
+
+
+          UA                                                                   
                         UA
+
+
+
+                                                        MTS
+            address   ! route
+
+
+
+         MTA                    MTA                      : : :                 
  : : :                 MTA
+
+
+
+                                                    Figure 2
+
+______________________________________Mappings_in_the_MTS_model_______________________________________________________
+
+
+
+degenerates to a problem of Byzantine generals[LLamp82].  Further, trying to 
secure
+
+each MTA in the path that a message travels is equally questionable.
+
+
+       To  support  secure  communications  in  this  environment,  a  new  
entity,  the
+
+trusted mail agent (TMA) is introduced into our model.  A solution is to have 
the
+
+UA interact with this entity both when posting a message and when taking 
delivery
+
+of a message.  The UA first contacts a TMA to encrypt the body of the message 
for
+
+the recipient, prior to pushing it through the posting slot.  Upon receipt 
from the
+
+destination MTA, the UA examines the message and contacts the TMA to decipher
+
+the body of the message from the source.  An overview of the relationship 
between
+
+the standard MTS model and the augmentations made for the Trusted Mail1  system
+
+is shown in Figure 3.
+
+
+       To  achieve  these  tasks,  the  TMA  interacts  with  a  key  
distribution  service
+
+(KDS), which manages keys between pairwise users.  At this point, a third 
mapping
+
+takes place:  the UA must be able to map addresses into the identifier(s) by 
which
+
+the  originator  and  recipient  are  known  by  the  TMA  and  KDS.  These  
identifiers
+
+are  known  as  KDS  IDs,  or  simply  IDs.  Usually,  a  fourth  mapping  
also  occurs,
+
+________________________________________
+1  Trusted Mail is a trademark of Trusted Technologies, Incorporated.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                4
+______________________________________________________________________________________________________________________
+
+
+
+          UA                    TMA                     KDS                    
 TMA                     UA
+
+
+
+                                                        MTS
+
+
+
+         MTA                    MTA                      : : :                 
  : : :                 MTA
+
+
+
+                                                    Figure 3
+
+____________________________________Modifications_to_the_MTS_model____________________________________________________
+
+
+
+which maps the ID of a user into the name of a user.  In our context, there is 
an
+
+exact one-to-one mapping between the name of a user and the ID of that user.  
In
+
+contrast,  there may be a one-to-many mapping between the name of a user and
+
+that user's address in the MTS. Further, there are usually many different 
routes
+
+which a message may traverse when going from an originating user to a recipient
+
+user.
+
+
+       The TMA is said to be trusted because it can be relied on to perform 
only
+
+those  actions  specifically  requested  by  the  user.   In  the  context  of 
 this  paper,
+
+this  means,  given  proper  construction  and  maintenance  of  the  TMA,  
that  the
+
+software will communicate with the KDC in some secure fashion to negotiate key
+
+relationships and that it will not disclose those key relationships to other 
parties.
+
+Furthermore, the body of mail messages exchanged between users which employ a
+
+trusted mail agent will be unintelligible to other parties.  Finally, a 
recipient of a
+
+message receives authenticated information from the trusted mail agent as to 
the
+
+identify of the sender.
+
+
+       Hence, when each user employs a TMA, end-to-end encryption occurs at the
+
+UA level (to avoid any problems with malicious MTAs).2  Any adversary listening
+
+in on the MTS, may observe messages, but make no sense out of them (other than
+
+rudimentary traffic analysis).  Note, however, that since the medium itself is 
not
+
+secure, an adversary may still introduce new messages, corrupt messages, or 
remove
+
+
+________________________________________
+2  Note that in the scope of this system, the end-points are the user agents, 
not the hosts they reside
+
+on. In fact, it may very well be the case that the user agent and the local 
message transport agent
+do not reside on the same host.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                5
+
+
+messages, as they traverse the MTS. In the first two cases, however, the 
recipient
+
+would be suspicious because the adversary lacks the encrypting key employed by
+
+the source user.  In the third case, the source user can retransmit the 
message after
+
+a suitable time.  Of course, there is no built-in retransmission policy _ this 
aspect
+
+depends on the user's sending mail and is beyond the scope of the system.
+
+
+       It  is  important  to  understand  the  target  community  for  the  
Trusted  Mail
+
+system  described  herein.  In  particular,  the  TMA  is  intended  for  a  
commercial
+
+and  not  a  military  environment.   This  distinction  is  important,  since 
 it  is  the
+
+fundamental assumption of this paper that the latter community has much 
stricter
+
+requirements  than  the  former.  Because  of  this,  the  prototype  system  
is  able  to
+
+make certain simplifying assumptions which permit it to operate in a mode which
+
+is less secure than military applications would permit.  Although these issues 
are
+
+explored in greater detail at the end of the paper, for the moment recall 
that, like
+
+most qualities, trustedness is not absolute:  there are varying degrees of 
trustedness,
+
+and as a system becomes more trusted, it becomes more expensive, in some sense,
+
+to operate and maintain.
+
+
+       It is perhaps instructive at this point to consider why the 
introduction of a key
+
+distribution center is appropriate in this environment,  and why the 
fundamental
+
+assumption that trusted mail agents do not directly communicate with each other
+
+is  necessary.  Although  a  user  agent  is  able  to  converse  with  the  
local  message
+
+transport agent in real-time, it is frequently not able to communicate with 
other
+
+user agents in real-time.  Furthermore, considering the vast problems and 
overhead
+
+of trying to establish secure communications from "scratch" (a problem far 
beyond
+
+the scope of this paper), it is would not be a good idea to try and communicate
+
+key relationships with other user agents, even if it were always possible to 
do so.
+
+In  addition,  by  separating  the  trusted  aspects  of  the  message  
transport  system
+
+from the system itself, many other advantages can be seen.  These are 
presented in
+
+greater detail at the end of the paper.
+
+
+       The discussion thus far has considered only a single recipient.  In 
practice, a
+
+user might wish to send to several others, using a different key for each.  
Hence each
+
+copy of the message is encrypted differently, depending on the particular 
recipient
+
+in question.  Note that this has the effect of un-bundling message transfer in 
the
+
+MTS, as advanced MTAs tend to keep only a single copy of the message for any
+
+number of recipients in order to save both cpu, disk, and I/O resources.
+
+
+       For example, in some existing mail systems, if a message was sent to n 
users
+
+on a remote system, then the n addresses would be sent from the source MTA to
+
+the remote MTA along with one copy of the message.  Upon delivery, the remote
+
+MTA would deliver a copy to each of the n recipients, but the virtual wire 
between
+
+the source MTA and the recipient MTA was burdened with only one copy of the
+
+message.  But in a secure environment, since a different key is used by the 
source
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                6
+
+
+user when communicating with each of the n recipients, n different messages 
will
+
+be posted with the local MTA, and the advantages of recipient bundling are 
lost.
+
+
+       Along  these  lines  however,  private  discussion  groups  may  wish  
to  avoid
+
+this  problem  by  establishing  access  to  a  single  ID  for  their  use.  
In  this  case,  a
+
+subscriber  to  the  KDS  may  actually  have  more  than  one  ID,  one  for  
"personal"
+
+use and one for each discussion group.  The appropriate ID is used when posting
+
+messages to the discussion group.  Naturally the administrative policy for 
deciding
+
+who is allowed to use the KDS ID of a discussion group is left to the moderator
+
+of  the  group.  Observant  readers  will  note  that  this  vastly  decreases 
 the  aspect
+
+of  secure  communications  for  the  discussion  group.   This  method  is  
suggested
+
+as a compromise which permits the bundling of messages for multiple recipients
+
+to  reduce  MTS  traffic.   The  price  is  high  however,  as  a  compromise  
on  behalf
+
+of any member of the discussion group compromises the entire group.  For large
+
+discussion groups and a bandwidth limited MTS, this price may be worth paying.
+
+The prototype implementation of the TMA supports multiple recipients but not
+
+multiple KDS IDs.
+
+
+       Having described this environment for communication, the designs of a 
KDS
+
+and  TMA  which  form  the  heart  of  the  TTI  Trusted  Mail  system  are  
discussed.
+
+The  prototype  system  was  developed  on  a  VAX3 -11/780  running  4.2bsd  
UNIX4 .
+
+The system is based on the ansi draft[FIKM] for financial key management,  but
+
+diverges somewhat in operation owing to the differences between the electronic 
mail
+
+(CBMS) and electronic funds (EFT) environments.  Note however that the ansi
+
+data encryption algorithm[DEA, FIPS46] is used in the current implementation.  
A
+
+public-key cipher system was not considered as the basis for the prototype 
since,
+
+to the authors' knowledge, an open standard for a public-key system has yet to 
be
+
+adopted by the commercial community.  In contrast, the ansi draft for 
financial key
+
+management appears to be receiving wide support from the commercial community.
+
+
+       In the description that follows, a large number of acronyms are 
employed to
+
+denote commonly used terms.  In order to aid the reader, these are summarized 
in
+
+Table 1.
+
+
+
+The Key Distribution Service
+
+       The prototype version of the KDS was designed to provide key 
distribution
+
+services  for  user  agents  under  both  the  same  or  different  
administrations.  As  a
+
+result,  the  means  by  which  a  trusted  mail  agent  connects  to  a  key  
distribution
+
+server is quite flexible.  For example,  the prototype system supports 
connections
+
+via standard terminal lines, dial-ups (e.g., over a toll-free 800 number), 
UNIX pipes,
+
+and  over  TCP  sockets[IP, TCP].  In  the  interests  of  simplicity,  for  
the  remainder
+
+of this paper, a TCP/IP model of communication is used.  Initially, a server 
on a
+
+________________________________________
+3  VAX is a trademark of Digital Equipment Corporation.
+4  UNIX is a trademark of AT&T Bell Laboratories.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                7
+______________________________________________________________________________________________________________________
+              
______________________________________________________________________________________________
+
+              
__Abbrev.________________________________Term_____________________________Context_______________
+
+              _    CBC         _ Cipher Block Chaining                         
        _    DES        _
+              _   CBMS         _ Computer Based Message System                 
        _               _
+              _    CKD         _ Key Distribution Center                       
        _    EFT        _
+              _    CKS         _ Checksumming                                  
        _    DES        _
+              _    CSM         _ Cryptographic Service Message                 
        _               _
+              _    DEA         _ Data Encryption Algorithm                     
        _               _
+              _    DES         _ Data Encryption Standard                      
        _               _
+              _    DSM         _ Disconnect Service Message                    
        _   MCL         _
+              _    ECB         _ Electronic Code Book                          
        _    DES        _
+              _    EFT         _ Electronic Funds Transfer                     
        _               _
+              _     IDK        _ Key Identifier                                
        _    CSM        _
+              _      ID        _ Identifier                                    
        _    KDS        _
+              _      IP        _ Internet Protocol                             
        _               _
+              _      IV        _ Initialization Vector                         
        _    CSM        _
+              _     KA         _ Authentication Key                            
        _    CSM        _
+              _    KDC         _ Key Distribution Center                       
        _  CBMS         _
+              _    KDS         _ Key Distribution Server                       
        _  CBMS         _
+              _     KD         _ Data-encrypting Key                           
        _    CSM        _
+              _     KK         _ Key-encrypting Key                            
        _    CSM        _
+              _    MAC         _ Message Authentication Code                   
        _    CSM        _
+              _    MCL         _ Message Class                                 
        _    CSM        _
+              _     MH         _ The Rand Message Handling System              
        _               _
+              _    MIC         _ Message Integrity Code                        
        _    CSM        _
+              _     MK         _ Master Key                                    
        _    CSM        _
+              _    MTA         _ Message Transport Agent                       
        _  CBMS         _
+              _    MTS         _ Message Transport System                      
        _  CBMS         _
+              _    ORG         _ Message Originator                            
        _    CSM        _
+              _    RCV         _ Message Receiver                              
        _    CSM        _
+              _     RIU        _ Request Identified User                       
        _   MCL         _
+              _     RSI        _ Request Service Initialization                
        _   MCL         _
+              _     RUI        _ Request User Identification                   
        _   MCL         _
+              _    TCP         _ Transmission Control Protocol                 
        _               _
+              _    TMA         _ Trusted Mail Agent                            
        _  CBMS         _
+              _     TTI        _ Trusted Technologies, Inc.                    
        _               _
+              
______UA___________User_Agent_______________________________________________CBMS____________
+
+
+                                                     Table 1
+
+____________________________________Abbreviations_used_in_this_paper__________________________________________________
+
+
+
+well-known service host in the ARPA Internet community listens for connections
+
+on a well-known port.5  As each connection is established, it services one or 
more
+
+transactions over the lifetime of the session.  When all transactions for a 
session
+
+have been made, the connection is closed.  If the necessary locking operations 
are
+
+performed by the server to avoid the usual database problems, then more than 
one
+
+connection may be in progress simultaneously.  Of course, a time-out facility 
should
+
+________________________________________
+5  The term well known in this context means that the location of the service 
is known a priori to
+
+the clients.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                8
+
+
+also be employed to prevent a rogue agent from monopolizing the key 
distribution
+
+server.
+
+
+       Once a session has been started, the client (a.k.a. TMA) initiates 
transactions
+
+with  the  server  (a.k.a.  KDS).  Each  transaction  consists  of  the  
exchange  of  two
+
+or  three  cryptographic  service  messages  (CSMs):   the  client  sends  a  
request,
+
+the  server  attempts  to  honor  the  request  and  sends  a  response,  and, 
 if  the
+
+server  responded  positively,  the  client  then  acknowledges  the  
transaction.   By
+
+exchanging these cryptographic service messages, the KDS and the TMA are able
+
+to communicate key relationships.  Obviously,  the relationships themselves 
must
+
+be transmitted in encrypted form.6  Hence, not only are key relationships 
between
+
+two TMAs communicated,  but key relationships between the KDS and the TMA
+
+are communicated as well.
+
+
+       This leads us to consider the key relationships that exist between a 
TMA and
+
+the KDS. A client usually has three keys dedicated for use with the server.  
The
+
+first is the master  key (denoted MK), which has an infinite cryptoperiod,  
and is
+
+rarely used.  This key is distributed manually.  The second is the 
key-encrypting key
+
+(denoted KK), which has a shorter cryptoperiod.  Whenever a KK is transmitted
+
+to the TMA, it is encrypted with the master key.  The third is the 
authentication
+
+key (denoted KA), which is used to authenticate transactions that do not 
contain
+
+data  keys  (a  count  field  is  also  used  to  avoid  play-back  attacks).  
 Whenever  a
+
+KA  is  transmitted  to  the  TMA,  it  is  encrypted  with  the  
key-encrypting  key.
+
+When transactions contain keys, an associated count field is included to 
indicate
+
+the  number  of  keys  encrypted  with  the  key-encrypting  key  used.  
Although  not
+
+used by the prototype implementation, a production system would employ audit
+
+mechanisms to monitor usage histories.
+
+
+       Currently four types of requests are honored by the KDS: two key 
relationship
+
+primitives, and two name service primitives.  The type is indicated by the 
message
+
+class  (MCL)  of  the  first  cryptographic  service  message  sent  in  the  
transaction.
+
+As  each  message  class  is  discussed,  the  appropriate  datastructures  
used  by  the
+
+KDS  are  introduced.  Space  considerations  prevent  a  detailed  
description  of  the
+
+information exchanged in each transaction.  Appendix B of this paper presents a
+
+short example of an interaction between the KDS and a TMA.
+
+
+       The first two requests are used to create (or retrieve) key 
relationships, and
+
+to destroy key relationships:
+
+
+       The  request  service  initialization  (RSI)  message  class  is  used  
to  establish
+
+a  key-encrypting  key  (KK)  relationship  between  the  TMA  and  another  
TMA,  or
+
+between the TMA and the KDS. As implied by the name, a key-encrypting key is
+
+
+
+________________________________________
+6  Otherwise an adversary could simply impersonate a TMA and ask for the 
desired key relationships.
+
+Similarly, this also prevents an adversary from successfully impersonating a 
key distribution server.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985                9
+
+
+used to cipher keys which are used to cipher data exchanged between peers.  
These
+
+other keys are called data keys (KDs).
+
+
+       The disconnect  service  message (DSM) message class is used to 
discontinue
+
+a KK-relationship between the TMA and another TMA, or between the TMA and
+
+the  KDS.  This  prevents  keys  which  are  felt  to  have  been  
compromised,  or  are
+
+vulnerable  to  compromise,  from  receiving  further  use  in  the  system.  
It  should
+
+be noted that, owing to mail messages (not CSMs) in transit, a discontinued key
+
+relationship may be needed to decipher the key used to encipher a mail message.
+
+The prototype KDS supports this capability.
+
+
+       In  addition  to  maintaining  an  MK/KK/KA  triple  for  each  TMA,  
the  KDS
+
+also remembers KK-relationships between TMAs.  The reason for this stems from a
+
+fundamental difference between the electronic funds transfer and computer-based
+
+message system worlds.  The KDS assumes that no two arbitrarily chosen TMAs can
+
+communicate in real-time, and as a result, TMAs do not exchange cryptographic
+
+service messages.  (See Appendix C for a more detailed discussion.)  This means
+
+that  when  a  TMA  establishes  a  KK-relationship  with  another  TMA,  the  
former
+
+TMA  may  start  using  the  KK  before  the  latter  TMA  knows  of  the  new 
 KK-
+
+relationship.  In fact, it is quite possible for a KK-relationship to be 
established,
+
+used, and then discontinued, all unilaterally on the part of one TMA. It is up 
to
+
+the  KDS  to  retain  old  cryptographic  material  (possibly  for  an  
indefinite  period
+
+of time), and aid the latter TMA in reconstructing KK-relationships as the need
+
+arises.  Naturally, discontinued KKs are not used to encode any new 
information,
+
+but rather to decode old information.  (Again, refer to Appendix C for 
additional
+
+details.)
+
+
+       The other two requests are used to query the directory service aspects 
of the
+
+key distribution server:
+
+
+       The  request  user  identification  (RUI)  message  class  is  used  to 
 identify  a
+
+subscriber to the KDS. Both the KDS and TMA are independent of any underlying
+
+mail  transport  system  (MTS).  As  a  result,  a  subscriber  to  the  KDS  
is  known
+
+by  two  unique  attributes:  a  "real-world"  name,  and  a  KDS  identifier  
(ID).  The
+
+user  of  a  mail  system,  or  the  UA,  is  responsible  for  mapping  an  
MTS-specific
+
+address (e.g., address@hidden) to the person associated with that maildrop 
(e.g.,
+
+``Marshall T. Rose''              ).  When conversing with the KDS, the TMA 
uses the KDS
+
+ID  of  another  user  to  reference  that  person's  TMA.  Since  it  is  
inconvenient  to
+
+remember  the  IDs  (as  opposed  to  people's  names),  the  KDS  provides  
the  RUI
+
+message  class  to  permit  a  TMA  to  query  the  mapping  between  names  
and  IDs.
+
+If the KDS cannot return an exact match, it may respond with a list of possible
+
+matches (if the identifying information given was ambiguous), or it may respond
+
+with a response that there is no matching user.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              10
+
+
+       Finally, the request identified user (RIU) message class performs the 
inverse
+
+operation:  given a KDS ID, a "real-world" name is returned.  This request is 
useful
+
+for disambiguating unsuccessful RUI requests and in boot-strapping a TMA.
+
+
+       The KDS maintains two directories:  a private directory and a public 
directory.
+
+The private directory contains all information on all clients to the KDS. The 
public
+
+directory  is  a  subset  of  this,  and  is  used  by  the  KDS  when  
processing  RUI  and
+
+RIU requests.7  As a result, certain clients of the KDS may have unlisted IDs 
and
+
+names.
+
+
+
+The Trusted Mail Agent
+
+       The prototype version of the TMA was designed to interface directly to 
the
+
+user  agent  in  order  to  maximize  transparency  to  the  user.  In  
present  form,  the
+
+TMA is available as a load-time library under 4.2bsd UNIX, although efforts are
+
+currently underway to transport the TMA to a PC-based environment.
+
+
+       The software modules which compose the TMA contain a rich set of 
interfaces
+
+to the KDS. In addition, the TMA manages a local database, so responses from 
the
+
+KDS may be cached and used at a later time.  In all cases, the KDS is consulted
+
+only if the information is not present in the TMA database, or if the 
information
+
+in question has expired (e.g., KK-relationships).  This caching activity 
minimizes
+
+connections to the KDS. Although connections are relatively cheap in the ARPA
+
+Internet, substantial savings are achieved for PCs which contact the KDS over a
+
+public phone network (dial-up) connection.
+
+
+       The  TMA  performs  mappings  between  pairs  of  the  following  
objects:  user
+
+names, KDS IDs, and MTS addresses.  The TMA considers all trusted mail agents,
+
+including itself, as a user name, KDS ID, and one or more MTS addresses.  
Although
+
+the  TMA  does  not  interpret  addresses  itself,  in  order  to  simplify  
mail  handling,
+
+the TMA remembers the relationship between these objects so the user enters 
this
+
+information only once.
+
+
+       Initially, when a TMA is booted, the user supplies it with the master 
key and
+
+the user's KDS ID. Both of these quantities are assigned by the personnel at 
the
+
+key distribution center, and subsequently transmitted to the user via an 
alternate,
+
+bonded service.8  The TMA connects with the KDS and verifies its identity.  
From
+
+this point on, the TMA manages its KK-relationships between the KDS and other
+
+TMAs without user intervention.
+
+
+       The current implementation of the TMA assumes a "general memo framework"
+
+in the context of the Standards for ARPA Internet Text Messages[DCroc82]:
+
+
+
+________________________________________
+7  In the prototype implementation, the two directories are, for the moment, 
identical.
+8  In this fashion, the problems of boot-strapping over an unsecure medium are 
avoided.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              11
+
+
+           1.  A message consists of two parts:  the headers and the body.  A 
blank line
+
+               separates the headers from the body.
+
+
+           2.  Each  (virtual)  line  in  the  headers  consists  of  a  
keyword/value  pair,
+
+               in  which  the  keyword  is  separated  from  the  value  by  a 
 colon  (:).
+
+               The  headers  are  rigorously  structured  in  the  sense  that 
 they  contain
+
+               addressing and other information useful to a user agent.
+
+
+           3.  The  body  is  freely  formatted  and  must  not  be  
meaningful  to  a  user
+
+               agent.  However,  as  will  be  seen  momentarily,  the  body  
of  encrypted
+
+               messages must have an initial fixed format which the TMA 
enforces.
+
+
+This  format  is  widely  called  "822"  after  the  number  assigned  to  the 
 defining
+
+report[DCroc82].9
+
+
+       To support the cipher activities described below, the TMA contains 
internal
+
+routines  to  perform  the  following  DES  functions:  electronic  code  book 
 (ECB)
+
+for  key  encryption,  cipher  block  chaining  (CBC)  for  mail  message  
encryption,
+
+checksumming (CKS) for mail message and CSM authentication.  Readers interested
+
+in these different modes of operation for the DES should consult [FIPS81].
+
+
+Encrypting Mail
+
+       To  encipher  a  message,  the  method  used  is  a  straightforward  
adaptation
+
+of the standard encrypting/authentication techniques (though the terminology is
+
+tedious).  Consider the following notation:
+
+
+     ax (s):   the  checksum  of  the  string  s  using  the  key  x  (DEA  
checksumming
+
+               authentication)
+
+
+  ax+y  (s):   the  checksum  of  the  string  s  using  the  exclusive-or  of 
 the  two  keys  x
+
+               and y
+
+
+     ex (y):   the encryption of the key y  using the key x (DEA electronic 
code book
+
+               encryption)
+
+
+   ex;y (s):   the encryption of the string s using the key x and 
initialization vector
+
+               y (DEA cipher block chaining encryption)
+
+
+           h:  the headers of the message
+
+
+       and,
+
+
+           b:  the body of the message
+
+
+
+________________________________________
+9  Although an 822-style framework is employed by the TMA prototype, the 822 
``Encrypted:''
+
+header  is  not  currently  present  in  encrypted  messages.   This  is  due  
to  a  design  decision  which
+assumes  that  nothing  in  the  headers  of  a  message  is  sacred  to  the  
transport  system,  and  that
+"helpful" munging might occur at any time. In the real world, such helpfulness 
is often a problem.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              12
+
+
+For each message to be encrypted, a data key, initialization vector, 
authentication
+
+key (KD/IV/KA) triple is generated by a random process.  (It goes without 
saying
+
+that the integrity of the system depends on the process being random).  Then, 
for
+
+each  user  to  receive  a  copy  of  the  encrypted  message,  the  following 
 actions  are
+
+taken:
+
+
+       First,  the  headers  of  the  message  are  output  in  the  clear.  
Then,  a  banner
+
+string, i, is constructed and placed at the beginning of the body of the 
message:
+
+
+           ENCRYPTED  MESSAGE:  TTI  TMA
+
+
+which  identifies  the  message  as  being  encrypted  by  the  TTI  TMA.  
Following
+
+the  banner  string  is  a  structure,  m,  which  takes  on  the  syntax  and 
 most  of  the
+
+semantics of a cryptographic service message:
+
+
+            MCL/      MAIL
+
+            RCV/      rcvid
+
+            ORG/      orgid
+
+             IDK/     kkid
+
+              KD/     ekk (ka)
+
+              KD/     ekk (kd)
+
+               IV/    ekd (iv)
+
+            MIC/      aka (b)
+
+           MAC/       akd+ka   (m)
+
+
+After  this,  the  encrypted  body  is  output,  ekd;iv (b).  In  short,  the  
entire  output
+
+consists of
+
+                                           h + i + m + ekd;iv (b):
+
+
+
+       The purpose of the structure m is many-fold.  The MCL field indicates 
the
+
+structure  m's  type;  currently  only  the  type  MAIL  is  generated  and  
understood.
+
+The RCV and ORG fields identify the intended recipient of the message and the
+
+originator.  The IDK field identifies the key-encrypting key, KK, used to 
encrypt
+
+the next two fields.  The first KD field has the encrypted authentication key, 
KA,
+
+used  to  calculate  the  MIC  of  the  plaintext  of  the  body  of  the  
message.   After
+
+the body of the message is deciphered, aka (b) is calculated and compared to 
the
+
+value of the MIC field.  Hence, the MIC field authenticates the message body.  
The
+
+second KD field has the encrypted data encrypting key, KD, which along with the
+
+encrypted initialization vector in the IV field was used to generate the 
ciphertext
+
+of the body.  Finally, the MAC field authenticates the m structure itself.  
The use
+
+of a data key, initialization vector, authentication key (KD/IV/KA) triple 
permits
+
+us to perform key distribution in a hierarchical fashion and allows the system 
to
+
+use a KK-relationship over a longer cryptoperiod without fear of compromise.
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              13
+
+
+        The TMA provides three primary interfaces to a UA to send encrypted 
mail:
+
+ the  first  takes  a  file-descriptor  to  a  message  and  returns  a  
structure  g  (called  a
+
+ group) describing the ciphertext version of the body (this structure contains 
a KD,
+
+ IV,  and  KA  generated  at  random,  along  with  a  file-descriptor  to  
the  plaintext
+
+ headers, a file-descriptor to the ciphertext body, and the checksum of the 
plaintext
+
+ body);  the  second  takes  a  user  entry  (or  MTS  address)  and  g,  and  
returns  a
+
+ file-descriptor to the encrypted message for that user (or MTS address); the 
third
+
+ takes g  and performs clean-up operations.  The chief advantage to this 
scheme of
+
+ encryption is that if the message is to be sent to more than one recipient, 
then the
+
+ MIC and the encrypted body need only be calculated once, since the KD, IV, and
+
+ KA  remain  constant  (only  the  KK's  change  with  each  recipient,  hence 
 for  each
+
+ copy of the encrypted message, only the structure m need be re-calculated).
+
+
+        There are, however, a few subtleties involved:  first_, the MTS 
usually accepts
+
+ only 7-bit characters, so the encrypted text is exploded to consist of only 
printable
+
+ characters;10  second____,  since  the  MTS  may  impose  limits  on  the  
length  of  a  line,
+
+ each  line  of  output  is  limited  to  64  characters;  and,  third___,  
since  the  body  may
+
+ require  trailing  padding,  during  encryption  one  last  unit  of  8  
bytes  is  written
+
+ (and encrypted), naming the number of characters (presently, nulls) padded in 
the
+
+ previous 8 bytes (0 : : :7).
+
+
+ Decrypting Mail
+
+        To decipher a message, the method is also straightforward:  The 
headers are
+
+ output in the clear.  The banner string is essentially ignored, and the 
structure m
+
+ is consulted to identify the correct key-encrypting key.  The TMA checks to 
see if
+
+ it knows of that KK. If not,  it asks the KDS to supply it.  From that point, 
 the
+
+ KA, KD, and IV are deciphered.  The m structure is then authenticated.  With 
the
+
+ correct key,  the remainder of the body is deciphered,  and all except for 
the last
+
+ 16 bytes are output.  The last 8 bytes indicate how many of the previous 8 
bytes
+
+ should be output.  So, the appropriate number of bytes is output, and the 
plaintext
+
+ body is authenticated and compared to the MIC. Needless to say, as the body is
+
+ deciphered, it is imploded back to 8-bit characters and lines are restored to 
their
+
+ previous  lengths.  To  indicate  that  the  message  was  correctly  
deciphered,  a  new
+
+ header of the form
+
+
+            X-KDS-ID:  orgid  (originator's  name)
+
+
+ is appended to the headers of the message.  Note that this provides an 
authentication
+
+ mechanism.  Note, further, that the UA did not have to know the identity of 
the
+
+ sender of the message.
+
+
+
+ ________________________________________
+10  As a rule, in all CSMs, when encrypted information is transmitted, it is 
exploded after encryption
+
+ by the sender, and imploded prior to decryption by the receiver.
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              14
+
+
+ Modifications to MH
+
+        MH  is  a  public  domain  UA  for  UNIX,  which  is  widely  used  in 
 dealing  with
+
+ both a large number of electronic mail application and a large number of 
messages.
+
+ Although this document does not intend to describe MH, parts of the system are
+
+ described  as  they  relate  to  the  TMA.  Readers  interested  in  MH  
should  consult
+
+ either the user's manual[MRose85a] for a detailed description, or [MRose85d] 
for a
+
+ higher-level description.
+
+
+        To modify MH in order to make use of a TMA, three programs were changed
+
+ (with  a  high  degree  of  transparency  to  the  user),  and  two  new  
programs  were
+
+ introduced.
+
+
+        In  MH,  when  a  user  wishes  to  send  a  composed  draft  (which  
may  be  an
+
+ entirely new message, a re-distribution of a message, a forwarding of 
messages, or
+
+ a reply to a message), the user invokes the send program.  This program 
performs
+
+ some minor front-end work for a program called post which actually interacts 
with
+
+ the MTS. A new option to the send and post programs, the `-encrypt'        
switch, is
+
+ introduced.  If the user indicates
+
+
+            send -encrypt
+
+
+ then post encrypts the messages it sends.
+
+
+        When  sending  an  encrypted  message,  post  first  checks  that  
each  addressee
+
+ has a mapping to a KDS ID during address verification.  Then, instead of 
batching
+
+ all addresses for a message in a single posting transaction, for each 
addressee, post
+
+ consults  the  TMA  for  the  appropriately  encrypted  text  and  posts  
that  instead.
+
+ (Appendix A discusses the reasons for this more fully.)  Hence, assuming the 
user
+
+ has  established  mappings  between  MTS  addresses  and  KDS  IDs,  the  TMA 
 does
+
+ all the work necessary to encrypt the message,  including contacting the KDS 
as
+
+ necessary.11
+
+
+        In MH, when a user is notified that new mail has arrived, the inc 
program is
+
+ run.  As each message is incorporated into the user's message handling area, 
a scan
+
+ (one-line) listing of the message is generated.
+
+
+        By default, the inc program upon detecting one or more encrypted 
messages,
+
+ after the scanning process, asks the TMA to decipher the message, and if 
successful,
+
+ scans the deciphered messages.  This action can be inhibited with the 
`-nodecrypt'
+
+ switch.  Hence,  if  the  user  wishes  to  retain  messages  in  encrypted  
form,  inc  can
+
+ be told to note the presence of encrypted messages, but otherwise not to 
process
+
+ them.  By using the MH user profile mechanism, inc can be easily customized to
+
+ ________________________________________
+11  Once  the  TMA  establishes  a  connection  to  the  KDS,  it  retains  
that  connection  until  the  UA
+
+ terminates.  This is done to minimize connections to the KDS. In the context 
of MH, since the
+ trusted mail agent is active over the lifetime of an invocation of a program 
such as post, this means
+ that the connection is terminated just before the program terminates.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              15
+
+
+reflect the user's tastes.  Again, the actions of the TMA are transparent to 
the user.
+
+In fact, if encrypted mail is received from users unknown to the TMA, it 
queries
+
+the KDS as to their identity prior to retrieving the KK-relationship.
+
+
+       If  inc  fails  to  decrypt  a  message  for  some  reason,  or  if  
inc  was  told  not  to
+
+decrypt a message, the decipher program can be used.  This simple program 
merely
+
+deciphers each message given in its argument list.  The decipher program can be
+
+given the `-insitu'        switch, which directs it to replace the ciphertext 
version of
+
+the message with the plaintext version;  or, the `-noinsitu'         switch 
can be used
+
+indicating that the ciphertext version of the message should be left untouched 
and
+
+the plaintext version should be listed on the standard output.
+
+
+       Finally, the tma program is used to manipulate the TMA database, 
containing
+
+commands to boot the database, add new users to the database, and to establish
+
+mappings between addresses and users in the TMA database.  This program can
+
+also be used to disconnect KKs between other TMAs,  and the KK/KA between
+
+itself and the KDS.
+
+
+       Appendix A of this paper contains a transcript of an MH session.
+
+
+
+Remarks
+
+       We now consider the merit of the system described.  After presenting 
some
+
+of the basic strengths of the system and a few unresolved questions, the 
discussion
+
+centers on the simplifying assumptions made by the system, and how these can be
+
+defended in a non-military environment.
+
+
+Strengths
+
+       It  can  be  argued  that  the  prototype  system  (and  the  augmented 
 model  in
+
+which it finds its basis) present many strengths.
+
+
+       Perhaps the most important is the high-level of independence from the 
MTS
+
+enjoyed  by  the  system.   As  a  result,  since  the  TMA  does  not  
interact  directly
+
+with  the  MTS,  it  can  be  made  to  be  completely  free  from  any  
MTS-specific
+
+attributes,  such  as  naming,  addressing,  and  routing  conventions.  
Furthermore,
+
+when interfacing a Trusted Mail system, no modifications need be made to the 
MTS
+
+or local MTA.
+
+
+       In addition to the systems-level advantage to this scheme, users of the 
system
+
+profit as well, since many disjoint MTSs can be employed by a user with a 
single
+
+TMA. This reduces the number of weaknesses in the system and allows a user to
+
+keep a single database of "trusted" correspondents.  It should also make 
analysis
+
+and verification of the TMA easier.
+
+
+       Of course from the user-viewpoint, once the TMA has been initially 
booted,
+
+all key management is automatic.  Not only does this reduce the risk of 
compromise
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              16
+
+
+ of  cryptographic  material  (given  proper  construction  and  maintenance  
of  the
+
+ TMA), but it relieves the user of a tedious and error-prone task.
+
+
+        Finally, although the KDS described herein is used to support Trusted 
Mail,
+
+ other applications which require key management, could employ the services 
offered
+
+ by the key distribution center.
+
+
+ Open Questions
+
+        At  present,  there  are  many  restrictions  on  the  prototype  
implementation
+
+ described.   Some  of  these  result  from  that  fact  that  the  
implementation  is  a
+
+ prototype  and  not  a  production  system.   Others  deal  with  more  
fundamental
+
+ issues.
+
+
+        In terms of the TMA, the expiration delay for keys is hard-wired in; 
it should
+
+ be user-settable.  In the prototype version, the KK and KA with the KDS are 
good
+
+ for  2  days  or  10  uses  (whichever  comes  first),  while  a  KK  for  
use  with  another
+
+ TMA is good for 1 day or 5 uses.  In actual practice, keys with long 
cryptoperiods
+
+ might be good for 6 months or 100 uses, while keys with short cryptoperiods 
might
+
+ be good for 1 month or 25 uses.  The choice of actual values is an open 
question
+
+ beyond the scope of prototype system.12   In many respects, this issue is a 
classic
+
+ trade-off:  with  relatively  small  cryptoperiods,  an  adversary  has  less 
 chance  of
+
+ breaking a key, but with longer cryptoperiods less connections have to be 
made to
+
+ the key distribution server.
+
+
+        A  fundamental  issue,  owing  to  differences  between  the  EFT  and 
 CBMS
+
+ environments, is that the KDS implements only a subset of the ansi draft and 
the
+
+ semantics of certain operations have changed somewhat.  It would be nice to 
unify
+
+ the CBMS and EFT views of a key distribution center (in the former 
environment,
+
+ the center is called a KDC, while in the latter environment,  the center is 
known
+
+ as  a  CKD).  Appendix  C  of  this  paper  discusses  the  differences  
between  the  two
+
+ perspectives in greater detail.
+
+
+        At  present,  the  relationship  between  errors  in  the  TMA  and  
the  posting
+
+ process is an open question.  For example, if an address doesn't have a 
mapping in
+
+ the TMA database, post treats this as an address verification error.  This 
prevents
+
+ the draft from being posted.  The philosophy of the UA is unclear at this 
point,
+
+ with respect to how recovery should occur.  A second area, also in question, 
deals
+
+ with the way in which plaintext and ciphertext versions of a message are 
present
+
+ in a system.  Clearly,  it is a bad idea to make both versions available,  
but since
+
+ the TMA doesn't try to concern itself with first party observation, there 
seems to
+
+ be little possibility of preventing this behavior.  The best that can be 
done, at this
+
+ stage, is simply to choose a consistent policy that user's should attempt to 
adhere
+
+
+
+ ________________________________________
+12  The current values were chosen by guess work.  Although not necessarily 
technically sound, the
+
+ small numbers were very good for debugging purposes.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              17
+
+
+to.  The software can help somewhat in implementing this policy, but it 
certainly
+
+can't circumvent the user.
+
+
+       The prototype is built on the assumption that a single key distribution 
server
+
+is present.  Since the ansi draft[FIKM] makes provisions for key translation 
centers,
+
+the Trusted Mail prototype should perhaps be made to operate in a more diverse
+
+environment.  Until the issues become clearer, this remains open.
+
+
+       Finally, for distribution lists, a large number of people would need to 
share
+
+the same KDS ID. The current implementation doesn't support this.  Each TMA
+
+database  is  for  a  particular  ID.  A  user  with  multiple  IDs  would  
need  multiple
+
+databases, or the database should be re-organized.
+
+
+Weaknesses
+
+       As pointed out earlier, this prototype system situates itself in a 
commercial,
+
+not  military,  environment.   With  respect  to  this  decision,  several  
aspects  of
+
+the  system  are  now  discussed,  which  we  feel  are  acceptable  in  a  
commercial
+
+environment, but which would be considered weaknesses in a military 
environment:
+
+
+   1.  Traffic Flow
+
+       The  prototype  TMA  makes  no  attempt  whatsoever  to  prevent  or  
confuse
+
+       traffic analysis by augmenting traffic flow.
+
+
+   2.  The Database of KDS Subscribers
+
+       Since  information  returned  by  the  request  user  identification  
(RUI)  and
+
+       request  identified  user  (RIU)  MCLs  are  returned  in  the  clear,  
this  allows
+
+       an  adversary  to  ascertain  subscribers  to  the  KDS,  and  perhaps  
deduce
+
+       some information about the system.  Without knowledge of the master key
+
+       however, an adversary could not impersonate a subscriber though.  
Still, in
+
+       the  military  sense,  this  is  a  weakness.  However,  all  this  
assumes  that  the
+
+       database maintained by the KDS accurately reflects the real-world.
+
+
+   3.  Multiple Recipients
+
+       It is possible, though not proven to the authors' knowledge, that the 
scheme
+
+       used to avoid encrypting the body of a message more than once for 
multiple
+
+       recipients  might  permit  one  of  the  recipients  who  is  also  an  
adversary  to
+
+       compromise the key relationship between the sender and another 
recipient.
+
+
+       The scenario goes like this:  When a message is being prepared for 
encryption,
+
+       a single KD/IV/KA triple is generated to encrypt the body.  Since the 
sender
+
+       has  a  different  key  relationship  with  each  recipient,  each  
message  sent  is
+
+       different,  since the structure m depends not only on the KD/IV/KA 
triple
+
+       but also on the key relation between the sender and a particular 
recipient.
+
+       Now suppose that one of the recipients, r1 , in addition to receiving 
the copy
+
+       of  the  message  meant  for  him/her  also  intercepts  a  copy  of  
the  message
+
+       destined  for  another  recipient,  r2 .  At  this  point,  the  
recipient  r1  has  both
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              18
+
+
+       the plaintext and ciphertext version of the body, the plaintext version 
of the
+
+       KD/IV/KA triple, and the ciphertext version of the KD/IV/KA triple that
+
+       was generated using the key relationship between the sender and the 
recipient
+
+       r2 .  The  question  is:  can  r1  now  deduce  the  key  relationship  
between  the
+
+       sender and r2 ?
+
+
+       If so, then the way that the TMA attempts to minimize the use of 
encryption
+
+       resources is a weakness.  But,  even if this is possible,  given 
relatively short
+
+       cryptoperiods  for  key  relationships  between  TMA  peers,  this  
becomes  a
+
+       non-problem.
+
+
+   4.  Discussion Groups
+
+       As discussed earlier, the proposed method of associating a single KDS 
ID with
+
+       the membership of a discussion group does introduce a significant 
weakness
+
+       for  the  security  of  messages  sent  to  the  discussion  group.  
Since  the  TMA
+
+       does  not  assume  a  general  broadcast  facility,  it  appears  that  
there  are  no
+
+       good solutions to the problem of discussion group traffic.  Of course, 
it is easy
+
+       enough to simply send to each member of the group.
+
+
+       For  the  sake  of  argument,  let's  assume  that  the  discussion  
group  has  n
+
+       members.  Now,  since  a  different  key  relationship  would  exist  
between  the
+
+       sender and each of the n recipients,  the structure m would be 
different for
+
+       each  recipient  and  so  a  different  message  would  have  to  be  
sent  to  each
+
+       recipient.  To make matters worse,  if one rejects the way the TMA 
handles
+
+       multiple  recipients,  not  only  does  the  MTS  get  burdened  with  
n  different
+
+       messages, but the sender's TMA gets burdened by having to encrypt the 
body
+
+       of the message n times.  For meaningful values of n (say on the order 
of 500,
+
+       or even 25), the amount of resources required for any trusted 
discussion group
+
+       are simply too costly.
+
+
+Compromises, Compromises
+
+       Each  of  the  possible  weaknesses  discussed  above  represent  a  
compromise
+
+between the expense of the system and the level of security it can provide.
+
+
+       The  first  two  areas,  if  addressed  by  the  TMA,  could  result  
in  much  less
+
+background information being available to an adversary.  In an application 
where it
+
+is important that an adversary not know who is talking to whom, or who can talk
+
+at all,  this is very important.  It is the authors' position that in the 
commercial
+
+environment, this issue is not paramount.  By ignoring the issue of traffic 
flow, the
+
+TMA has a lot less work to do and the MTS is kept clear of "useless" messages.
+
+By keeping the information returned by the RUI and RIU MCLs in the clear, the
+
+complexity of the TMA is significantly reduced.
+
+
+       The  second  two  areas,  if  addressed  by  the  TMA,  could  result  
in  a  lesser
+
+probability  of  traffic  being  deciphered  by  an  adversary.   Regardless  
of  the
+
+application,  this  is  always  extremely  important.   However,  the  
authors'  feel
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              19
+
+
+that  the  compromise  made  by  the  TMA  in  these  two  issues  is  not  
substantial,
+
+and  does  not  result  in  an  explicit  weakness  when  a  message  is  sent 
 to  multiple
+
+recipients (note that when there is only a single recipient of a message, 
these two
+
+policies  can  not  introduce  weaknesses).  In  return,  efficient  use  can  
be  made  of
+
+both the MTS and the TMA when messages are being sent to multiple recipients.
+
+Given scarce resources or large numbers of recipients, this approach may prove 
to
+
+be quite winning.
+
+
+       Of course, much work remains to be done to prove the success of the TMA 
in
+
+all four of these areas.
+
+
+
+Acknowledgements
+
+       The  prototype  implementation  described  herein  utilizes  a  public  
domain
+
+implementation of the DES algorithm[DEA] which was originally implemented by
+
+James J. Gillogly in May, 1977 (who at that time was with the Rand Corporation,
+
+and  is  now  affiliated  with  Gillogly  Software).   Interfaces  to  Dr.  
Gillogly's
+
+implementation were subsequently coded by Richard W. Outerbridge in September,
+
+1984 (who at that time was with the Computer Systems Research Institute at the
+
+University of Toronto, and is now affiliated with Perle Systems, Incorporated).
+
+
+       The  authors  would  like  to  acknowledge  Dennis  Branstad,  Elaine  
Barker,
+
+and  David  Balensen  of  the  National  Bureau  of  Standards  for  their  
comments
+
+on  the  prototype  system  and  insights  on  the  ANSI  draft[FIKM].  In  
particular,
+
+Dr. Branstad originally suggested the method used for encrypting a single 
message
+
+for multiple recipients under different keys.
+
+
+       The authors (and all those who have read this paper) would like to 
thank Willis
+
+H. Ware of the Rand Corporation, and Jonathon B. Postel of the USC/Information
+
+Sciences  Institute.  Their  extensive  comments  resulted  in  a  much  more  
readable
+
+paper.  In  addition,  the  authors  would  like  to  thank  Dr.  Stephen  P.  
Smith  and
+
+Major Douglas A. Brothers for their insightful comments.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              20
+
+
+                                                 References
+
+
+
+[DCroc82]        D.H.  Crocker.   Standard  for  the  Format  of  ARPA  
Internet  Text
+
+                 Messages.  Request  for  Comments  822.  ARPA  Internet  
Network
+
+                 Information Center (NIC), SRI International (August, 1982).
+
+
+
+[DEA]            Data  Encryption  Algorithm,  X3.92-1981,  American  National
+
+                 Standards Institute, 1981.
+
+
+
+[FIKM]           Financial Institution Key Management, X9.17-198_  (draft), 
American
+
+                 National Standards Institute, 198_.
+
+
+
+[FIPS46]         Data Encryption Standard, Federal Information Processing 
Standards,
+
+                 Publication 46, 1977.
+
+
+
+[FIPS81]         DES Modes of Operation, Federal Information Processing 
Standards,
+
+                 Publication 81, 1980.
+
+
+
+[IP]             Internet  Protocol.  Request  for  Comments  791  (milstd  
1777).
+
+                 Appearing in Internet Protocol Transition Workbook, ARPA 
Internet
+
+                 Network Information Center (NIC), SRI International, 1981.
+
+
+
+[LLamp82]        L. Lamport, R. Shostak, M. Pease.  The Byzantine Generals 
Problem.
+
+                 ACM Transactions on Programming Languages and Systems 4  
(July,
+
+                 1982), 382-401.
+
+
+
+[MRose85a]       M.T. Rose,  J.L. Romine.  The Rand MH Message Handling System:
+
+                 User's Manual. UCI Version. Department of Information and 
Computer
+
+                 Science, University of California, Irvine (January, 1985).
+
+
+
+[MRose85d]       M.T. Rose, E.A. Stefferud, J.N. Sweet.  MH: A Multifarious 
User
+
+                 Agent. Computer Networks (to appear).
+
+
+
+[TCP]            Transmission Control Protocol. Request for Comments 793 
(milstd
+
+                 1778).  Appearing  in  Internet  Protocol  Transition  
Workbook,  ARPA
+
+                 Internet Network Information Center (NIC), SRI International, 
1981.
+
+
+
+[VVoyd83]        V.L.  Voydock,  S.T.  Kent.   Security  Mechanisms  in  
High-Level
+
+                 Network Protocols. Computing Surveys 15, 2 (June, 1983), 
135-171.
+
+
+
+[X.400]          Message  Handling  Systems:   System  Model-Service  Elements,
+
+                 Recommendation  X.400,  International  Telegraph  and  
Telephone
+
+                 Consultative Committee (CCITT).
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              21
+ 
______________________________________________________________________________________________________________________
+
+  1    %  tma  -add  -user  "UCI  Portal"  address@hidden
+  2    3:  "UCI  Portal"
+  3         address@hidden
+  4
+  5    %  comp
+  6    To:  uci
+  7    Fcc:  +outbox
+  8    Subject:  test  message
+  9    --------
+10     mumble,  mumble.
+11     ^D
+12
+13     What  now?  send  -encrypt
+14      --  Address  Verification  --
+15        --  Local  Recipients  --
+16        uci:  address  ok
+17      --  Address  Verification  Successful  --
+18      --  Posting  for  All  Recipients  --
+19        --  Local  Recipients  --
+20        uci:  address  ok
+21      --  Recipient  Copies  Posted  --
+22      --  Filing  Folder  Copies  --
+23        Fcc  outbox:  folder  ok
+24      --  Folder  Copies  Filed  --
+25     Message  Processed
+
+
+                                                     Figure 4
+
+ 
__________________________________________Sending_Encrypted_Mail______________________________________________________
+
+
+
+ Appendix A: An MH Session
+
+        In  the  following,  the  user  ``Marshall T. Rose''                
logged  onto  host
+
+ ``udel-dewey''          , wishes to send a message to a user known as the 
``UCI Portal''
+
+ (a system maintenance account).  As shown in Figure 4, line 1, the user first 
estab-
+
+ lishes a mapping between the name ``UCI Portal''           and the address 
address@hidden
+
+ dewey.  Once this mapping is performed, it remains in effect until the user 
indicates
+
+ otherwise  to  the  TMA.  When  the  tma  program  is  invoked,  it  consults 
 the  TMA
+
+ database to see if that user is known.  If not,  it contacts the KDS to ask 
for the
+
+ KDS ID associated with the user.  If the response is successful (in this 
case,  the
+
+ KDS ID is ``3''    ), then the TMA updates its database.  The tma program 
indicates
+
+ in its output the KDS ID associated with the user, along with all known 
addresses
+
+ (in this case, only one).  So, once the name to address mapping has been 
described
+
+ the user, the user agent, MH, deals only with the address, while the trusted 
mail
+
+ agent deals with the name and KDS ID aspects of the user.
+
+
+        Next, the comp program is invoked to compose a new draft on line 5.  
The
+
+ user addresses the local user ``uci''      in the To:  field, and indicates 
that a plaintext
+
+ copy  should  be  kept  in  the  folder  ``+outbox''       .  After  entering 
 the  subject  and
+
+ text of the draft,  the user enters What  now?  level on line 13.  At this 
point,  the
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              22
+______________________________________________________________________________________________________________________
+
+ 1    %  inc
+ 2    Incorporating  new  mail  into  inbox...
+ 3
+ 4        1+E02/28  0227-EST  mrose                   test  message   
<<ENCRYPTED  MESSAGE:  TTI
+ 5
+ 6    Incorporating  encrypted  mail  into  inbox...
+ 7
+ 8        1+  02/28  0227-EST  mrose                   test  message   
<<mumble,  mumble.  >>
+
+
+                                                    Figure 5
+
+________________________________________Receiving_Encrypted_Mail______________________________________________________
+
+
+
+user  directs  MH  to  send  the  draft  in  encrypted  form.   The  resulting 
 output  is
+
+verbose (a default for send for this user) but instructive.  Initially, all 
addresses in
+
+the draft are verified on lines 14 to 17.  Two forms of verification occur:  
first, the
+
+MTS is asked to verify the address as much as possible.  For local addresses, 
the
+
+MTS decides if the name has a maildrop associated with it.  For remote 
addresses,
+
+the MTS decides if the host is known to it.  The second type of verification 
occurs
+
+with the TMA. For all addresses, the TMA is asked if it can find a mapping from
+
+the address to a KDS ID.
+
+
+       The  reason  MH  goes  to  all  this  trouble  is  a  philosophical  
issue.  Since  the
+
+copy of the encrypted draft is different for each recipient, post tries to 
verify that
+
+all  recipients  can  be  successfully  posted  prior  to  actually  posting  
the  different
+
+ciphertext versions of the draft.  This behavior is not optimal in terms of 
cycles,
+
+but is perhaps "correct" from a UA perspective.
+
+
+       Finally, the draft is actually posted, and the folder carbon-copy is 
filed.
+
+
+       Some time later, the UCI portal is informed that new mail has arrived.  
As
+
+shown  in  Figure  5,  the  inc  program  is  run.  The  ``E''    prior  to  
the  date  of  the
+
+message indicates that inc has detected the message to be encrypted.  Since the
+
+user did not inhibit inc from deciphering the message, it proceeds to do so.
+
+
+       Finally,  it  may  be  instructive  to  see  what  the  encrypted  
message  looked
+
+like  when  it  was  delivered  to  the  portal's  maildrop,  and  the  final  
message  after
+
+deciphering.  Figures 6 and 7 show these respectively.  In particular, note 
that the
+
+``X-KDS-ID:''          field has been introduced in Figure 7 after 
successfully deciphering
+
+the message.  The presence of this field authenticates the sender of the 
message.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              23
+______________________________________________________________________________________________________________________
+
+Received:  From  localhost.DELAWARE  by  udel-dewey.DELAWARE  id  a022713
+              ;28  Feb  85  2:27  EST
+To:  address@hidden
+Subject:  test  message
+Date:  28  Feb  85  02:27:16  EST  (Thu)
+Message-ID:  <address@hidden>
+From:  address@hidden
+
+
+ENCRYPTED  MESSAGE:  TTI  TMA
+(
+MCL/MAIL
+RCV/3
+ORG/17
+IDK/850228072730
+KD/e36813a3882eebd1
+KD/fa8b8ac657476669
+IV/Ef9d283565431b103
+MIC/fdb927fb
+MAC/50e9de30
+)
+a13774f652d844762c4fc03c2f4e201b9d2f57eadb00546c
+
+
+                                                    Figure 6
+
+______________________________________Message_Prior_to_Decryption_____________________________________________________
+
+______________________________________________________________________________________________________________________
+Received:  From  localhost.DELAWARE  by  udel-dewey.DELAWARE  id  a022713
+              ;28  Feb  85  2:27  EST
+To:  address@hidden
+Subject:  test  message
+Date:  28  Feb  85  02:27:16  EST  (Thu)
+Message-ID:  <address@hidden>
+From:  address@hidden
+X-KDS-ID:  17  (Marshall  T.  Rose)
+
+
+mumble,  mumble.
+
+
+                                                    Figure 7
+
+________________________________________Message_After_Decryption______________________________________________________
+
+
+
+Appendix B: A Short Exchange
+
+       The simple nature of the interchange between the user and MH in 
Appendix A
+
+completely hides any interactions between the TMA and the KDS. Let us briefly
+
+examine  an  exchange  that  might  occur  after  the  destination  TMA  
receives  the
+
+message shown in Figure 6.
+
+
+       To  begin,  the  TMA  must  ascertain  what  it  knows  about  the  
sender  of  the
+
+message,  which  claims  to  have  a  KDS  ID  of  17.   That  is,  the  TMA  
must  first
+
+consider what key relationships it has with the sender.  For the sake of 
argument,
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              24
+ 
______________________________________________________________________________________________________________________
+
+  1    <---  (
+  2    <---  MCL/RIU
+  3    <---  RCV/17
+  4    <---  ORG/3
+  5    <---  KDC/TTI
+  6    <---  EDC/1a1fbbba
+  7    <---  )
+  8    --->  (
+  9    --->  MCL/RTR
+10     --->  RCV/17
+11     --->  ORG/3
+12     --->  CTA/1
+13     --->  USR/"Marshall  T.  Rose"
+14     --->  KDC/TTI
+15     --->  MAC/2ebde134
+16     --->  EDC/96b183de
+17     --->  )
+18     <---  (
+19     <---  MCL/ACK
+20     <---  RCV/17
+21     <---  ORG/3
+22     <---  KDC/TTI
+23     <---  EDC/59a8ddcc
+24     <---  )
+
+
+                                                     Figure 8
+
+ 
__________________________________________Ascertaining_the_Sender_____________________________________________________
+
+
+
+ suppose that this purported subscriber is unknown to the TMA. In this case, 
the
+
+ first step it must undertake is to ascertain the validity of this subscriber.
+
+
+        As  shown  in  Figure  8  on  lines  1-7,  the  TMA  does  this  by  
establishing  a
+
+ connection  to  the  KDS  and  issuing  an  request  identified  user  (RUI)  
MCL.13  If
+
+ the response by the KDS is positive,  the TMA will use the information 
returned
+
+ when generating the ``X-KDS-ID:''           field for authentication.  The 
response CSM
+
+ returned  by  the  KDS  includes  an  authentication  checksum  (the  MAC  
field  on
+
+ line 15) and a transaction count (the CTA field on line 12) to prevent 
spoofing by a
+
+ process pretending to be the KDS. The TMA then acknowledges that the response
+
+ from the server was acceptable on lines 18-24.
+
+
+        The next step is to ascertain the actual key relationship used to 
encrypt the
+
+ structure  m,  which  appears  after  the  identifying  string.  The  TMA  
consults  the
+
+
+ ________________________________________
+13  In point of fact, the very first thing that the TMA does after connecting 
to the KDS is verify
+
+ that  the  key  relationships  between  the  KDS  and  the  TMA  are  valid  
(have  not  expired).   If  the
+ key relationship between the two has expired, the TMA issues a request 
service initialization RSI
+ MCL to establish a new key relationship. This relationship contains a 
key-encrypting key (KK) and
+ an authentication key (KA). Once a valid key relationship exists between the 
KDS and the TMA,
+ transactions concerning other key relationships may take place.
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              25
+ 
______________________________________________________________________________________________________________________
+
+  1    <---  (
+  2    <---  MCL/RSI
+  3    <---  RCV/17
+  4    <---  ORG/3
+  5    <---  IDK/850228072730
+  6    <---  KDC/TTI
+  7    <---  SVR/KD.IV.KK
+  8    <---  EDC/83679e14
+  9    <---  )
+10     --->  (
+11     --->  MCL/RTR
+12     --->  RCV/17
+13     --->  ORG/3
+14     --->  KK/095f9d6b87f57871
+15     --->  CTA/2
+16     --->  KD/527fbb5593efd318
+17     --->  KD/1dcab338be1e7a09
+18     --->  IV/E02db5e598b2823ae
+19     --->  EDK/850618075332
+20     --->  KDC/TTI
+21     --->  MAC/12cbbdf5
+22     --->  EDC/8cd0c4a8
+23     --->  )
+24     <---  (
+25     <---  MCL/ACK
+26     <---  RCV/17
+27     <---  ORG/3
+28     <---  KDC/TTI
+29     <---  EDC/59a8ddcc
+30     <---  )
+
+
+                                                     Figure 9
+
+ 
__________________________________Ascertaining_the_Key_Relationship___________________________________________________
+
+
+
+ IDK field in m, and if this relationship is unknown to it, then the KDS is 
asked to
+
+ disclose the key relationship.
+
+
+        As shown in Figure 9 on lines 1-9, This is done by issuing a request 
service
+
+ initialization (RSI) MCL and specifying the particular key relationship of 
interest.
+
+ The  KDS  consults  its  database,  and  if  the  exact  key  relationship  
between  the
+
+ two  indicated  TMAs  can  be  ascertained,  it  returns  this  information.  
 The  key
+
+ relationship  is  encrypted  using  the  key  relationship  between  the  KDS 
 and  the
+
+ TMA, and the usual count and authentication fields are included.
+
+
+        Once the TMA knows the key relationship used to encrypt the structure 
m,
+
+ it can decider the structure and ascertain the KD/IV/KA triple used to encrypt
+
+ the body of the message.
+  Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              26
+
+
+ Appendix C: Differences between the ANSI and TTI drafts
+
+        The differences between the ansi draft standard for financial 
institution key
+
+ management,  and  the  TTI  draft's  specification  for  trusted  mail  
handling,  are
+
+ considered.
+
+
+        The concept of a key distribution center (CKD in the ansi draft, KDC 
in the
+
+ TTI  draft) environment differs.  In the ansi draft, only one party talks to 
the key
+
+ distribution  server  (KDS);  in  the  TTI  draft,  both  parties  talk  to  
the  KDS.  This
+
+ leads  to  a  number  of  differences  in  the  two  protocols.  The  reason  
for  this  shift
+
+ in the TTI  draft is somewhat subtle:  although both parties can talk to the 
KDS,
+
+ the mail transfer system (MTS) environment is such that both user agents (UAs)
+
+ are unable to contact each other in real-time.  Hence, a detailed two-way 
protocol
+
+ between them is prohibitively expensive.14
+
+
+        Before discussing the differences between the two drafts, let us 
consider the
+
+ differences in the two environments:  in the electronic mail environment, the 
two
+
+ end-to-end  peers  need  not  be  simultaneously  online.  Electronic  mail  
relies  on  a
+
+ communication  service  with  potentially  large  delays  in  transit  
between  message
+
+ transfer agents (MTAs).  A basic concept of "mail" is that an originator must 
release
+
+ the enveloped message to a "transfer agent" before delivery can be attempted 
to a
+
+ recipient.  In contrast, in the electronic funds environment, the two peers 
make use
+
+ of a virtual-circuit service.  This means that they can synchronize much 
easier and
+
+ inter-operate in a more direct fashion.
+
+
+        Service protocols are based on the notion of requests and responses.  
A client
+
+ issues a request to a server, the server processes the request and returns a 
response.
+
+ Depending on the complexity of the protocol, the client may now respond to the
+
+ server's message, or might issue a new request, or might terminate the 
connection.
+
+
+        As  delays  in  the  network  increase,  along  with  the  possibility 
 of  loss  or
+
+ corruption  or  re-ordering  of  messages,  it  becomes  more  difficult  to  
implement  a
+
+ service  protocol.   In  the  case  of  a  high-level  protocol  making  use  
of  a  virtual-
+
+ circuit service, most problems can be ignored, as the virtual-circuit service 
masks
+
+ out  problems  in  the  network  by  using  sequences,  positive  (and/or  
negative)
+
+ acknowledgments, windows, and so on.
+
+
+        Sadly,  electronic  mail  cannot  utilize  a  virtual-circuit  
throughout  the  MTS
+
+ (although individual MTA-wise connections are (in theory) virtual-circuit 
based).
+
+ This means that implementing a real-time or interactive service protocol 
between
+
+ two endpoints (a.k.a. UAs) in the MTS is very difficult.  As a result, the 
complexity
+
+ of  an  end-to-end  protocol  in  the  MTS  (in  terms  of  requests  and  
responses)  is
+
+ severely  constrained.  For  all  practical  purposes,  an  MTA  can  assume  
datagram
+
+ service and nothing else:  messages might be re-ordered; messages might not 
reach
+
+ ________________________________________
+14  In the words of Einar A. Stefferud:  "Every interesting connection has at 
least two end-points _
+
+ connections with only one end-point are always uninteresting."
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              27
+
+
+their destination; messages might be corrupted (though this is unlikely); in 
cases
+
+of failure, a notice might be generated, or might not.
+
+
+       In terms of the environment in which cryptographic service messages 
(CSMs)
+
+must flow, the high degree of delay and uncertainty make the implementation of 
a
+
+complex end-to-end protocol between UAs prohibitively expensive.  Hence, a KDC
+
+is needed, to which each UA can connect using a virtual-circuit service, at 
posting
+
+and  delivery  time.  The  TTI  draft  terms  such  a  user  agent  a  trusted 
 mail  agent
+
+(TMA). Since both TMAs can connect to the KDS at different times using 
different
+
+media, the KDS maintains state information about the key relationships between
+
+different TMAs and manages those relationships appropriately.  Since 
connections
+
+to the KDS can be expensive in terms of resources, each TMA caches information
+
+received from the KDS appropriately.
+
+
+       That's the gist of the argument as to why the TTI  draft differs from 
the ansi
+
+draft.  It might be possible to include CSMs in the messages which UAs 
exchange,
+
+but management of these CSMs can not be done reliably or in a straightforward
+
+fashion owing to the datagram nature of the service offered by the MTS. 
Finally, it
+
+should be noted that in the TTI  draft, the KDS never initiates a connection 
with
+
+a TMA, rather it is the TMAs which connect to the KDS.
+
+
+       In the following, the differences between the two drafts are 
highlighted.  Minor
+
+differences between the two are not discussed.
+
+
+       In the ansi draft, x 4:2 (p. 22) discusses the requirements for the 
automated
+
+key management architecture.  The TTI  draft has somewhat more "depth", since
+
+the  ansi  draft  does  not  make  use  of  a  master  key  (MK)  to  fully  
automate  the
+
+distribution of key-encrypting keys (KK).
+
+
+       The ansi draft states that once a KK-relationship is discontinued by 
either
+
+of  that  pair,  the  relation  is  not  to  be  re-used  for  any  subsequent 
 activity.  This
+
+can't be guaranteed in the prototype implementation.  If one of the TMAs wishes
+
+to discontinue a key, not only does it have to inform the KDS, but the other 
TMA
+
+as well.  Since the TTI  draft does not permit CSMs between TMA-peers, the 
latter
+
+action doesn't seem possible.  However, there is a solution.  Whenever a 
message is
+
+deciphered, the TMA checks the effective date of the key used to encrypt a 
message
+
+it has received, and if the key is newer than the one it currently uses, it 
considers
+
+the older key to be discontinued.
+
+
+       Furthermore,  although  the  environment  in  the  TTI  draft  is  that 
 of  a  key
+
+distribution center, the notion of an ultimate recipient is not present, since 
all clients
+
+connect to the KDS at one time or another.  In addition, the differences 
between
+
+the  environs  envisioned  by  the  two  drafts  become  even  more  
pronounced  when
+
+one considers that the KDS distributes key-encrypting keys to TMAs, although 
the
+
+ansi draft specifically prohibits this.
+ Reprinted from Proceedings, Second International Symposium on Computer 
Message Systems, 1985              28
+
+
+       Finally,  there  is  another  important  technical  difference  between 
 the  two
+
+drafts:  every  request  to  the  KDS  by  the  TMA  results  in  a  
specifically  defined
+
+response from the KDS to the TMA. Furthermore, if the KDS responds in a 
positive
+
+manner, then the TMA acknowledges this.  This three-way interaction is used to
+
+ensure consistency between the states of the KDS and the TMA. The ansi draft
+
+does not require such behavior, and might profit from some finite-state 
analysis to
+
+ascertain unsafe (in terms of correctness) states which are reachable.
+
+
+
+
+                                                   Contents
+
+
+
+                                                                               
                                Page
+
+ Introduction .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  *
+ *.        1
+
+ The Key Distribution Service  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .        6
+
+ The Trusted Mail Agent  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .      10
+
+        Encrypting Mail .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      11
+
+        Decrypting Mail .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      13
+
+ Modifications to MH  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .      14
+
+ Remarks .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . *
+ * .      15
+
+        Strengths  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .*
+ *      15
+
+        Open Questions  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      16
+
+        Weaknesses .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .   *
+ *   17
+
+        Compromises, Compromises.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .      18
+
+ Acknowledgements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .      19
+
+ References .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . *
+ * .      20
+
+ Appendix A: An MH Session  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .      21
+
+ Appendix B: A Short Exchange .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  .  .      23
+
+ Appendix C: Differences between the ANSI and TTI drafts  .  .  .  .  .  .  .  
.  .  .      26
+
+
+
+ ________________________________________
+This document (version #2.60) was TEXset April 12, 1990 with DISS.STY v103.
+
+
+
+                                                                               
                                      i
diff --git a/docs/historical/tutorial.pdf b/docs/historical/tutorial.pdf
new file mode 100644
index 0000000..97b088c
Binary files /dev/null and b/docs/historical/tutorial.pdf differ
diff --git a/docs/historical/tutorial.txt b/docs/historical/tutorial.txt
new file mode 100644
index 0000000..f7c3f45
--- /dev/null
+++ b/docs/historical/tutorial.txt
@@ -0,0 +1,1389 @@
+
+
+
+
+                     The  Rand  MH  Message  Handling  System:
+
+
+
+                                                 Tutorial
+
+
+                                           Marshall T. Rosey
+
+                                             Jerry N. Sweetz
+
+                                  Wed May 21 21:04:08 PDT 1986
+
+
+
+                                                Abstract
+
+
+               This document introduces the UCI version of the Rand MH
+
+               system to novice users.  In particular, this tutorial discusses
+
+               how to read, send, reply to, and review mail; aspects of the
+
+               MH user profile affecting these activities; and other reference
+
+               works on MH.
+
+
+                      Although this document is based on the standard MH
+
+               user  manual[MRose85a],  this  document  is  meant  to  supple-
+
+               ment, not supersede, that lengthier work.
+
+
+                      Comments concerning this documentation should be ad-
+
+               dressed to the Internet mailbox address@hidden
+
+
+
+_____________________________________
+Computer Mail: y address@hidden, z address@hidden
+
+
+                     The  Rand  MH  Message  Handling  System:
+
+
+
+                                                 Tutorial
+
+
+
+Acknowledgements
+
+        The MH system described herein is based on the original Rand MH system.
+
+It has been extensively developed (perhaps too much so) by Marshall Rose and
+
+John Romine at the University of California, Irvine.  Einar Stefferud, Jerry 
Sweet,
+
+and Terry Domae provided numerous suggestions to improve the UCI version of
+
+MH.
+
+
+        Parts  of  this  document  are  taken  from  a  Rand  tutorial  
[SPayn85]  by  Sue
+
+Payne.
+
+
+
+Disclaimer
+
+        The  Regents  of  the  University  of  California  issue  the  
following  disclaimer
+
+concerning the UCI version of MH:
+
+
+
+       "Although each program has been tested by its contributor, no warranty, 
express or
+        implied, is made by the contributor or the University of California, 
as to the accuracy
+        and functioning of the program and related program material, nor shall 
the fact of
+        distribution constitute any such warranty, and no responsibility is 
assumed by the
+        contributor or the University of California in connection herewith."
+
+
+
+Scope
+
+        This document assumes that you have no knowledge of MH. However, to use
+
+MH you should have some familiarity with the UNIX1 operating system, 
particularly
+
+with the way commands are given,  how files are named,  the jargon (e.g.  
shell,
+
+argument, home directory, pathname), and how to use a text editor (such as ex, 
vi,
+
+or emacs ).
+
+
+        This tutorial covers only basic material.  For additional information 
about
+
+MH, consult the User's Manual [MRose85a].  Other documents of possible interest
+
+to you include The UCI BBoards Facility [MRose84] and the MH Administrator's
+
+Guide [MRose85b].
+
+
+
+_____________________________________
+1  UNIX is a trademark of AT&T Bell Laboratories.
+
+
+
+                                                       1
+                                                                              
                                2
+
+
+How To Use This Tutorial
+
+        Different  typefaces  and  symbols  are  used  in  this  document  to  
denote  the
+
+kinds of things you (the user) must type on your keyboard.
+
+
+           1.  The names of programs are given in text italics:
+
+
+                                  comp
+
+
+           2.  Arguments to programs are given in typewriter  style, delimited 
by
+
+               single-quotes:
+
+
+                                  `msgs'
+
+
+           3.  UNIX pathnames are given in slanted roman:
+
+
+                                  /usr/uci/
+
+
+           4.  Text giving a full example is presented in typewriter  style:
+
+
+                   comp -editor vi
+
+
+               The "  " glyph is used to indicate an explicit space (the kind 
you make
+
+               with the space bar on your keyboard).
+
+
+
+Introduction
+
+        With MH you can send messages to other people on your system and read
+
+messages  that  other  people  send  to  you.  Depending  on  how  things  
have  been
+
+set up on your system, it may be possible for you to send messages to people on
+
+remote systems.  You can also reply to messages that you have received, review
+
+them, organize them in folders, and delete them.
+
+
+        MH differs from other mail programs in that it is composed of many 
small
+
+programs instead of just one very large program.  Among new users this 
sometimes
+
+causes some confusion along the lines of "what program do I run?"  With MH, you
+
+use the shell to invoke one program at a time.  This means that when you handle
+
+mail, the entire power of the shell is at your disposal in addition to the 
facilities
+
+that MH provides.  In the beginning, this may not make much sense or may not
+
+seem important.  However, we have found that as new users of MH gain 
experience,
+
+they find this style of interface to be very useful.
+                                                                              
                                3
+
+
+Summary
+
+        The most minimal list of MH commands that you can get by with is:
+
+
+         inc   - incorporate mail (get new mail)
+
+
+       show    - show the first message
+
+
+        next   - show the next message
+
+
+        prev   - show the previous message
+
+
+       comp    - compose a new message to send
+
+
+         repl  - reply to a received message
+
+
+        Comp and repl give enough prompting possibly to get you along.  
However,
+
+it is suggested that you take the time to peruse this tutorial before leaping 
into
+
+things.
+
+
+
+Messages and Folders
+
+        A  message  takes  the  form  of  a  memorandum,  and  is  composed  
of  two
+
+major parts:  a header, which contains such information as ``To''     and 
``From''
+
+addresses, ``Subject''       , ``Date''     , etc.; and the body, which is the 
actual text of
+
+the message.  Each component in the header starts with a keyword followed by a
+
+colon and additional information.  For example, in the message:
+
+
+           Date:   10  Oct  84  17:41:14  EDT  (Wed)
+
+           To:   address@hidden
+
+           Subject:   UCI  Software  Talk
+
+           From:   UCI  Portal  (agent:   Marshall  Rose)  <address@hidden>
+
+
+
+           This  is  the  text.
+
+
+there are four header items, and one line of text in the body.  Note that a 
blank
+
+line separates the body from the headers.
+
+
+        MH stores a message as an ordinary file in a UNIX directory.  This 
directory is
+
+called a folder.  If you choose to keep and organize your messages, you may 
create
+
+as many folders as you wish.  There is no limit as to the number of messages 
in a
+
+folder.  Typically messages are numbered from 1 up.  All of your personal 
folders,
+
+along with some other information that MH needs to know, are kept in a special
+
+directory called Mail    under your home directory.  Normally,  MH manages 
these
+
+files and directories automatically, so you needn't muck around with them 
directly
+
+unless you really want to.
+                                                                              
                                4
+
+
+        You won't have any folders until somebody sends mail to you, as a 
rule.  If
+
+you are anxious to try out MH, but no one has sent you mail yet, try sending 
mail
+
+to yourself to start out with.
+
+
+
+Reading New Mail
+
+        When you are notified that you have mail (usually when you log in), 
perhaps
+
+with the message
+
+
+           You  have  mail.
+
+
+then you know that messages are waiting in your maildrop.  To read these 
messages,
+
+you first have to incorporate the mail into your "in-box" by typing the 
command:
+
+
+           inc
+
+
+This incorporates the new mail from your mail drop to your in-box,  which is a
+
+folder named (naturally enough) `+inbox'     .  As inc incorporates your new 
mail, it
+
+generates a scan listing of the mail:
+
+Incorporating  new  mail  into  inbox...
+
+2 +   10/10    WESTINE% USC-ISIF       RFC  916  Now  Available          <<A  
new  Request  for  Co
+3     10/10    G  B  Reilly            Gosling  EMACS  manual            
<<Marshall,  I  am  lookin
+4     10/11    WESTINE% USC-ISIF       Internet  Monthly  Report
+
+
+Each  time  inc  is  invoked,  any  new  messages  are  added  to  the  end  
of  your
+
+``+inbox''        folder.
+
+
+        To read the first message, use the show command:
+
+
+           show
+
+
+This displays the current message.  To read each subsequent message, use the 
next
+
+command:
+
+
+           next
+
+
+If you want to back up, the command prev shows the previous message.  Another
+
+way to read your messages is to name them all at once:
+
+
+           show all
+
+
+This command displays them all, one after the other.  The `all'    argument to 
show
+
+above might also be replaced with `next'     or `prev'    , as in
+
+
+           show next
+
+           show prev
+
+
+which are respectively equivalent to the next and prev commands.
+                                                                              
                                5
+
+
+        If you have had occasion to type inc more than once, then you will 
find that
+
+``show all''         is showing not only the new messages, but also the old 
messages
+
+that you've already seen.  Therefore, you might find it better to use
+
+
+           show cur-last
+
+
+instead.  This command displays messages from the current message (`cur'   ) 
to the
+
+last message (`last'    ).  Each time inc is invoked, it makes the first new 
message the
+
+current message.  It should be noted here that the name `all'    given in a 
previous
+
+example is equivalent to the message range `first-last'        , where `first' 
     is the
+
+name of the first message in `+inbox'     .  Also, ``show''      by itself is 
equivalent to
+
+
+           show cur
+
+
+
+        As mentioned earlier, with the UNIX shell as your interface to MH, it 
becomes
+
+easy to list a message on a line printer or to another file.  For example,
+
+
+           show all _ lpr
+
+
+lists all the messages in the current folder to the line printer.
+
+
+        To  summarize,  the  preceding  has  introduced  these  important  
concepts:
+
+folders  (in  particular,  the  `+inbox'      folder),  messages,  message  
names  (e.g.
+
+`prev'    , `next'    , `cur'   , `last'    ), and message ranges (e.g.  
`cur-last'      , `all'   ).
+
+More will be said about folders and messages in succeeding sections.
+
+
+
+Sending Messages
+
+        To  send  a  message,  you  compose  a  message  draft,  either  by  
replying  to  a
+
+message that someone sent to you, or by creating a draft from scratch.  The 
send
+
+command is used after completing the final draft of a message, in the same way
+
+that you mail a paper letter only after you are finished writing it.  This is 
a common
+
+source of confusion among new MH users who may have had experience with other
+
+mail systems.
+
+
+        This section discusses how to originate messages and how to reply to 
messages
+
+that were previously received, along with a word or two about addresses.
+
+
+Originating Messages
+
+        To create a message draft from scratch, use the comp program.  You 
will be
+
+prompted for the header components and then the body of the message.  If you
+
+make a mistake, you may correct it later with a text editor.  The draft will 
be sent
+
+only if you give an explicit send command, so you do not have to worry about 
the
+
+draft getting away from you prematurely.
+
+
+        To start, you simply type:
+
+
+           comp
+                                                                              
                                6
+
+
+        To: First, the prompt `To:'    appears.  Here you type the address of 
the person
+
+to whom you wish the message sent.  If this person is on the same computer 
system
+
+as you, then that person's login ID should serve as the address (e.g.  `mrose' 
    or
+
+`jsweet'     ).
+
+
+        Here we digress briefly to discuss addresses.  A full discussion of 
addresses
+
+is  beyond  the  scope  of  this  tutorial,  but  it  should  be  mentioned  
that  there
+
+are  other  kinds  of  addresses  besides  login  IDs.   To  send  messages  
to  people
+
+on  remote  systems,  the  usual  way  is  to  type  address@hidden'          
in  the  `To:'
+
+component, as in address@hidden'          .  Examples of `host'     names at 
UCI include
+
+`uci-icsa'       , `uci-icse'      , and `uci-cip1'      .  Upper and lower 
case letters may be
+
+used interchangeably.  Sometimes a person's last name (e.g.  `Rose'   , 
`Sweet'     ) can
+
+be used instead of a login ID, but this cannot be relied upon in a world 
without
+
+unique surnames.
+
+
+        cc:  After you have given an address to the `To:'    prompt, you are 
prompted
+
+for  the  `cc:'    ("carbon  copy"-an  archaism)  address.  It  is  customary, 
 but  not
+
+required, to put your own address here so that you get a copy of the message 
when
+
+it is sent.
+
+
+        To put more than one address in the `To:'    and `cc:'    components, 
just use
+
+a comma (",") between each address on a line.
+
+
+        Subject:  The third prompt is for the `Subject:'        component.  
Here a line
+
+of any descriptive text will do.  Once you have typed a line of text, a dashed 
line
+
+is printed, and you are then expected to type the body of the message.  End the
+
+body with EOT (usually CTRL-D).
+
+
+        An example of a complete message draft, as it appears on your screen, 
might
+
+be:
+
+
+           To:   News
+
+           cc:   farber,  mrose
+
+           Subject:   UCI  Software  Talk
+
+           --------
+
+           A  presentation  on  the  UCI  software  suite,  including
+
+           the  Rand/UCI  Mail  Handling  System  (MH),  will  be  given
+
+           in  CS220  on  October  31st  at  2:30  PM.  Refreshments
+
+           will  be  served  afterward.
+
+
+
+           /mtr
+
+           ^D
+
+
+(The "^D" does not appear in the draft.)
+                                                                              
                                7
+
+
+        At this point, you are asked
+
+
+           What now?
+
+
+This is known as being at What  now?  level.  For now, there are probably only 
four
+
+options that will interest you:
+
+
+         edit  - edit the draft
+
+
+          list - list the draft on your screen
+
+
+        quit   - quit, without sending the draft
+
+
+        send   - send the draft, then quit
+
+
+
+All of these options take various arguments, but only edit really needs an 
argument.
+
+
+        Edit:  The edit option will let you edit the draft before sending it.  
If your
+
+favorite text editor is vi, then you would use the edit option as:
+
+
+           edit vi
+
+
+Just specifying edit with no argument will only let you append text to the body
+
+of the message draft.  Another editor (e.g.  vi, ex, emacs ) should really be 
run to
+
+finish the draft up.  When you leave the editor, you will come back to the What
+
+now?  level, where you can re-edit the draft, send it, list it, or simply quit 
without
+
+sending the draft at all.
+
+
+        Caution:  while in the editor, you should not delete colons in the 
headers or
+
+change the spelling of `To:'   , `cc:'   , or `Subject:'      ; and do not 
leave blank lines
+
+between these lines.  Feel free to change the addresses that you typed 
previously, or
+
+to add these lines if they are missing.  Do not delete the dashes that 
separate the
+
+header lines from the text of the message.  You should not add additional 
header
+
+lines unless you understand precisely what you are doing.  This means 
particularly
+
+that you should not type or fill in a `From:'      line.  When the message is 
sent, the
+
+system automatically adds this line.  Also, you should not type a `Date:'      
line in
+
+the header.  When the message is sent, the system automatically adds the 
current
+
+date and time.
+
+
+        Quit:  If you quit without sending the draft, the draft is saved in a 
file called
+
+Mail/draft      under your home directory.  This file can be recalled later 
using the
+
+`-use'     argument to comp:
+
+
+           comp -use
+
+
+The What  now?  level will permit you to do further editing and to send the 
final
+
+draft when you are ready.
+                                                                              
                                8
+
+
+        Send:  When it is time to send the draft on its way, use the send 
option by
+
+itself.  If there are any problems with the draft (for example, if one or more 
of the
+
+people whom you specified in the `To:'    and `cc:'    components do not 
exist) then
+
+you will be notified at this time.
+
+
+Replying to Messages
+
+        To reply to a message, use the repl command.  For example,
+
+
+           repl
+
+
+creates a reply to the current message.  You may also reply to a specific 
message
+
+(other than the current one) by giving a message number (e.g.  `1' , `4'  , 
etc.)  or a
+
+message name (e.g.  `first'    , `last'    , `prev'    ):
+
+
+           repl prev
+
+
+We haven't really introduced message numbers yet.  They will be discussed in 
the
+
+next section.
+
+
+        The process of replying to a message is very similar to composing a 
message
+
+from  scratch  (see  the  previous  section),  but  repl  conveniently  
constructs  and
+
+displays the header of the reply draft for you.  You need only type in the 
text of
+
+the reply.  An EOT (usually CTRL-D) indicates that you are done typing.  If you
+
+make a mistake, you may correct it later with a text editor.  The draft will 
be sent
+
+only if you give an explicit send command, so you do not have to worry about 
the
+
+draft getting away from you prematurely.
+
+
+        An example of a complete reply draft, as it appears on your screen 
might be:
+
+
+           To:   MRose
+
+           cc:   JSweet
+
+           Subject:   Re:   UCI  Software  Talk
+
+           In-reply-to:   Your  message  of  10  Oct  84  18:15:08  PDT  (Wed).
+
+           --------
+
+           I'll  be  there.
+
+           -jns
+
+           ^D
+
+
+(The "^D" does not appear in the draft.)
+
+
+        At this point, you are asked
+
+
+           What now?
+
+
+This is known as being at What  now?  level.  Refer to the previous section 
regarding
+
+how to edit, display, or send the draft at this point.
+                                                                              
                                9
+
+
+        As with comp, if you quit without sending the reply draft, the draft 
is saved
+
+in a file called Mail/draft     under your home directory.  This file can be 
recalled later
+
+using the `-use'     argument to comp:
+
+
+           comp -use
+
+
+The What  now?  level will permit you to do further editing and to send the 
final
+
+draft when you are ready.
+
+
+
+Scanning Messages
+
+        The scan listing created by inc shows the message number, the date on 
which
+
+the  message  was  sent,  the  sender,  and  the  subject  of  the  message.  
If  there  is
+
+sufficient space remaining on the line, the beginning of the text of the 
message is
+
+displayed as well, preceded by two left angle brackets (" <<").  An example of 
a
+
+scan listing is:
+
+    1+   10/10     WESTINE% USC-ISIF       RFC  916  Now  Available          
<<A  new  Request  for  Co
+    2    10/10     G  B  Reilly            Gosling  EMACS  manual            
<<Marshall,  I  am  lookin
+    3    10/11     WESTINE% USC-ISIF       Internet  Monthly  Report
+
+
+Note that all messages have message numbers.
+
+
+        To generate your own scan listing, use the scan program.  Typing simply
+
+
+           scan
+
+
+will list all the messages in the current folder.  To scan a subset of these 
messages,
+
+you can specify the numbers of the messages that you consider interesting, 
e.g.,
+
+
+           scan 2 3
+
+
+Message names may be specified in addition to discrete message numbers.  The
+
+built-in message names recognized by MH are:
+
+
+         all_: all messages in the folder (`first-last'        )
+
+
+       first_: the first message in the folder
+
+
+        last_: the last message in the folder
+
+
+       prev__: the message immediately before the current message
+
+
+        cur__: the current message
+
+
+       next__: the message immediately after the current message
+                                                                              
                              10
+
+
+        Message ranges may be specified in addition to discrete message 
numbers or
+
+names by separating the beginning and final message numbers with a dash ("-").
+
+For example,
+
+
+           scan 5-10
+
+
+scans messages 5 through 10 inclusive.  A range of messages may also be 
specified
+
+by separating a beginning message number and a relative number of messages with
+
+a colon (":").  For example,
+
+
+           scan last:3
+
+
+scans the last three messages in the folder.  Similarly,
+
+
+           scan first:3
+
+
+scans the first three messages in the folder;
+
+
+           scan next:3
+
+
+scans the next three messages;
+
+
+           scan cur:3
+
+
+scans the three messages beginning from the current message;
+
+
+           scan 100:4
+
+
+scans four messages beginning from message number 100.
+
+
+        To  summarize,  the  important  concepts  that  have  been  discussed  
in  the
+
+section are:  message ranges, message numbers, and message names.  When an MH
+
+command is described as taking a `msg'     argument,  it accepts either a 
message
+
+name or a message number.  Most MH commands are described as taking `msgs'
+
+arguments, meaning that more than one message or message range is accepted.
+
+
+
+Deleting Messages
+
+        To delete a message,  use the rmm program.  By default,  rmm deletes 
the
+
+current message, but you can give rmm a list of messages to be removed as well.
+
+There is no corresponding "unrmm" program, but clever users with a need will
+
+find out how to change the way rmm works so that it simply moves messages to
+
+another folder (say, `+wastebasket'         ).
+                                                                              
                              11
+
+
+Filing Messages
+
+        The possibility of having folders other than ``+inbox''       has been 
mentioned
+
+previously.  The methods for moving messages between folders and manipulating
+
+folders are discussed here.
+
+
+        The  refile  command  moves  messages  from  a  source  folder  to  
one  or  more
+
+destination  folders.  By default,  the current message is moved from the 
current
+
+folder (typically `+inbox'     ) to another folder specified as an argument to 
refile.
+
+For example,
+
+
+           refile +todo
+
+
+moves the current message from the current folder to the folder ``+todo''      
.  To
+
+move messages from a folder other than the current folder, use the `-src  
+folder'
+
+switch, as in
+
+
+           refile -src +todo last +save +notes
+
+
+which moves the last message in the ``+todo''       folder to the folders 
``+save''
+
+and ``+notes''      .  Note that this operation is a move, not a copy; it 
removes the
+
+message from the source folder.  To keep a copy in the source folder as well, 
use the
+
+`-link'      switch
+
+
+           refile -link -src +todo last +save +notes
+
+
+
+        Whenever a folder argument is given to an MH command, that folder 
becomes
+
+the current folder.  To find out which folder is current, use the command
+
+
+           folder
+
+
+The inc command sets the current folder back to `+inbox'      by default.  To 
find out
+
+about all of a user's folders, use the command
+
+
+           folders
+
+
+Since folders can contain other folders, the command
+
+
+           folders -recurse
+
+
+will recursively examine each folder for you.
+
+
+        To set the current folder, without doing anything else, use the folder 
program
+
+with a folder argument.  Hence,
+
+
+           folder +inbox
+
+
+makes ``+inbox''       the current folder.
+                                                                              
                                     12
+
+
+               After a using rmm and refile on a folder a number of times, 
there tend to be
+
+       gaps in the numbering sequence.  To compress the numbers for the all 
messages in
+
+       a folder, use
+
+
+                  folder -pack
+
+
+
+       The Profile
+
+               You  can  customize  the  MH  environment  by  editing  your  
.mh_profile    file.
+
+       Although there are lots of options, here are the most useful:
+
+
+           Editor___: lists the default editor that comp and repl should use.  
The default is
+
+
+                          editor: prompter
+
+
+                      but another editor might be preferred.
+
+
+     editor-next____: lists the editor that should be used after the last edit 
with editor.  Hence,
+
+                      if you have a profile entry
+
+
+                          prompter-next: vi
+
+
+                      after editing a draft with prompter, and being at What  
now?  level, you
+
+                      could say ``edit''      (instead of ``edit  vi''      ) 
to continue to edit the
+
+                      draft with vi.
+
+
+   Msg-Protect________:Whenever MH creates a message (for example,  with inc), 
 this is the
+
+                      octal protection mode that the message is created with.  
The default is
+
+
+                          Msg-Protect: 644
+
+
+                      This  protection  mode  permits  all  other  users  on  
the  system  to  read
+
+                      your  messages.  To  maintain  privacy,  the  mode  600  
should  be  used.
+
+                      Note that changing the mode in the profile does not 
change the modes
+
+                      of messages that have been created already.  Use the 
UNIX command
+
+                      chmod to change the modes of your existing messages.
+
+
+Folder-Protect______________:Whenever  MH  creates  a  folder  (for  example,  
with  refile),  this  is  the
+
+                      octal mode that the folder is created with.  The default 
is
+
+
+                          Folder-Protect: 711
+
+
+                      This mode permits other users on the system to make 
access to specific
+
+                      messages in your folders.  To maintain stricter privacy, 
the mode 700
+
+                      should be used.
+                                                                              
                              13
+
+
+  program____: Each MH program that reads user's .mh_profile     file looks 
for an entry
+
+               beginning  with  its  own  name  to  determine  its  initial  
defaults.   For
+
+               example, if you want the default editor for repl to be emacs, 
the line
+
+
+                   repl: -editor emacs
+
+
+               is sufficient.  Command line arguments tend to override profile 
settings.
+
+               Given the profile setting for repl above, if you invoked repl 
with
+
+
+                   repl -editor vi
+
+
+               repl would use the vi editor instead of emacs.
+
+
+signature____: When MH posts mail for you,  it looks for this profile entry 
for your
+
+               "real world" name.  For example,
+
+
+                   signature: Marshall Rose
+
+
+               The contents of the ``signature:''          entry in the 
profile should be a
+
+               simple phrase, with no embedded periods (e.g.  "Marshall T. 
Rose").
+
+
+
+Note that your profile resembles the header portion of a message.  Be sure 
that it is
+
+properly formatted by placing a colon after each entry name, and keep each 
entry
+
+on a single line.
+
+
+
+Conventions
+
+        Now let's summarize the conventions that MH programs use:
+
+
+           1.  Any MH command that deals with messages can be given a `+folder'
+
+               argument  to  say  which  folder  to  use.  However,  only  one 
 `+folder'
+
+               argument may be given per command in most cases.
+
+
+           2.  If an MH command accepts a `msgs'     argument, then any number 
of
+
+               messages can be given to the command.  The MH command will 
expand
+
+               all  the  ranges  and  process  each  message,  starting  with  
the  lowest
+
+               numbered  one  and  working  its  way  to  the  message  with  
the  highest
+
+               number.
+
+
+           3.  If an MH command accepts a `msg'    argument, then at most one 
message
+
+               can be given.
+
+
+           4.  Switches  (options)  to  MH  commands  start  with  a  dash.  
Unlike  the
+
+               standard  UNIX  convention,  each  switch  consists  of  more  
than  one
+
+               character, for example `-header'      .  To minimize typing, 
only a unique
+
+               abbreviation of the switch need be typed; thus for `-header'    
  , `-hea'
+
+               is probably sufficient, depending on the other switches 
accepted by the
+
+               command.
+                                                                              
                                   14
+
+
+                5.  All  MH  commands  have  a  `-help'     switch,  which  
must  be  spelled
+
+                    out fully.  When an MH command encounters the `-help'      
switch, it
+
+                    prints  out  the  syntax  of  the  command,  the  switches 
 that  it  accepts,
+
+                    and version information.  In the list of switches, 
parentheses indicate
+
+                    required characters.  For example, all `-help'      
switches will appear as
+
+                    `-(help)'      , indicating that no abbreviation is 
accepted.
+
+
+                6.  Many MH switches have both on and off forms, such as 
`-format'       and
+
+                    `-noformat'       .  In these cases, the last occurrence 
of the switch on the
+
+                    command line determines the setting of the option.
+
+
+                7.  All MH commands that read your MH profile operate the same 
way:
+
+                    first_, the profile is consulted for an entry matching the 
name with which
+
+                    the command was invoked; second___, if such an entry was 
found, then the
+
+                    command immediately uses the arguments listed; third__, 
any arguments
+
+                    on the command line are then interpreted.  Since most 
switches have
+
+                    both on and off forms, it's easy to customize the default 
options for each
+
+                    MH command in the .mh_profile    , and to override those 
defaults on the
+
+                    command line.
+
+
+
+     Online Documentation
+
+             Each  MH  program  has  its  own  UNIX  manual  entry.  For  
example,  to  get
+
+     information about comp, type
+
+
+                man comp
+
+
+     The manual entry for mh(1) lists all MH commands, while the manual entry 
for
+
+     mh-chart (1) lists the syntax and switches for all MH commands.
+
+
+             In addition, here are a few other manual entries might be found 
useful:
+
+
+   mh-alias (5)     to find out how aliases in MH work;
+
+
+   mh-mail (5)      to find out how MH stores and interprets messages (this 
manual entry
+
+                    explains all of the standard header components);
+
+
+mh-profile(5)       to find out about the MH user-environment.
+
+
+             The  manual  pages  for  MH  are  in  the  standard  UNIX  
format,  but  contain
+
+     additional sections unique to MH. Here's a summary of the sections one 
might find
+
+     in an MH manual entry:
+
+
+          Name      command name and one-line description.
+
+
+     Synopsis       syntax of the command.
+
+                    All commands accept a `-help'      switch.
+                                                                              
                                    15
+
+
+Description          semantics of the command.
+
+
+            Files    files used by the command
+
+                     Almost always this includes .mh_profile    .
+
+
+       Profile       entries in the .mh_profile     used by the command;
+
+Components           these do not include the profile entry for the command 
itself.
+
+
+     See Also        other UNIX manual entries (usually MH programs) that are 
related to
+
+                     this command.
+
+
+     Defaults        default arguments for the command
+
+                     If  the  command  takes  a  `+folder'      argument,  
this  defaults  to  the
+
+                     current folder.  If the command takes a `msg'     
argument, this defaults
+
+                     to the current message.  If the command takes a `msgs'    
 argument, this
+
+                     defaults to the current message or all messages, 
depending on which one
+
+                     makes more sense.
+
+
+      Context        changes to your MH context made by the command.
+
+
+           Hints     Helpful hints discussing the easy way to do things.
+
+
+       History       A historical perspective on why MH works the way it does.
+
+
+            Bugs     Too embarrassing to mention.
+
+                     Just kidding.
+
+
+
+      Obviously, not all MH manual entries may have all of these sections.
+
+
+
+      Reporting Problems
+
+              If problems are encountered with an MH program, the problems 
should be
+
+      reported to the local maintainers of MH. When doing this, the name of 
the program
+
+      should be reported, along with the version information for the program.  
To find
+
+      out what version of an MH program is being run,  invoke the program with 
the
+
+      `-help'      switch.  In addition to listing the syntax of the command, 
the program
+
+      will list information pertaining to its version.  This information 
includes the version
+
+      of MH, the host it was generated on, the date the program was loaded, 
and the
+
+      configuration options in effect when MH was generated.  For example,
+
+
+                 version:   MH  6.1  #1[UCI]  (gremlin)  of  Wed  Nov  6  
01:13:53  PST  1985
+
+                 options:   [BSD42]  [MHE]  [NETWORK]  [SENDMTS]  [MMDFII]  
[SMTP]  [POP]
+
+
+      The  ``6.1 # 1[UCI]''          indicates  that  the  program  is  from  
the  UCI  mh.6
+
+      version  of  MH.  The  program  was  generated  on  the  host  
``gremlin''        on
+
+      ``Wed  Nov  6  01:13:53  PST  1985''              .  It's usually a good 
idea to send the output
+
+      of the `-help'      switch along with your report.
+                                                                              
                              16
+
+
+        If there is no local MH maintainer, try the address Bug-MH. If that 
fails, use
+
+the Internet mailbox address@hidden
+
+
+
+More on MH
+
+        There are myriad aspects of MH that this tutorial hasn't touched upon. 
 Here
+
+are a few to whet your appetite:
+
+
+           1.  user-defined sequences
+
+               Define meaningful message names and shorten type-in 
considerably (see
+
+               pick (1) for details).
+
+
+           2.  draft folders
+
+               Maintain a folder of drafts so that more than one draft can be 
edited
+
+               at a time,  and allow a draft to be edited over several UNIX 
sessions
+
+               independently of other drafts (see the Advanced Features 
section of
+
+               the MH user's manual for details).
+
+
+           3.  draft pushing
+
+               Post a draft in the background and immediately free your 
terminal for
+
+               other activities (see the Advanced Features section of the MH 
user's
+
+               manual for details).
+
+
+           4.  aliases
+
+               Maintain one or more alias files containing the addresses of 
the people
+
+               frequently (or infrequently) sent to.  This lets you shorten 
type-in of
+
+               addressees and saves you from looking up their addresses all 
the time.
+
+               (see mh-alias (5) for details).
+                                                                              
                              17
+
+
+                                               References
+
+
+
+[MRose84]        M.T.  Rose.   The  Rand  MH  Message  Handling  System:  The  
UCI
+
+                 BBoards Facility. Department of Computer and Information 
Sciences,
+
+                 University of Delaware (October, 1984).
+
+
+
+[MRose85a]       M.T. Rose, J.L. Romine.  The Rand MH Message Handling System:
+
+                 User's Manual. UCI Version. Department of Information and 
Computer
+
+                 Science, University of California, Irvine (January, 1985).
+
+
+
+[MRose85b]       M.T. Rose.  The Rand MH Message Handling System: 
Administrator's
+
+                 Guide. UCI Version, MH Classic. Northrop Corporation, 
Research and
+
+                 Technology Center (July, 1985).
+
+
+
+[SPayn85]        S.  Payne   MH5:  Electronic  Mail.  Rand  Note  #N-2281-RCC. 
 The
+
+                 Rand Computation Center, Rand, 1700 Main St., Santa Monica, CA
+
+                 90406-2138 (May, 1985).
+
+
+
+
+                                                 Contents
+
+
+
+                                                                               
                           Page
+
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       1
+
+ Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       1
+
+ Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       1
+
+ How To Use This Tutorial  . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .       2
+
+ Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .       2
+
+ Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       3
+
+ Messages and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       3
+
+ Reading New Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       4
+
+ Sending Messages  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       5
+
+         Originating Messages . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       5
+
+         Replying to Messages . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .       8
+
+ Scanning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .       9
+
+ Deleting Messages  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      10
+
+ Filing Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      11
+
+ The Profile  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .      12
+
+ Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . .      13
+
+ Online Documentation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . .      14
+
+ Reporting Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .      15
+
+ More on MH  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . .      16
+
+ References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . .      17
+
+
+
+ _____________________________________
+This document (version #2.8) was TEXset April 12, 1990 with DISS.STY v103.
+
+
+
+                                                        i

-----------------------------------------------------------------------

Summary of changes:
 docs/historical/ADMIN-19910201.txt                 | 2729 ++++
 docs/historical/ADMIN.pdf                          |  Bin 0 -> 73969 bytes
 docs/historical/ADMIN.txt                          | 2904 +++++
 docs/historical/MH-19910201.txt                    |11145 +++++++++++++++++
 docs/historical/MH-19921214.pdf                    |  Bin 0 -> 370626 bytes
 docs/historical/MH-19921214.txt                    |13134 ++++++++++++++++++++
 docs/historical/MH.pdf                             |  Bin 0 -> 335164 bytes
 docs/historical/MH.txt                             |11880 ++++++++++++++++++
 docs/historical/README                             |  108 +
 docs/historical/bboards.pdf                        |  Bin 0 -> 177140 bytes
 docs/historical/bboards.txt                        |  965 ++
 docs/historical/beginners.pdf                      |  Bin 0 -> 177216 bytes
 docs/historical/beginners.txt                      | 1011 ++
 docs/historical/changes.pdf                        |  Bin 0 -> 43780 bytes
 .../changes.txt}                                   | 1029 ++-
 docs/historical/designOfMH.pdf                     |  Bin 0 -> 780758 bytes
 docs/historical/mh-gen.pdf                         |  Bin 0 -> 51927 bytes
 docs/historical/mh-gen.txt                         | 1452 +++
 docs/historical/mh4mm.pdf                          |  Bin 0 -> 154597 bytes
 docs/historical/mh4mm.txt                          | 1168 ++
 docs/historical/mh6.pdf                            |  Bin 0 -> 204281 bytes
 docs/historical/mh6.txt                            | 1030 ++
 docs/historical/multifarious.pdf                   |  Bin 0 -> 322114 bytes
 docs/historical/multifarious.txt                   | 2284 ++++
 docs/historical/mznet.pdf                          |  Bin 0 -> 182926 bytes
 docs/historical/mznet.txt                          | 1103 ++
 docs/historical/realwork.pdf                       |  Bin 0 -> 327146 bytes
 docs/historical/realwork.txt                       | 2445 ++++
 docs/historical/trusted.pdf                        |  Bin 0 -> 315670 bytes
 docs/historical/trusted.txt                        | 2283 ++++
 docs/historical/tutorial.pdf                       |  Bin 0 -> 196888 bytes
 docs/historical/tutorial.txt                       | 1389 +++
 32 files changed, 57728 insertions(+), 331 deletions(-)
 create mode 100644 docs/historical/ADMIN-19910201.txt
 create mode 100644 docs/historical/ADMIN.pdf
 create mode 100644 docs/historical/ADMIN.txt
 create mode 100644 docs/historical/MH-19910201.txt
 create mode 100644 docs/historical/MH-19921214.pdf
 create mode 100644 docs/historical/MH-19921214.txt
 create mode 100644 docs/historical/MH.pdf
 create mode 100644 docs/historical/MH.txt
 create mode 100644 docs/historical/README
 create mode 100644 docs/historical/bboards.pdf
 create mode 100644 docs/historical/bboards.txt
 create mode 100644 docs/historical/beginners.pdf
 create mode 100644 docs/historical/beginners.txt
 create mode 100644 docs/historical/changes.pdf
 copy docs/{ChangeLog_MH-6.7.0_to_MH-6.8.4.html => historical/changes.txt} (53%)
 create mode 100644 docs/historical/designOfMH.pdf
 create mode 100644 docs/historical/mh-gen.pdf
 create mode 100644 docs/historical/mh-gen.txt
 create mode 100644 docs/historical/mh4mm.pdf
 create mode 100644 docs/historical/mh4mm.txt
 create mode 100644 docs/historical/mh6.pdf
 create mode 100644 docs/historical/mh6.txt
 create mode 100644 docs/historical/multifarious.pdf
 create mode 100644 docs/historical/multifarious.txt
 create mode 100644 docs/historical/mznet.pdf
 create mode 100644 docs/historical/mznet.txt
 create mode 100644 docs/historical/realwork.pdf
 create mode 100644 docs/historical/realwork.txt
 create mode 100644 docs/historical/trusted.pdf
 create mode 100644 docs/historical/trusted.txt
 create mode 100644 docs/historical/tutorial.pdf
 create mode 100644 docs/historical/tutorial.txt


hooks/post-receive
-- 
The nmh Mail Handling System



reply via email to

[Prev in Thread] Current Thread [Next in Thread]