# Introduction à MH

### Matt Midboe

`<matt@garply.com>`

$FreeBSD: release/8.4.0/fr_FR.ISO8859-1/articles/mh/article.xml 39632 2012-10-01 11:56:00Z gabor $

v1.0, 16 Janvier 1996

Ce document est une introduction sur la façon d'utiliser MH sous FreeBSD.

Version française de Sébastien Gioria `<gioria@FreeBSD.ORG>`.

[ Multiples pages HTML / Page HTML unique ]

## 1. Introduction

MH débuta en 1977 dans la société RAND Corporation, oû la philosophie MH fut développée. MH n'est pas seulement un programme monolithique de courrier électronique mais plutôt une philosophie sur la meilleure façon de développer des outils permettant de lire son courrier. Les développeurs de MH ont fourni un logiciel superbe tout en adhérent au concept KISS : “Keep It Simple Stupid” (Rester le plus simple possible).

Plutôt que de disposer d'un seul et complexe logiciel pour lire, envoyer et gérer ses courriers électroniques, ils ont écrit une multitude de petits programmes spécialisés. Certains aimeront MH pour cette spécificité, d'autres non. Chaque outil de MH effectue une action, et l'effectue très bien.

En plus de tous les outils de gestion des courriers électroniques, chaque outil MH comporte un mécanisme de configuration uniforme. En fait, si vous ne savez pas vraiment comment marche un outil, ou de quels arguments il dispose, vous vous en sortez généralement très facilement. Toutes les commandes de MH gèrent de façon identique les fichiers de configuration et les arguments de la ligne de commande. La chose la plus importante est de se souvenir que vous pouvez toujours passer l'option `-help` à une commande pour afficher toutes les options disponibles.

Pour commencer, assurez vous que vous avez installé les programmes de MH sur votre machine. Si vous disposez d'un CDROM vous devez pouvoir l'installer en exécutant la commande suivante :

    #>pkg_add /cdrom/packages/mh-6.8.3.tgz

Vous verrez alors la création d'un répertoire `/usr/local/lib/mh` ainsi que l'ajout de différents binaires dans le répertoire `/usr/local/bin`. Si vous préférez le compiler vous même, vous pouvez télécharger les sources en ftp anonyme depuis ftp.ics.uci.edu ou louie.udel.edu.

Cette introduction n'est pas une explication détaillée de la façon de fonctionner de MH. Elle vous permettra juste démarrer sur la route de la façon la plus rapide de lire vos emails. Vous devrez surement consulter les pages de manuels des différentes commandes par la suite. De même il serait bon de lire le FAQ sur MH et de vous abonnez au forum de discussion comp.mail.mh. Cependant la meilleur ressource sur MH est le livre écrit par Jerry Peek aux éditions O'Reilly et Associates.

## 2. Lire le courrier

Ce chapitre explique les commandes `inc`, `show`, `scan`, `next`, `prev`, `rmm`, `rmf`, and `msgchk`. Le meilleur atout de MH est la consistence de l'interface entre les différents programmes. La chose la plus importante à retenir lorsque l'on utilise les différentes commandes, est la façon de spécifier une liste de messages. Dans le cas de la commande `inc` cela n'a aucun sens mais avec des commandes comme `show` c'est plus qu'utile.

Une liste de messages consiste en quelque chose comme `23 20 16`, qui corresponds aux messages 23, 20 et 16. C'est vraiment très simple, mais vous pouvez avoir des choses plus utiles comme `23-30` correspondant à tous les messages entre le message 23 et le message 30. Vous pouvez aussi spécifier `cur:10`, qui correspond au message courant et aux 9 messages suivants. Les messages `cur` `last`, et `first` sont des messages spéciaux référant au message courant, dernier message, et premier message du dossier.

### 2.1. `inc`, `msgchk`—lire ou vérifier vos messages

