mmh - Introduction to the Modern MH message system
mmh is a powerful message handling system, based on nmh, which in turn bases on MH, the Rand Corporation's Message Handler.
Rather than being a single comprehensive program, mmh consists of a collection of fairly simple single-purpose programs to send, retrieve, organize, and manipulate messages.
Unlike most other mail clients, mmh is not a closed system which must be explicitly run, then exited when you wish to return to the shell. Instead, you may freely intersperse mmh commands with other shell commands, allowing you to read and answer your mail while you 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 mmh. You should read the manual entries for the individual programs for complete documentation.
To get started using mmh, 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.) Then run the mmh command. If you've never used mmh 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 mmh `+inbox' folder, converting it to the MH format (one file per message). It prints one line for each message it processes, containing the date, from and subject fields. 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 mmh mail storage.
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. After completing your response, type li to list (review) it, or s to send it.
comp allows you to compose a fresh message by putting you in the editor on a prototype message form, and then lets you send it.
All the mmh 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.
Commands which take a message number as an argument (scan, show, repl, ...) also take one of the letters: `f', `p', `c', `n', or `l' 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:
- Indicates all messages in the range <num1> to <num2>, inclusive. The range must be nonempty.
- Up to N messages beginning with (or ending with) message num. Num may be any of the pre-defined symbols: f, p, c, n or l.
- The first, previous, next or last messages, if they exist.
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 mmh 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),
^ flists(1)~^- list folders with messages in given sequence(s) ^folder(1),
^ folders(1)~^- set/list current folder/message ^forw(1)~^- forward messages ^inc(1)~^- incorporate new mail ^mark(1)~^- manipulate message sequences ^mhbuild(1)~^- translate MIME composition draft ^mhl(1)~^- produce formatted listings of mh messages ^mhlist(1)~^- list information about MIME messages ^mhmail(1)~^- send mail (mailx replacement) ^mhparam(1)~^- print mmh profile and context components ^mhpath(1)~^- print full pathnames of mh messages and folders ^mhpgp(1)~^- verify and decrypt a message with gnupg ^mhsign(1)~^- sign or encrypt a message with gnupg ^mhstore(1)~^- store contents of MIME messages into files ^mmh(1)~^- initialize the mmh environment ^mmhwrap(1)~^- invoke mmh commands if they are not in $PATH ^new(1)~^- report on folders with new messages ^packf(1)~^- pack messages in mh folder into a single mbox file ^pick(1)~^- select messages by content ^prompter(1)~^- prompting editor front-end for mmh ^rcvdist(1)~^- asynchronously redistribute new mail ^rcvpack(1)~^- asynchronously append message to mbox file ^rcvstore(1)~^- asynchronously incorporate mail into a folder ^refile(1)~^- file messages in other folders ^repl(1)~^- reply to a message ^rmf(1)~^- remove an mh folder ^rmm(1)~^- remove messages ^send(1)~^- send a message ^sendfiles(1)~^- send multiple files in a MIME message ^show(1)~^- display (MIME) messages ^slocal(1)~^- asynchronously filter and deliver new mail ^sortm(1)~^- sort messages ^whatnow(1)~^- prompting front-end for sending messages ^whatnow2(1)~^- front-end for handling drafts ^whom(1)~^- report to whom a message would go ^ap(8)~^- parse addresses 822-style ^dp(8)~^- parse dates 822-style ^fmtdump(8)~^- decode mh format files ^spost(8)~^- feed a message to sendmail
The following man pages describe file formats and concepts:
^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 the mmh message handler ^mh-chart(7)~^- Chart of mmh Commands ^mh-draft(7)~^- draft folder facility for mmh ^mh-sequence(7)~^- sequence specification for mh message system ^mmh(7)~^- Introduction to the Modern MH message system
^/usr/bin/mh~^contains mmh commands ^/etc/mmh~^contains mmh format files ^/usr/lib/mmh~^contains mmh library commands ^$HOME/.mmh~^The user's mmh directory ^$HOME/.mmh/profile~^The user's profile ^$HOME/.mmh/context~^The user's context ^$HOME/Mail~^Default location of the user's mail storage
^Path:~^Location of the user's mail storage
mmh is an experimental version of nmh, the New Mail Handler. Its name ``mmh'' stands for ``meillo's mail handler''.
If you encounter problems with an mmh program, please report them. When doing this, include the version information, which you can obtain by invoking the program with the -Version switch.
Send bug reports, comments, and suggestions to <firstname.lastname@example.org> or to markus schnalke <email@example.com>.