Jump to content

MH Message Handling System

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mozzerati (talk | contribs) at 21:04, 11 September 2004 (MH is a Message Handling System). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

The MH Message Handling System is different from almost all other mail reading systems in that, instead of a single program, it is made from several different programs which are designed to work from the command line provided by shells such bash running on systems such as Linux or UNIX. Another difference is that rather than storing multiple messages in a single file, messages each have their own separate file in a special directory. Taken together, these design choices mean that it is very easy and natural to script actions on mail messages using the normal shell scripting tools. A descendant of MH continues to be developed under the name of NMH.

Design

MH is made up of separate programs such as show, to view a message, scan, to see message titles and rmm to remove messages. By using the pick program, it is possible to select messages, based on sender for example, which the other programs act on.

Because the different programs are run separately and at different times, communication between them has to be arranged specially. Information such as the mail which is currently selected is stored in files (in this case .mh_profile in the user's own directory).

History

MH was developed by Bruce S. Borden whilst working at RAND corporation. Subsequently development was taken over by Marshall T. Rose and John L. Romine working at University of California, Irvine. The last release of MH was 6.8.4 which was a maintenance patch for the 6.8.3 release. NMH, which is the current active version of MH was forked from version 6.8.3 of MH which actually removed some features such as the POP daemon but also improved others such as MIME support. As of 2004 NMH is approaching version 1.1.

Performance

The performance of MH is very much dependent on the file system and other features of the operating system that it runs on. Every read of a mail will require starting a separate program, a directory scan in a large directory and a file open before the data can even be accessed. On the other hand, mailbox formats such as mbox which use a single file often require insertion or removal of data in the middle of the file when mails are read or altered and this can be a very slow procedure. In these cases MH will be much faster.

With a modern file system designed for large directories and small files such as reiserfs the performance of MH could be equivalent to a database based mail storage system.

Graphical interfaces

MH is inherently a command line based system, which limits it's marketability to some extent, but also may not always be ideal for viewing emails with graphical content. For these reasons, among others, many users want to have a graphical interface which can also read their MH mailbox. The original program which provided this was xmh which was dedicated X windows front end to MH. A similar tool exmh was then developed based on Tcl/Tk. Currently, MH mailbox support is included in several advanced clients such as Ximian Evolution and sylpheed.

References