Si vous tapez la commande `inc` sans arguments, vous débutez sur la bonne voie pour lire votre courrier avec MH. La première fois ou vous utilisez `inc`, il configurera votre compte pour utilisez toutes les valeurs par défaut de MH et vous demandera la création d'un répertoire Mail. Si vous avez des messages et attente de téléchargement, vous verrez quelque chose qui peut ressembler à ceci:

      29  01/15 Doug White         Re: Another Failed to boot problem<<On Mon, 15 J
      30  01/16 "Jordan K. Hubbar  Re: FBSD 2.1<<> Do you want a library instead of
      31  01/16 Bruce Evans        Re: location of bad144 table<<>> >It would appea
      32  01/16 "Jordan K. Hubbar  Re: video is up<<> Anyway, mrouted won't run, ev
      33  01/16 Michael Smith      Re: FBSD 2.1<<Nate Williams stands accused of sa

Vous obtenez la même vue que si vous utilisiez la commande `scan` (voir Section 2.3). Si vous lancez `inc` sans arguments , cela vous affiche juste le courrier qui vous est destiné.

Enormément de personnes utilisent le protocole POP pour lire leur mail. MH sait utiliser le protocole POP pour rapatrier les emails sur votre poste. Vous devez passer plusieurs arguments à `inc` pour cela.

    tempest% inc -host mail.pop.org -user NomUtilisateur -norpop

Cela invoque la commande `inc` en lui disant d'aller télécharger le courrier sur le serveur `mail.pop.org`, avec comme nom d'utilisateur `NomUtilisateur`. L'option `-norpop` demande à la commande `inc` de télécharger le courrier en clair suivant le protocole POP3. MH supporte plusieurs variantes du protocole POP3. Vous n'utiliserez pas dans la plupart des cas les autres variantes. Vous pouvez effectuer des taches plus complexes avec `inc` comme, auditer des fichiers ou parcourir des fichiers formattés

La commande `msgchk` vous permet de savoir si vous avez ou non de nouveaux messages dans votre boite.`msgchk` accepte les mêmes options ,`-host` et `-user`, que la commande `inc`.

### 2.2. `show`, `next` et `prev`—afficher un message et se déplacer dans une boite.

`show` vous permet de visualiser un courrier de votre boite. Comme `inc`,`show` est une commande assez franche.Si vous tapez `show` sans paramètres elle affiche le message courant. Vous pouvez aussi demander l'affichage de messages particuliers en donnant son numéro à `show`:

    tempest% show 32 45 56

Cela affichera les fichiers numéros 32 45 56 à la suite l'un de l'autre. Si vous changez rien à la configuration par défaut, `show` ne fera rien d'autre qu'un `more` sur le fichier contenant votre message.

`next` s'utilise pour se déplacer au message suivant et `prev` pour revenir au message précédent. Ces deux commandes exécutent automatiquement un `show` ce qui vous permet de lire automatiquement le message suivant ou précédant.

### 2.3. `scan`—Afficher un résumé de vos messages

`scan` affiche un bref descriptif de tous les messages de votre répertoire courant. Voici un exemple d'affichage de la commande `show`:

      30+ 01/16 "Jordan K. Hubbar  Re: FBSD 2.1<<> Do you want a library instead of
      31  01/16 Bruce Evans        Re: location of bad144 table<<>> >It would appea
      32  01/16 "Jordan K. Hubbar  Re: video is up<<> Anyway, mrouted won't run, ev
      33  01/16 Michael Smith      Re: FBSD 2.1<<Nate Williams stands accused of sa

Comme tout dans MH, l'affichage est complètement configurable. Ce qui est fournit dans l'exemple ci-dessus est l'affichage par défaut. Il vous permet de visualiser le numéro du message, la date d'envoi, l'envoyeur, le sujet et une partie du début du message. Le caractère `+` vous indique le message courant donc si vous tapez la commande `show` vous visualiserez ce message.

