MH Message Handling System

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Система обработки сообщений (MH Message Handling System) — свободный, с открытым исходным кодом, клиент электронной почты. Отличается от большинства других почтовых систем тем, что вместо одной программы, состоит из нескольких разных программ, которые предназначены для работы из командной строки, предоставляемой оболочкой на Unix-подобных операционных системах. Другим отличием является то, что вместо хранения нескольких сообщений в одном файле, у каждого сообщения есть свой отдельный файл в специальном каталоге. Взятые вместе, эти проектные решения являются очень легким и естественным сценарием действий с почтовыми сообщениями с помощью сценариев командной оболочки. Потомок MH продолжает развиваться под названием nmh.

Состоит из отдельных программ, таких как show (для просмотра сообщений), scan (чтобы увидеть заголовок сообщения) и rmm (для удаления сообщений). С помощью программы pick можно выбрать сообщения по отправителю.

Поскольку различные программы запускаются отдельно и в разное время, между ними должна быть организована связь. Информация, такая как письмо, которое выбрано в настоящее время, хранится в файлах (в этом случае .Mh_sequences файлы в дереве каталогов пользователя).

MH следует философии Unix: «Пишите программы, которые делают что-то одно и делают это хорошо. Пишите программы, которые бы работали вместе. Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс» (Дуглас Макилрой).

MH была предложена Стоктоном Гейнсом и Норманом Шапиро, разработана Брюсом Борденом и другими в RAND Corporation. Первоначальная версия MH была создана в 1979 году. Впоследствии развитие перешло в руки Маршалла Роуза и Джона Ромайна, которые работают в Университете Калифорнии в Ирвине.

nmh — текущая активная версия MH. ответвление с версии MH 6.8.3 было сделано Ричардом Колманом во время работы в Технологическом институте Джорджии: были удалены некоторые функции, такие как POP, и улучшены другие, такие как мобильность и поддержка MIME. Более ранние версии nmh известные как «LBL» были изменены в конце 1980-х Ваном Якобсоном, Майком Карелсом и Крэйгом Лересом[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.

Примечания

[править | править код]
  1. ^ «nmh — „LBL“ changes». Дата обращения: 30 мая 2013. Архивировано 6 марта 2014 года.
  2. ^ «nmh — New Message Handler». Дата обращения: 30 мая 2013. Архивировано 23 мая 2013 года.