nmh - new MH message system
any nmh command
nmh is the name of a powerful message handling system. Rather than
being a single comprehensive program, nmh consists of a collection of
fairly simple single-purpose programs to send, retrieve, save, and
Unlike most mail clients in UNIX, nmh is not a closed system which must
be explicitly run, then exited when you wish to return to the shell.
You may freely intersperse nmh 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 mail.
The rest of this manual entry is a quick tutorial which will teach you
the basics of nmh. You should read the manual entries for the
individual programs for complete documentation.
To get started using nmh, put the directory /usr/bin/mh on your $PATH.
This is best done in one of the files: .profile, .login, .bashrc, 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 install-mh
command. If you’ve never used nmh 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 nmh ‘+inbox’ folder,
breaking it up into separate files and converting it to nmh 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
message as will fit. It leaves the first message it processes as your
current message. You’ll need to run inc each time you wish to
incorporate new mail into your nmh 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
specific 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 message displayed becomes the current message. If there is no
current message, 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 list (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 nmh commands may be run with the single argument: -help, which
causes them to print a list of the arguments they may be invoked with
and then exit.
All the nmh commands may be run with the single argument: -version,
which cause them to print the version number of the nmh distribution,
and then exit.
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 indicate (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 (or ending with)
message num. Num may be any of the pre-defined
symbols: first, prev, cur, next or last.
last:N The first, previous, next or last messages, if they
There are many other possibilities such as creating multiple folders
for different topics, and automatically refiling messages according to
subject, source, destination, or content. These are beyond the scope
of this manual entry.
Following is a list of all the nmh commands:
ali(1) - list mail aliases
anno(1) - annotate messages
burst(1) - explode digests into messages
comp(1) - compose a message
dist(1) - redistribute a message to additional addresses
flist(1) - list folders with messages in given sequence(s)
flists(1) - list all folders with messages in given sequence(s)
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
mhbuild(1) - translate MIME composition draft
mhl(1) - produce formatted listings of nmh messages
mhlist(1) - list information about content of MIME messages
mhmail(1) - send or read mail
mhn(1) - display/list/store/cache MIME messages
mhparam(1) - print nmh profile components
mhpath(1) - print full pathnames of nmh messages and folders
mhshow(1) - display MIME messages
mhstore(1) - store contents of MIME messages into files
msgchk(1) - check for messages
msh(1) - nmh 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
rcvdist(1) - asynchronously redistribute new mail
rcvpack(1) - append message to file
rcvstore(1) - asynchronously incorporate new mail
rcvtty(1) - report new mail
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
sendfiles(1) - send multiple files and directories in MIME message
show(1) - show(display) messages
slocal(1) - asynchronously filter and deliver new mail
sortm(1) - sort messages
whatnow(1) - prompting front-end for send
whom(1) - report to whom a message would go
mh-alias(5) - alias file for nmh message system
mh-draft(5) - draft folder facility
mh-format(5) - format file for nmh message system
mh-mail(5) - message format for nmh message system
mh-profile(5) - user customization for nmh message system
mh-sequence(5) - sequence specification for nmh message system
mh-tailor(5) - mail transport customization for nmh message system
ap(8) - parse addresses 822-style
conflict(8) - search for alias/password conflicts
dp(8) - parse dates 822-style
fmtdump(8) - decode nmh format files
install-mh(8) - initialize the nmh environment
post(8) - deliver a message
/usr/bin/mh contains nmh commands
/etc/nmh contains nmh format files
/usr/lib/mh contains nmh library commands
$HOME/.mh_profile The user profile
Path: To determine the user’s nmh directory
If problems are encountered with an nmh program, the problems should be
reported to the local maintainers of nmh. When doing this, the name of
the program should be reported, along with the version information for
To find out what version of an nmh program is being run, invoke the
program with the -version switch. This information includes the
version of nmh, the host it was generated on, and the date the program
Send bug reports and suggestions to firstname.lastname@example.org.