Une option très utile de `scan` est l'option `-reverse`. Cette option permet de lister l'ensemble de vos messages en affichant en premier le message ayant le numéro le plus élevé. Une autre option très interessante de `scan` lui permet de lire les données depuis un fichier. Si vous désirez parcourir votre boite aux lettres de courrier entrant sans avoir à lancer la commande `inc`, il vous suffit de faire `scan -file /var/mail/`nom_d_utilisateur``. Cela peut etre fait sur n'importe quel fichier au format mbox.

### 2.4. `rmm` et `rmf`— Effacer le message courant ou le dossier

`rmm` est utilisé pour effacer un message. Par défaut le message n'est pas vraiment détruit mais renommé en un fichier dont le nom est ignoré par les commandes de MH. Vous devrez effacer physiquement de façon périodique les messages “effacés”.

La commande `rmf` permet d'effacer un dossier. Cela ne renomme pas les fichiers mais les efface du disque dur, vous devez donc faire extrêmement attention lorsque vous l'utilisez.

### 2.5. Un session typique de lecture avec MH

La première chose que vous ferez sera de lancer la commande `inc`. Donc sous l'interpréteur de commandes tapez `inc` et la touche entrée.

    tempest% inc
    Incorporating new mail into inbox...

      36+ 01/19 "Stephen L. Lange  Request...<<Please remove me as contact for pind
      37  01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
      38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT<<>>> Bill Fenner said: > In
    tempest%

Cela vous permet de visualiser les nouveaux messages rapatriés dans votre boite aux lettres. La commande suivante a exécuter est `show` pour vous permettre de les visualiser et de vous déplacer dans votre liste de messages.

    tempest% show
    Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
            id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
    Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
    From: "Stephen L. Lange" <stvlange@wwa.com>
    To: matt@garply.com
    Subject: Request...
    Message-Id: <Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com>
    Mime-Version: 1.0
    Content-Type: TEXT/PLAIN; charset=US-ASCII

    Please remove me as contact for pindat.com

    tempest% rmm
    tempest% next
    Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
    .6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
    Message-Id: <199601191756.RAA24416@whydos.lkg.dec.com>
    X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro
    tocol
    To: hsu@clinet.fi
    Cc: hackers@FreeBSD.org
    Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet
     boards)
    In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100."
                 <199601182318.AA11772@Sysiphos>
    X-Mailer: exmh version 1.5omega 10/6/94
    Date: Fri, 19 Jan 1996 17:56:40 +0000
    From: Matt Thomas <matt@lkg.dec.com>
    Sender: owner-hackers@FreeBSD.org
    Precedence: bulk

    This is due to a typo in pcireg.h (to
    which I am probably the guilty party).

