MH(1) BSD General Commands Manual MH(1)NAMEmh — Message Handler
Mh is the name of a powerful message handling system. Rather then being
a single comprehensive program, mh consists of a collection of fairly
simple single-purpose programs to send, receive, save, and retrieve mes‐
sages. The user should refer to the UNIX User's Supplementary Documents,
document 8 (USD:8).
Unlike mail, the standard UNIX mail user interface program, mh is not a
closed system which must be explicitly run, then exited when you wish to
return to the shell. You may freely intersperse mh commands with other
shell commands, allowing you to read and answer your mail while you have
(for example) a compilation running, or search for a file or run programs
as needed to find the answer to someone's question before answering their
The rest of this manual entry is a quick tutorial which will teach you
the basics of mh. You should read the manual entries for the individual
programs for complete documentation.
To get started using mh, put the directory /usr/contrib/mh-6.8/bin in
your $PATH. This is best done in one of the files: .profile, .login, or
.cshrc in your home directory. (Check the manual entry for the shell you
use, in case you don't know how to do this.) Run the inc command. If
you've never used mh before, it will create the necessary default files
and directories after asking you if you wish it to do so.
Inc moves mail from your system maildrop into your mh `+inbox' folder,
breaking it up into separate files and converting it to mh format as it
goes. It prints one line for each message it processes, containing the
from field, the subject field and as much of the first line of the mes‐
sage as will fit. It leaves the first message it processes as your cur‐
rent message. You'll need to run inc each time you wish to incorporate
new mail into your mh file.
scan prints a list of the messages in your current folder.
The commands: show, next, and prev are used to read specific messages
from the current folder. Show displays the current message, or a spe‐
cific message, which may be specified by its number, which you pass as an
argument to show, next, and prev display, respectively, the message
numerically after or before the current message. In all cases, the mes‐
sage displayed becomes the current message. If there is no current mes‐
sage, show may be called with an argument, or next may be used to advance
to the first message.
Rmm (remove message) deletes the current message. It may be called with
message numbers passed as arguments, to delete specific messages.
repl is used to respond to the current message (by default). It places
you in the editor with a prototype response form. While you're in the
editor, you may peruse the item you're responding to by reading the file
@. After completing your response, type l to review it, or s to send it.
Comp allows you to compose a message by putting you in the editor on a
prototype message form, and then lets you send it.
All the mh commands may be run with the single argument: `-help', which
causes them to print a list of the arguments they may be invoked with.
Commands which take a message number as an argument (scan, show, repl,
...) also take one of the words: first, prev, cur, next, or last to indi‐
cate (respectively) the first, previous, current, next, or last message
in the current folder (assuming they are defined).
Commands which take a range of message numbers (rmm, scan, show, ...)
also take any of the abbreviations:
<num1>-<num2> Indicates all messages in the range <num1> to <num2>,
inclusive. The range must be nonempty.
<num>:+N Up to N messages beginning with message num. Num may
be any of the pre-defined symbols: first, prev, cur,
next, or last.
<num>:-N Up to N messages ending with) message num. Num may be
any of the pre-defined symbols: first, prev, cur, next,
first:N The first N messages, if they exist.
prev:N The previous N messages, if they exist.
next:N The next N messages, if they exist.
last:N The last N messages, if they exist.
There are many other possibilities such as creating multiple folders for
different topics, and automatically refiling messages according to sub‐
ject, source, destination, or content. These are beyond the scope of
this manual entry.
Following is a list of all the MH commands:
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
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
mh-alias(5) alias file for MH message system
mh-format(5) format file for MH message system
mh-mail(5) message format for MH message system
mh-profile(5) user customization for MH message system
mh-sequence(5) sequence specification for MH message system
ap(8) parse addresses 822-style
conflict(8) search for alias/password conflicts
dp(8) parse dates 822-style
fmtdump(8) decode MH format files
install-mh(8) initialize the MH environment
post(8) deliver a message
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, and the date the program was loaded. A second line of
information, found on versions of mh after #5.380 include mh configura‐
tion options. For example,
version: MH 6.8.1a #8[UCI] (vangogh.CS.Berkeley.EDU)
of Sun Jun 13 02:55:52 PDT 1993
options: [BIND] [BPOP] [BSD42] [BSD43] [BSD44] [DBMPWD] [MHE] [MHRC]
[MIME] [MORE='"/usr/bin/more"'] [NNTP] [NTOHLSWAP] [OVERHEAD]
[POP] [POP2] [POPSERVICE='"pop3"'] [POSIX] [RPOP] [SENDMTS]
[SMTP] [SPRINTFTYPE=int] [SYS5DIR] [TYPESIG=void] [UNISTD]
[VSPRINTF] [WAITINT] [WHATNOW] [ZONEINFO]
The `6.8.1a #8[UCI]' indicates that the program is from the UCI mh 6.8.1a
version of mh. The program was generated on the host `vangogh.CS.Berke‐
ley.EDU' on `Sun Jun 13 02:55:52 PDT 1993'. It's usually a good idea to
send the output of the `-help' switch along with your report.
If there is no local mk maintainer, try the address Bug-MH. If that
fails, use the Internet mailbox Bug-MH@ICS.UCI.EDU.
BSD June 14, 1993 BSD