Введение
Клиент электронной почты
The MH Message Handling System is a free, open source e mail client. It 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 the shell on Unix like operating systems. 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. Descendants of MH continue to be developed under the names of nmh and mmh. GNU Mailutils also contains an implementation of MH.
Система обработки сообщений MH — это бесплатный клиент электронной почты с открытым исходным кодом. Она отличается от большинства других систем чтения почты тем, что вместо единой программы состоит из нескольких отдельных программ, предназначенных для работы из командной строки, предоставляемой оболочкой в Unix-подобных операционных системах. Еще одно отличие заключается в том, что вместо хранения нескольких сообщений в одном файле каждое сообщение имеет свой отдельный файл в специальной директории. Благодаря такому подходу очень легко и удобно создавать скрипты для работы с почтовыми сообщениями, используя стандартные инструменты скриптинга оболочки. Развитие потомков MH продолжается под названиями nmh и mmh. GNU Mailutils также включает в себя реализацию MH.
The MH Message Handling System is a free, open source e mail client. It 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 the shell on Unix like operating systems. 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. Descendants of MH continue to be developed under the names of nmh and mmh. GNU Mailutils also contains an implementation of MH.
Дизайн
Разработанный в соответствии с философией Unix, MH состоит из отдельных программ, таких как show для просмотра сообщения, scan для просмотра заголовков сообщений и rmm для удаления сообщений. С помощью программы pick можно выбирать сообщения, например, по отправителю, над которыми затем работают другие программы. Поскольку различные программы запускаются отдельно и в разное время, связь между ними должна быть организована особым образом. Информация о текущем наборе выбранных писем хранится в файлах (в данном случае – в файле последовательностей mh в структуре каталогов MH пользователя).
История
MH был предложен Р. Стоктоном Гейнсом и Норманом Шапиро и разработан Брюсом С. Борденом и другими сотрудниками RAND Corporation. Первоначальная версия MH была создана к 1979 году. В дальнейшем разработка перешла к Маршаллу Т. Роузу и Джону Л. Ромину, работавшим в Калифорнийском университете в Ирвине. Последний релиз MH – 6.8.4, являвшийся патчем поддержки для релиза 6.8.3, и он находится в общественном достоянии. nmh ("новый MH") – текущая активно поддерживаемая версия MH. Он был создан на основе версии MH 6.8.3 Ричардом Коулманом, работавшим в Технологическом институте Джорджии, и выпущен под лицензией BSD. В него включены "изменения LBL", внесенные в MH в конце 80-х годов Ваном Джейкобсоном, Майком Карелсом и Крейгом Лересом. Самый последний релиз – nmh 1.8, 18 февраля 2023 года. Является форком nmh, однако их пользовательские интерфейсы несовместимы.
Выступление
Производительность MH во многом зависит от файловой системы и других особенностей операционной системы, на которой она работает. Каждое чтение сообщения требует запуска отдельной программы, сканирования большого каталога и открытия файла, прежде чем данные станут доступны. С другой стороны, форматы почтовых ящиков, такие как mbox, использующие один файл, часто требуют вставки или удаления данных в середине файла при чтении или изменении сообщений, что может быть очень медленной операцией. В таких случаях MH будет работать значительно быстрее. Формат хранения maildir, получивший распространение благодаря qmail и Courier Mail Server, улучшает ряд функций, впервые реализованных в MH: отдельный файл для каждого сообщения, отдельный каталог для каждой почтовой "папки" и использование жестких ссылок и других продвинутых возможностей файловой системы для повышения производительности как по объему, так и по времени.
Интерфейс
MH изначально является системой, работающей из командной строки. Для графического интерфейса оригинальной программой была xmh, приложение для X Window System. После прекращения разработки xmh был создан аналогичный инструмент под названием exmh, написанный на Tcl/Tk, последний раз обновленный 7 января 2004 года. Exmh считается полностью функциональным, и с 2004 года разработка ограничивалась в основном исправлением ошибок. Интерфейс Emacs для MH также предоставляется проектом MH E. Помимо этих специализированных клиентов MH, поддержка почтовых ящиков MH включена в несколько других клиентов, таких как Claws Mail, Novell Evolution, Mutt и Sylpheed.