La commande `rmm` efface le message courant et la commande `next` permet de déplacer le numéro du message courant au message suivant. Maintenant vous désirez visualiser les dix courriers les plus récents, pour choisir lequel vous désirez lire:

    tempest% scan last:10
      26  01/16 maddy              Re: Testing some stuff<<yeah, well, Trinity has
      27  01/17 Automatic digest   NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
      28  01/17 Evans A Criswell   Re: Hey dude<<>From matt@tempest.garply.com Tue
      29  01/16 Karl Heuer         need configure/make volunteers<<The FSF is looki
      30  01/18 Paul Stephanouk    Re: [alt.religion.scientology] Raw Meat (humor)<
      31  01/18 Bill Lenherr       Re: Linux NIS Solaris<<--- On Thu, 18 Jan 1996 1
      34  01/19 John Fieber        Re: Stuff for the email section?<<On Fri, 19 Jan
      35  01/19 support@foo.garpl  [garply.com #1138] parlor<<Hello. This is the Ne
      37+ 01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
      38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT<<>>> Bill Fenner said: > In
    tempest%

Maintenant vous voulez lire le message numéro 27, donc vous tapez`show 27` et il s'affiche. Comme vous pouvez le voir après ce court exemple MH est très simple à utiliser pour visualiser et lire votre courrier et est de plus très intuitif.

## 3. Chercher parmi les messages et les dossiers

Toute personne qui a beaucoup de mails aime à pouvoir mettre des priorités, marquer les messages, les numéroter de différentes façons. MH permet de faire toutes ces taches de façons très simple comme d'habitude. Une chose dont nous n'avons pas encore parlé est le concept de dossier. Vous avez sûrement utilisé le concept de dossier avec d'autres programmes de lecture de courrier électronique. MH a aussi des dossiers. MH peut aussi avoir des sous-dossiers de dossiers. Un chose que vous devez avoir à l'esprit quand vous utilisez la commande `inc`, pour la première fois, est qu'elle demande si vous voulez créer le répertoire `Mail`, et qu'elle enregistre tout dans ce répertoire. Si vous regardez ce qu'il se trouve dans ce répertoire, vous verrez un répertoire `inbox`. Ce répertoire comporte tous vos nouveaux messages qui n'ont pas encore été déplacés dans un autre dossier.

Lorsque vous créez un nouveau dossier, un répertoire est crée sous votre répertoire `Mail` et les messages à destination de se dossier sont stockés dans ce répertoire. Lorsque un nouveau message arrive, il est déposé dans votre répertoire `inbox` avec comme nom le numéro du message. Donc même si vous n'avez pas les outils MH pour lire votre courrier, vous pouvez utiliser les commandes standards UNIX pour vous déplacer parmis les dossiers et visualiser vos messages. C'est cette simplicité qui vous donne autant de puissance dans le traitement de vos messages.

De la meme façon ou vous pouvez utiliser une liste de messages, comme `23 16 42`, avec la plupart des commandes MH; il y a une option utilisable avec toutes les commandes MH vous permettant de travailler dans le dossier spécifié. Si vous essayer `scan +freebsd`, vous allez parcourir le dossier `freebsd`. Si vous faites un `show +freebsd 23 16 42`, la commande `show` affichera les messages 23, 26 et 42 du dossier `freebsd`. Donc souvenez vous que la syntaxe `+`dossier``. Vous en aurez besoin pour lancer les commandes dans les différents dossiers. Souvenez vous aussi que votre dossier de courrier entrant par défaut est `inbox`, donc en faisant un `folder +inbox` vous aurez la liste de vos nouveaux messages. Bien sur grace à la flexibilité de MH, vous pourriez changer ce dossier, mais il y a peu d'intêret à le faire.

### 3.1. `pick`— recherche par critères dans les messages

`pick` est une des commandes les plus compliquées de MH. Je ne saurais pas mieux vous conseiller que d'aller voir la page de manuel de pick(1) pour bien la comprendre. La plus simple façon de s'en servir est la suivante:

    tempest% pick -search pci
    15
    42
    55
    56
    57

Cela vous permet de trouver les numéros de tous les messages comprenant le mot `pci` dans une des lignes du message. Vous pouvez ensuite lancer la commande `show` sur ces messages pour les lire ou `rmm` pour les effacer. Vous devrez bien sur lancer la commande suivante `show 15 42 55-57` pour les voir tous. Une façon un peu plus compliquée d'utiliser `pick` serait la suivante:

    tempest% pick -search pci -seq pick
    5 hits
    tempest% show pick

Cela vous permet de voir les memes messages que précédemment sans vous fatiguer. L'option `-seq` n'est rien de plus qu'une abréviation de l'option`-sequence` et la commande `pick` n'est rien de plus qu'une sequence comportant les numéros des messages vérifiant le critère. Vous pouvez aussi utiliser la commande `rmm pick` pour effacer tous les messages qui répondent au critère. Le nom de la sequence n'est pas signifiant. Si vous relancez la commande `pick` de nouveau, l'ancienne séquence sera effacée si vous utilisez le même nom.

Si vous n'utilisiez que la commande `pick -search`, cela peut prendre plus de temps que de chercher un message entre un destinataire et un envoyeur. La commande `pick` dispose donc de certains critères prédéfinis:

`-to`

  recherche sur le destinataire

`-cc`

  recherche dans le champ cc du message

`-from`

  recherche sur l'expéditeur du message

`-subject`

  recherche dans le sujet du message

`-date`

  recherche par rapport à la date du message

`--`component``

  recherche sur un quelconque autre entête. (ex: `--reply-to` pour rechercher dans les entêtes reply-to des messages)

Cela permet d'avoir des requetes de ce type:

    tempest% pick -to freebsd-hackers@freebsd.org -seq hackers

pour avoir tous les messages envoyés à la liste de diffusion hackers de FreeBSD. `pick` vous permet de grouper de différentes façon en fonction du critère.

- … `-and` …

- … `-or` …

- `-not` …

- `-lbrace` … `-rbrace`

Ces options permettent de faire des choses comme ceci:

    tempest% pick -to freebsd-hackers -and -cc freebsd-hackers

Cela vous permet de retrouver tous les messages envoyés à la liste freebsd-hackers ou mis en copie à cette liste. Les options `lbrace` et `rbrace` vous permettent de grouper les critères ensemble. Cela peut etre util dans certaines situations, comme dans l'exemple suivant:

    tempest% pick -lbrace -to freebsd-hackers -and
      -not -cc freebsd-questions -rbrace -and -subject pci

Cet exemple vous permet d'extraire tous les mails destinés à “la liste freebsd-hackers (mais qui ne sont pas mis en copie pour la liste freebsd-questions) et dont le sujet est pci”. Normalement vous vous poseriez la question; mais quelle est la précédence des opérateurs ? Vous vous rappelez qu'en mathématiques les expressions sont évaluées de gauche à droite et que la multiplication et la division ont plus de poids que les additions et les soustractions. MH utilise les mêmes règles pour la commande `pick`. Les combinaisons peuvent être très complexes, donc lisez la page de manuel pour plus d'informations. Ce document est juste la pour vous aider à découvrir MH.

### 3.2. `folder`, `folders`, `refile`— trois programmes utiles pour gérer vos dossiers.

Il y a trois programmes vous permettant de gérer de façon primitive vos dossiers. Le programme `folder` est utilisé pour changer de dossiers, lister leur contenu. Vous pouvez lancer la commande `folder +`dossier2`` et automatiquement, vous vous retrouverez dans le dossier `dossier2`. Alors toutes les commandes MH, telles que `comp`,`repl`,`scan`, et `show` utiliserons le dossier `dossier2`.

Quelques fois lorsque vous lisez et effacez dans messages vous avez des “discontinuitées” dans vos dossiers. Si vous faites un `scan` vous pouvez voir les messages 34, 35, 36, 43, 55, 56, 57, 80. Si vous faites un `folder -pack`, cela vous permet de renuméroter tous vos messages, et vous n'aurez plus de discontinuitées. Cela n'efface aucun message. Vous devez donc périodiquement faire des `rmm` sur vos messages.

Si vous désirez des statistiques sur vos dossiers, vous pouvez faire des `folders` ou des `folder -all` pour obtenir la liste de vos dossiers, combien de messages comporte chaque dossier et quel est le message courant dans chacun. La ligne de statistique affichée est la même que celle que vous avez lorsque vous changez de dossier avec la commande `folder +dossier2`. Un exemple de la commande `folders` pourrait être:

                    Folder      # of messages (  range  ); cur  msg  (other files)
                  announce  has    1 message  (   1-   1).
                    drafts  has   no messages.
                 f-hackers  has   43 messages (   1-  43).
               f-questions  has   16 messages (   1-  16).
                     inbox+ has   35 messages (   1-  38); cur=  37.
                     lists  has    8 messages (   1-   8).
                 netfuture  has    1 message  (   1-   1).
                       out  has   31 messages (   1-  31).
                  personal  has    6 messages (   1-   6).
                      todo  has   58 messages (   1-  58); cur=   1.

                         TOTAL=  199 messages in 13 folders.

La commande `refile` vous permet de déplacer les messages entre les dossiers. Si vous faites un `refile 23 +nouveaudossier`, le message 23 sera déplacer dans le dossier `nouveaudossier`. Vous pouvez tout aussi bien faire un `refile 23 +nouveaudossier/sousdossier1` qui déplacera le message 23 dans le un sous dossier,`sousdossier1`, du dossier `nouveaudossier`. Si vous voulez garder un message dans le dossier courant tout en le mettant dans un autre, vous devez lancer la commande `refile -link 23 +nouveaudossier`, qui gardera le message dans le dossier `inbox` tout en le listant dans le dossier `nouveaudossier`. Cela vous permet de réaliser toutes les choses merveilleuses que vous pouvez faire avec MH.

## 4. Envoyer des messages

L'email est pour beaucoup de gens, comme une rue a double sens, vous voudrez donc répondre a certains messages. La façon qu'emploie MH pour envoyer des messages peut être difficile a comprendre au début, mais il permet une énorme flexibilitée.La première chose que fait MH, est de copier un "composant" dans votre file de messages sortant. Un "composant" est en fait un squelette de message comportant les entêtes `To:` et `Subject:`. Le système lance ensuite votre éditeur favori ou vous pouvez remplir les entêtes et composer le corps du message sous les pointillés dans le message. Ensuite vous lancez la commande `whatnow`. Et lorsque vous avez le prompt `What now?`, vous pouvez répondre par une des commandes suivante `send`, `list`, `edit`, `edit`, `push`, and `quit`. La plupart des commandes précédentes s'expliquent d'elles même. Donc le processus d'envoi de message est le suivant; copie du fichier "composant", édition de votre message, et lancement de la commande `whatnow` en lui indiquant quoi faire de votre message.

### 4.1. `comp`, `forw`, `reply`—composer, faire suivre ou répondre à un message

La commande `comp` comporte quelques options de la ligne de commande intéressantes. La plus importante est `-editor`.Lorsque vous installez MH, un programme appelé `prompter` est utiliser comme éditeur de texte par défaut. Ce n'est pas un éditeur très intéressant. Donc lorsque vous composez un message, vous utiliserez sûrement `comp -editor /usr/bin/vi` ou `comp -editor /usr/local/bin/pico` a la place. Après avoir lancer comp, vous vous trouvez dans votre éditeur de texte favori et vous voyez quelque chose qui ressemble à ceci:

    To:
    cc:
    Subject:
    --------

Vous devez ajoutez l'adresse de votre destinataire après le mot `To:`. Vous devez remplir de la même manière les autres entêtes, donc vous devez mettre le sujet après le mot `Subject:`. Vous pouvez ensuite ajouter le corps de votre message après les lignes pointillées. Cela peut vous sembler un peu simpliste par rapport a d'autres programmes de messagerie qui vous pose des questions et remplissent automatiquement les différents entête, mais cela vous apporte une excellente flexibilité.

    To:freebsd-rave@freebsd.org
    cc:
    Subject:Et le 8ème jour, Dieu créa le bureau des directeurs de FreeBSD
    --------
    Ouah, c'est un super système d'exploitation. Merci !

Vous pouvez ensuite, sauvegarder le message et quitter votre éditeur. Vous aurez alors le prompt `What now?` et vous pourrez taper `send` ou `s` et appuyer sur la touche entrée. Alors l'équipe principal de développement de FreeBSD recevra votre gratitude. Comme mentionné précédemment vous pouvez utiliser une des autres réponse, par exemple `quit` si vous ne voulez pas envoyer ce message.

La commande `forw` s'utilise de façon similaire. La principal différence est que le message que vous envoyez comprends dans son corps le message courant. Lorsque vous utilisez la commande `forw`, vous faites suivre le message courant a un autre destinataire. Vous pouvez faire suivre un autre message en utilisant de la façon suivante `forw 23` la commande `forw`, ainsi le message 23 sera ajoute dans le corps du message composé. A part ces simples différences, la commande `forw`, fonctionne de la même façon que la commande `comp`.

La commande `repl` vous permet de répondre au message courant, sauf si vous lui indiquez un autre numéro de message. La commande `repl` essaye de remplir au mieux les différents champs de l'entête en fonction de ce qui se trouve dans le message de base. Vous noterez donc que le champ`To:` de l'entête comporte deja l'adresse du destinataire et que la ligne `Subject:` est deja remplie. Ensuite vous composez de la façon habituelle votre message. Un option intéressante de cette commande est `-cc`. Vous pouvez utiliser comme paramètre `all`, `to`, `cc`,`me` avec cette option; cela vous permet d'ajouter de façon simple, les adresses en copie du message original. Vous noterez que le message original n'est pas inclus par défaut. C'est le comportement par défaut de la plupart des configuration de MH.

### 4.2. `components`, et `replcomps`—les fichiers de composition pour `comp` and `repl`

Le fichier `components` se trouve la plupart du temps dans le répertoire `/usr/local/lib/mh`. Vous pouvez copier ce fichier dans votre répertoire de MH et l'éditer pour ajouter ce que vous voulez. Vous avez certaines lignes d'entête de mail par défaut au début, une ligne pointillée et puis plus rien. La commande `comp` ne fait que copier ce fichier et vous permet ensuite de l'éditer. Vous pouvez ajouter n'importe quel entête valide (RFC822). Par exemple, vous pourriez avoir le fichier `components` suivant:

    To:
    Fcc: out
    Subject:
    X-Mailer: MH 6.8.3
    X-Comment: FreeBSD the power to serve
    X-Home-Page: http://www.freebsd-fr.org/
    -------

MH copiera donc ce fichier et vous enverra dans votre éditeur favori. Le fichier `components` est très simple. Si vous désirez inclure une signature, il vous suffit de l'ajouter dans ce fichier.

Le fichier `replcomps` est un peu plus complexe. Son contenu par défaut ressemble à ceci:

    %(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\
    %<(nonnull)%(void(width))%(putaddr To: )\n%>\
    %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
    %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
    %<{fcc}Fcc: %{fcc}\n%>\
    %<{subject}Subject: Re: %{subject}\n%>\
    %<{date}In-reply-to: Your message of "\
    %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
                 %{message-id}%>\n%>\
    --------

Ce fichier a le même format de base que le fichier `components` mais il comporte un peu plus de codes de mise en forme. La commande `%(lit)` crée l'espace nécessaire pour l'adresse. La commande `%(formataddr` est une fonction qui retourne une adresse e-mail cohérente. Le morceau suivant `%<` permet de remplir le champ de l'adresse avec l'adresse correspondante dans le cas ou elle se trouve dans le champ `{reply-to}` du message de l'émetteur. Cela sera donc transformé de la manière suivante:

    %<si {reply-to}  dans le message original ou trouve un champ reply-to
    alors la mettre dans le champ formataddr, %? sinon
    prendre le contenu du champ  {from} , %? sinon prendre
    le champ {sender} , %?
    et en dernier lieu prendre le champ  {return-path} , %> endif.

Comme vous pouvez le voir, le formattage des champs de MH peut être largement étendu. Vous pourrez sûrement décrypter le maximum des autres fonctions et des noms de variables. Toutes les autres informations sur le façon d'écrire ces chaînes de formattage se trouve dans la page de manuel de MH. Donc lorsque vous aurez finit de créer votre fichier `replcomps` vous n'aurez plus besoin d'y toucher. Aucun autre programme ne vous donne autant de flexibilité et de pouvoir que MH.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.