The MH Message Handling System is a free, open source email client . It differs from most other mail systems in that instead of a single program, it consists of several different programs that are designed to work from the command line provided by the shell on Unix-like operating systems . Another difference is that instead of storing several messages in one file, each message has its own separate file in a special directory. Taken together, these design decisions are a very easy and natural way to handle email messages using shell scripts. A descendant of MH continues to evolve under the name nmh .
Content
Composition
MH consists of separate programs, such as show , for viewing messages, scan to see the message header and rmm for deleting messages. Using pick you can select messages by sender.
Since various programs are launched separately and at different times, communication should be organized between them. Information, such as the letter that is currently selected, is stored in files (in this case .Mh_sequences files in the user directory tree).
MH follows the Unix philosophy : Write programs that do one thing and do it well. Write programs that work together. Write programs that support text streams, as this is a universal interface ( Doug McIlroy ).
History
MH was proposed by R Stockton Gaines and Norman Shapiro, developed by Bruce S. Borden and others at RAND Corporation . The initial version of MH was created in 1979. Subsequently, development passed into the hands of Marshall T. Rose and John L. Romine, who work at the University of California at Irvine. The latest release was MH 6.8.4, which was a patch for the 6.8.3 version.
nmh is the current active version of MH. An offshoot was made from MH version 6.8.3 by Richard Colman while working at the Georgia Institute of Technology. Some features, such as POP , have actually been removed, but others have been improved, such as mobility and MIME support. Earlier versions of nmh known as “LBLs” were modified in the late 80s by Van Jacobson, Mike Karels and Craig Leres. [1] The latest release of nmh is version 1.5 [2] .
MH is in the public domain. nmh is released under the BSD license .
Performance
MH performance is very dependent on the file system and other features of the operating system. Each reading of the letter requires running a separate program, scanning in a large directory and opening a file before data can be accessed. On the other hand, message formats such as Mbox use a single file and often require inserting or deleting data in the middle of a file while reading and editing messages. And this can be a very slow procedure. In these cases, MH will be much faster.
With modern file systems designed for large directories and small files, such as ReiserFS , the performance of MH can be compared to a database based on a mail storage system. Maildir's storage format has made Qmail popular. And how Courier Mail server improves several functions is shown for the first time in MH: a separate file for a message, a separate directory for mail, the use of hard links and other additional file system functions to improve performance in space and time.
GUI
MH is essentially a command line, which limits its competitiveness to some extent, and may not always be ideal for viewing emails with graphic content. For these reasons, many users want to work with a graphical interface that can also read their MH inbox. The original program for this purpose was xmh - a Window Window application . After the cessation of xmh development, a similar tool - exmh - was developed in Tcl / Tk . Exmh is considered fully functional. Since 2004, there has been little development other than bug fixes. The open source Emacs interface for MH provides the MH-E project. In addition to these MH clients, MH mailbox support is included in several other clients such as Claws Mail, Novell Evolution, Mutt, and Sylpheed. The Gnus nnml format is an extension of the MH message format.