Le système de gestion de messages MH est un client de messagerie gratuit et open source . Il se distingue de la plupart des autres systèmes de lecture de courrier électronique en ce sens qu'au lieu d'un seul programme, il est constitué de plusieurs programmes différents conçus pour fonctionner à partir de la ligne de commande fournie par le shell sur les systèmes d'exploitation de type Unix . Une autre différence est qu'au lieu de stocker plusieurs messages dans un seul fichier, chacun des messages possède son propre fichier séparé dans un répertoire spécial. Pris ensemble, ces choix de conception signifient qu'il est très facile et naturel de créer des scripts sur les messages électroniques à l'aide des outils de script shell normaux .
Les descendants de MH continuent d'être développés sous les noms de nmh et mmh . GNU Mailutils contient également une implémentation de MH.
Conception
Conçu selon la philosophie Unix , MH est composé de programmes distincts tels que show, pour afficher un message, scan, pour voir les titres des messages et rmmpour supprimer des messages. En utilisant le pickprogramme, il est possible de sélectionner des messages, en fonction de l'expéditeur par exemple, sur lesquels les autres programmes agissent.
Comme les différents programmes sont exécutés séparément et à des moments différents, la communication entre eux doit être organisée de manière spécifique. Les informations telles que le courrier actuellement sélectionné sont stockées dans des fichiers (dans ce cas, dans un .mh_sequencesfichier de l'arborescence du répertoire MH de l'utilisateur).
Histoire
MH a été proposé par R. Stockton Gaines et Norman Shapiro et développé par Bruce S. Borden et d'autres à la RAND Corporation . La version initiale de MH a été créée en 1979. Par la suite, le développement a été repris par Marshall T. Rose et John L. Romine travaillant à l'Université de Californie à Irvine. La dernière version de MH était la 6.8.4 qui était un correctif de maintenance pour la version 6.8.3, et elle est dans le domaine public.
nmh (« nouveau MH ») est une version active actuelle de MH. Elle a été dérivée de la version MH 6.8.3 par Richard Coleman alors qu'il travaillait au Georgia Institute of Technology, et publiée sous la licence BSD . Elle intègre les « modifications LBL » apportées à MH à la fin des années 80 par Van Jacobson , Mike Karels et Craig Leres. La version la plus récente est nmh 1.8, du 18 février 2023. .
mmh (« gestionnaire de courrier de meillo ») est un fork de nmh, mais leurs interfaces utilisateur sont incompatibles.
Performance
Les performances de MH dépendent en grande partie du système de fichiers et des autres fonctionnalités du système d'exploitation sur lequel il s'exécute. Chaque lecture d'un message nécessite le démarrage d'un programme distinct, une analyse d'un répertoire dans un grand répertoire et l'ouverture d'un fichier avant même de pouvoir accéder aux données. D'un autre côté, les formats de boîte aux lettres tels que mbox qui utilisent un seul fichier nécessitent souvent l'insertion ou la suppression de données au milieu du fichier lorsque les messages sont lus ou modifiés, ce qui peut être une procédure très lente. Dans ces cas, MH sera beaucoup plus rapide.
Le format de stockage maildir rendu populaire par qmail et le serveur de messagerie Courier améliore plusieurs fonctionnalités présentées pour la première fois dans MH : un fichier séparé par message, un répertoire séparé par « dossier » de courrier et l'exploitation de liens physiques et d'autres fonctionnalités avancées du système de fichiers pour des performances améliorées dans l'espace et le temps.
Interface
MH est par nature un système basé sur la ligne de commande. Pour une interface graphique, le programme d'origine était xmh , une application X Window System . Après l'arrêt du développement de xmh, un outil similaire appelé exmh a été développé en Tcl/Tk ; et mis à jour pour la dernière fois le 7 janvier 2004. Exmh est considéré comme complet en termes de fonctionnalités et depuis 2004, il n'y a eu que peu de développement au-delà des corrections de bogues. Une interface Emacs pour MH est également fournie par le projet MH-E .
En plus de ces clients MH dédiés, la prise en charge des boîtes aux lettres MH est incluse dans plusieurs autres clients tels que Claws Mail , Novell Evolution , Mutt et Sylpheed .