MH Message Handling System
Система обработки сообщений (MH Message Handling System) — свободный, с открытым исходным кодом, клиент электронной почты. Он отличается от большинства других почтовых систем тем, что вместо одной программы, он состоит из нескольких разных программ, которые предназначены для работы из командной строки, предоставляемой оболочкой на Unix-подобных операционных системах. Другим отличием является то, что вместо хранения нескольких сообщений в одном файле, у каждого сообщения есть свой отдельный файл в специальном каталоге. Взятые вместе, эти проектные решения являются очень легким и естественным сценарием действий с почтовыми сообщениями с помощью сценариев командной оболочки. Потомок MH продолжает развиваться под названием nmh.
Состав
MH состоит из отдельных программ, таких как show
, для просмотра сообщений, scan
, чтобы увидеть заголовок сообщения и rmm
, для удаления сообщений. С помощью программы pick
можно выбрать сообщения по отправителю.
Поскольку различные программы запускаются отдельно и в разное время, между ними должна быть организована связь. Информация, такая как письмо, которое выбрано в настоящее время, хранится в файлах (в этом случае .Mh_sequences
файлы в дереве каталогов пользователя).
MH следует философии Unix: Пишите программы, которые делают что-то одно и делают это хорошо. Пишите программы, которые бы работали вместе. Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс(Doug McIlroy).
История
MH была предложена R Stockton Gaines и Norman Shapiro, разработана Bruce S. Borden и другими в RAND Corporation. Первоначальная версия MH была создана в 1979 г. Впоследствии развитие перешло в руки Marshall T. Rose и John L. Romine, которые работают в Университете Калифорнии в Ирвине. Последний релиз был MH 6.8.4, который был патчем для 6.8.3 версии.
nmh текущая активная версия MH. Было сделано ответвление с версии MH 6.8.3 Ричардом Колманом во время работы в Технологическом институте Джорджии. На самом деле были удалены некоторые функции, такие как POP, но и улучшены другие, такие как мобильность и поддержка MIME. Более ранние версии nmh известные как «LBL» были изменены в конце 80-х Van Jacobson, Mike Karels и Craig Leres.[1] Самый последний выпуск nmh — версия 1.5[2].
MH находится в общем доступе. nmh выпущен под BSD лицензией.
Производительность
Производительность MH очень зависит от файловой системы и других особенностях операционной системы. Каждое чтение письма требует запуска отдельной программы, сканирование в большом каталоге и открытия файла, прежде чем данные могут быть доступны. С другой стороны, форматы сообщений, такие как Mbox, используют один файл и часто требуют вставки или удаления данных в середине файла во время чтения и редактирования сообщений. А это может быть очень медленной процедурой. В этих случаях MH будет намного быстрее.
С современными файловыми системами, разработанными для больших каталогов и мелких файлов, такими как ReiserFS, производительность MH может быть сравнима с базой данных на основе системы хранения почты.
Формат хранения Maildir сделал популярным Qmail. И как сервер Courier Mail улучшает несколько функций впервые показано в MH: отдельный файл на сообщение, отдельный каталог для почты, использование жестких ссылок и других дополнительных функций файловой системы для повышения производительности в пространстве и времени.
Графический интерфейс
MH по своей сути является командной строкой, что ограничивает его конкурентоспособность в некоторой степени, и не всегда может идеально подходить для просмотра сообщений электронной почты с графическим содержанием. По этим причинам, многие пользователи хотят работать с графическим интерфейсом, который также может читать их MH почтовый ящик. Оригинальная программа для этой цели была xmh — оконное Window приложение. После прекращения разработки xmh, аналогичный инструмент — exmh — был разработан в Tcl/Tk. Exmh считается полнофункциональным. С 2004 года было мало развития, кроме исправления ошибок. С открытым исходным кодом Emacs интерфейс для MH обеспечивает MH-E проект. В дополнение к этим клиентам MH, поддержка почтовых ящиков MH включен в несколько других клиентов, таких как Claws Mail, Novell Evolution, Mutt и Sylpheed. Формат Gnus nnml является расширением формата сообщений MH.