% appendix A % mtr \catcode`\@=11 % for a little while \def\psect#1{% \skip@=\lastskip \par \dimen@=.6\baselineskip \ifdim\skip@<\dimen@ \ifdim\skip@=\z@ \penalty-100 \fi \vskip \dimen@ plus .3\baselineskip \fi \centerline{\underbar{#1}}% \nobreak \vskip \z@ plus .1\baselineskip \vskip -\parskip } \def\pitem#1 #2.{\item{\pgm{#1\/}:} #2\hbreak} \catcode`\@=12 % back to normal \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: \psect{Composing Mail} \pitem{comp} compose a message. A program to originate a message. Usually, a special prompting editor front-end, \pgm{prompter}, is used to fill-in a composition template with the addressees of the message, subject, and so forth. \pitem{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. \pitem{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. \pitem{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. \pitem{send} send a message. A program that posts a draft with the message transport system. The \pgm{send} program is usually invoked by one of the four preceding programs, and performs simple front-end pre-processing prior to invoking the \pgm{post} program. For example, if invoked in {\it push}'d mode, \pgm{send} will immediately relinquish control of the user's terminal and post the message in the background. If the posting fails, \pgm{send} will send back a failure notice to the user. If the user had \pgm{push\/}'d the sending of the draft, then by default the draft being sent is encapsulated in the failure notice. This permits easy \pgm{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. \pitem{whatnow} prompting front-end for send. A program which is called by \pgm{comp}, et. al., after the initial draft has been generated. The \MH/ user can specify a different \pgm{whatnow} program, which yields considerable extensibility. \pitem{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, \pgm{whom} may actually interact with the message transport system to determine the validity of the final addresses. This program is also usually invoked by \pgm{comp}, et.~al. \psect{Posting Mail} \pitem{ali} list mail aliases. A simple front-end to the \MH/ aliasing mechanism. \pitem{ap} parse addresses 822--style. A useful debugging tool for PostMasters who wish to examine how \MH/ interprets an Internet address. \pitem{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. \pitem{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. \pitem{mhmail} send or read mail. A simple program generally used by other programs to generate messages. The \pgm{mhmail} command is similar in purpose to the old \pgm{BellMail} program. \pitem{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 \pgm{send} above). \psect{Reading Mail} \pitem{inc} incorporate new mail. A program that interacts with the local message transport agent to retrieve messages from the user's maildrop. \pitem{msgchk} check for waiting mail. A program which reports the status of mail waiting in the user's maildrop. \pitem{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 \pgm{show} automatically call the \pgm{mhl} program to format the message. The \pgm{next} and \pgm{prev} programs are simply \eg{show\ next} and \eg{show\ prev}, respectively. \pitem{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 \pgm{show}, the \pgm{mhl} program is optionally also invoked by \pgm{forw} to format each message being forwarded; invoked by \pgm{repl} to format the body of a message being replied-to, if that message is being included in the reply draft; and, invoked by \pgm{post} to format a message being sent as a blind-carbon-copy. \pitem{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. \pitem{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. \psect{Folder Handling} \pitem{folder} set/list current folder/message. A program used to list information concerning the current folder, or set the current folder and/or message. \pitem{folders} list all folders. A program to list information on all folders (actually, just a special case of the \pgm{folder} command). Since the \MH/ folder structure may be recursive, the user can indicate that \pgm{folders} should recursively examine all folders. \pitem{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. \pitem{rmf} remove folder. A program that deletes a folder and all messages therein. \psect{Message Selection} \pitem{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. \pitem{mark} mark messages. A program to manipulate user-defined sequences (lists of messages). Usually, \pgm{mark} is not employed directly by the \MH/ user. \pitem{pick} select messages by content. A program to examine a list of messages and choose those which meet a particular selection criterion. The \pgm{pick} program is often used in \unix/ back-quoted operations to pass message sequences to other \MH/ commands. \pitem{sortm} sort messages. A program to sort a list of messages according to the date given in a particular field. \psect{Distribution List Handling} \pitem{bbc} check on BBoards. A front-end to run \pgm{msh} on a list of distribution lists which the user isn't current on. \pitem{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/. \pitem{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 \pgm{forw\/}) can also be decapsulated using \pgm{burst}.% \nfootnote{Similarly, blind-carbon-copies may be decapsulated, though only socially mature users should do so.} \pitem{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. \pitem{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 \pgm{msh\/}). \psect{Interface to the \unix/ File System} \pitem{mhpath} print full pathnames of \MH/ messages and folders. A program which maps \MH/-style names into the \unix/ file naming convention.