
              Administration du courrier lectronique sous Linux

Auteur : Guylhem Aznar <guylhem at oeil.qc.ca>.
Traducteurs : Gacquer Frdric <gacquer at neuronnexion.fr> et Dimitri Ara
<dimitri.ara at mail.dotcom.fr>.

   v3.2, Janvier 2000
     _________________________________________________________________

   _Ce document dcrit la mise en place, l'administration et la
   distribution du courrier lectronique sous Linux. Il est destin aux
   administrateurs plutt qu'aux utilisateurs. (Voyez le Mail-User-HOWTO
   pour des informations sur la gestion du courrier ct utilisateur et
   sur les logiciels de courrier lectronique.) Vous avez besoin de lire
   ce HOWTO si vous prvoyez de communiquer localement ou vers des sites
   distants via courrier lectronique. Vous n'avez probablement pas
   besoin de lire ce document si vous n'changez pas de courriers
   lectroniques avec d'autres personnes sur votre systme ou avec
   d'autres sites._
     _________________________________________________________________

1. Introduction, copyright et mise en garde habituelle

1.1 Courrier lectronique et courrier non sollicit (_spamming_)

   Pour envoyer un courrier lectronique  une personne mentionne dans
   ce document, remplacer le _at_ dans l'adresse lectronique par un _@_.

   Cette conversion est simple pour un humain, mais pas pour un outil
   automatique de rcolte d'adresses ; c'est par consquent utile pour
   protger nos gnreux contributeurs des courriers non sollicits.

1.2 Objectifs

   Le but de ce document est de rpondre  quelques-uns des commentaires
   et des questions qui semblent correspondre aux  questions frquemment
   poses  (FAQ) sur les logiciels de courrier lectronique sous Linux
   en gnral et aux versions des distributions RedHat et Debian en
   particulier.

1.3 Nouvelles versions

   Des nouvelles versions (NDT : en anglais) de ce document seront
   postes rgulirement sur _comp.os.linux.announce_, _comp.answers_ et
   _mail.answers_. Elles seront galement ajoutes aux diffrents sites
   ftp anonymes qui archivent de tels documents comme par exemple
   sunsite.unc.edu.

   De plus, vous pourrez trouver ce document sur la page du Linux
   Documentation Project.

1.4 Ractions

   Je suis intress par toute raction, qu'elle soit positive ou
   ngative,  propos du contenu de ce document. N'hsitez pas  me
   contacter si vous trouvez des erreurs ou de srieux oublis.

   Je lis mais ne rponds pas forcment  tous le courrier lectronique
   que je reois. Les suggestions d'amliorations seront examines et
   traites en fonction de mon temps, du bien fond de la requte et de
   ma pression artrielle :-)

   Les remarques dsobligeantes et les courriers incendiaires seront
   expdies vers /dev/null, ce n'est donc pas la peine de vous casser la
   tte.

   Les remarques concernant le format actuel de ce document doivent tre
   adresses au coordinateur des HOWTO : Tim Bynum (<howto at
   wallybox.cei.net>).

1.5 Copyright

   Le Mail-Administrator HOWTO est sous le copyright de Guylhem Aznar. Il
   est distribu sous les termes de la licence LDP. Pour toutes
   questions, veuillez contacter le coordinateur des HOWTO Linux 
   l'adresse <linux-howto at sunsite.unc.edu>.

1.6 Garantie limite

   Bien sr, je dnie toute responsabilit quant au contenu de ce
   document. L'utilisation des concepts, des exemples et de tout autre
   contenu de ce document est entirement vos propres risques.

2. Autres sources d'information

2.1 _Mail-User-HOWTO_

   Il existe un _Mail-User-HOWTO_ qui aborde le ct utilisateur du
   courrier lectronique.

   Il est maintenu par Eric S. Raymond ; vous pouvez le trouver sur
   metalab.unc.edu.

2.2 USENET

   Il n'y a rien de spcifique  Linux (ce qui n'a pas toujours t le
   cas) dans la configuration et l'utilisation de logiciels de
   messagerie. De ce fait, vous n'aurez certainement jamais  poster de
   questions relatives au courrier lectronique dans le forum de
   discussion gnral _fr.comp.os.linux.configuration_.

   Ne postez dans la hirarchie fr.comp.os.linux que si votre question
   est vraiment spcifique  Linux comme par exemple  Avec quelles
   options le binaire sendmail de la Debian 1.2 est-il compil ?  ou 
   Le smail 5.0 de RedHat plante quand je le lance .

   Laissez-moi le redire.

   Il n'y a plus aucune raison pour poster une question sur les courriers
   lectroniques dans la hirarchie fr.comp.os.linux. Poster dans
   fr.comp.mail qui est le forum adquat. Vous y trouverez des rponses 
   _toutes_ vos questions.

   _Si vous postez dans fr.comp.os.linux.* pour une question non
   spcifique  Linux, vous tes au mauvais endroit. Les experts du
   courrier lectronique tranent sur les forums indiqus ci-dessus et ne
   n'utilisent gnralement pas Linux. Poster dans la hirarchie Linux
   une question non spcifique  Linux est une perte de temps pour tout
   le monde._

   En plus de fr.comp.os.mail, il existe d'autres forums anglais plus
   spcifiques. Leur nom sont explicites :

           comp.mail.elm           Le logiciel de courrier lectronique elm.
           comp.mail.mh            Le logiciel Rand Message Handling.
           comp.mail.mime          Multipurpose Internet Mail Extensions.
           comp.mail.misc          Groupe gnral sur le courrier lectronique.
           comp.mail.multi-media   Le courrier lectronique multimdia.
           comp.mail.mush          Le Mail User's Shell (MUSH).
           comp.mail.sendmail      L'agent sendmail de BSD.
           comp.mail.smail         L'agent de courrier lectronique smail.
           comp.mail.uucp          Le courrier lectronique dans un environneme
nt uucp.

2.3 Listes de diffusion

   Il existe plusieurs listes de diffusion  propos de sendmail, smail et
   qmail.

   Vous pouvez trouver les adresses dans
   /usr/doc/celui_que_vous_avez_choisi.

2.4 Autres documents du Projet de documentation Linux (LDP)

   De nombreuses autres excellentes informations sont disponibles dans
   les autres HOWTO Linux et via le Projet de documentation Linux.

   En particulier, vous pourriez jeter un oeil  :

     * le contenu du dossier /usr/doc de votre ordinateur :-) ;
     * le _Linux Networking Administrators' Guide_ ;
     * le _Mail-User-HOWTO_ ;
     * le _Serial-HOWTO_ ;
     * le _Ethernet-HOWTO_ ;
     * le _UUCP HOWTO_ si vous utilisez UUCP.

2.5 Livres

   Voil une liste non exhaustive de livre qui peuvent vous aider :

     * _Managing UUCP and USENET_ des ditions O'Reilly and Associates
       est  mon avis le meilleur ouvrage disponible pour comprendre les
       programmes et les protocoles utiliss par les sites USENET.
     * _Unix Communications_ de Waite Group contient une description de
       chacun des lments (et plus) et de la manire dont ils
       s'imbriquent.
     * _Sendmail_ des ditions O'Reilly and Associates semble tre la
       rfrence ultime sur sendmail-v8 et sendmail+IDA. C'est un
       incontournable pour quiconque souhaite comprendre sendmail sans se
       casser les dents.
     * _The Internet Complete Reference_ d'Osborne est un bon livre de
       rfrence qui explique les diffrents services disponibles sur
       Internet. C'est une grande source d'information sur les forums de
       discussions, le courrier lectronique, et beaucoup d'autres
       sujets.
     * _The Linux Networking Administrators' Guide_ d'Olaf Kirch du Linux
       Documentation Project est disponible sur le net et est publi par
       (au moins) SSC et O'Reilly (NDT : existe en version franaise sous
       le titre  Administration rseau sous Linux ). Si vous ne devez
       en lire qu'un, celui-ci constitue un bon choix pour tout apprendre
       sur les rseaux Unix.

3. Comment marche le courrier lectronique

   Nous allons maintenant nous intresser au flux d'informations qui se
   produit classiquement quand deux personnes communiquent par courrier
   lectronique. Supposons qu'Alice, sur sa machine
   _paysdesmerveilles.com_ veuille envoyer un courrier lectronique  Bob,
   sur sa machine _dobbs.com_. Les deux machines sont connectes 
   l'Internet.

   Tout d'abord il faut savoir qu'un courrier lectronique est divis en
   deux parties spares par une ligne vide : les enttes et le corps.
   Les enttes contiennent la source et la destination du courrier, le
   sujet, la date d'envoi et d'autres informations utiles. Le corps est
   le contenu du message. Voici un exemple :

From: "Alice" <alice@paysdesmerveilles.com>
Message-Id: <199711131704.MAA18447@paysdesmerveilles.com>
Subject: Avez-vous vu mon lapin blanc ?
To: bob@dobbs.com (Bob)
Date: Thu, 13 Nov 1997 12:04:05 -0500 (EST)
Content-Type: text

Je suis extrmement proccupe.  J'ai peur qu'il ait chut dans un trou.
--
                                                >>alice>>

   La disposition et le sens des enttes sont dfinis dans un standard
   Internet : RFC822.

3.1 Courrier entre des machines connectes en permanence  Internet

   Voici un diagramme du processus entier (j'en expliquerai ensuite
   toutes les tapes et la terminologie) :
     _________________________________________________________________

                   +--------+          +--------+
+-------+ compose  |        | appelle  |        |
| Alice |--------->|  MUA   |--------->|  MTA   |:::>:::::
+-------+          |appelant|          |appelant|       ::   sur la
                   +--------+          +--------+       ::   machine
                                                        ::   appelante
.......................................................................
                             SMTP                       ::
 ::::::::::::::::::::::::::::<::::::::::::::::::::::::::::
 ::
 ::   +---------+          +-----+                +-------+
 ::   |         | appelle  |     |  distribue    | bote |
 ::::>|   MTA   |--------->| LDA |===============>|  de   |  sur la
      |recevant |          |     |                |  Bob  |  machine
      +---------+          +-----+                +-------+  recevante
                                                    |   |
                                                    |   |
                     +----------------<-------------+   |
                     |                                  |
              +-----------+         +--------+          |
              | signaleur |         | MUA de |<---------+
              |  de Bob   |         |  Bob   |
              +-----------+         +--------+
                     |                  |
                     |      +-----+     |
                     +----->| Bob |<----+
                            +-----+
     _________________________________________________________________

   Pour envoyer un courrier, Alice se sert d'un programme appel un agent
   d'utilisateur de courrier (ou MUA pour _Mail User Agent_). L'agent
   d'utilisateur de courrier est ce que l'utilisateur appellerait le
    lecteur de courrier  ; il aide  composer le message, gnralement
   en appelant l'diteur de votre choix. Aprs avoir appuy sur le bouton
   _envoyer_, Alice n'interviendra plus dans le processus. Plus tard dans
   ce HOWTO, nous examinerons les lecteurs de courriers les plus
   populaires.

   L'agent utilisateur de courrier utilis par Alice confie immdiatement
   son message  un programme appel agent de transport de courrier (ou
   _MTA_ pour _mail transport agent_)/. En gnral, ce programme sera
   _sendmail_, bien que quelques autres agents de transport deviennent de
   plus en plus populaire et puissent faire leur apparition dans de
   futures distributions Linux. Plus loin dans ce HOWTO, nous examinerons
   galement le panorama des agents de transport.

   Le travail de l'agent de transport est d'envoyer le courrier  l'agent
   de transport de la machine de Bob. Il trouve la machine de Bob en
   analysant l'entte _To_ et en trouvant _dobbs.com_  la droite de
   l'adresse de Bob. Les mcanismes par lesquels s'effectue cette
   connexion sont un tout autre sujet ; dans le cadre de notre
   explication, retenez seulement que cette connexion est une manire
   pour l'agent de transport d'Alice d'envoyer des commandes textes  la
   machine de Bob et recevoir de rponses  ces commandes.

   Les commandes de l'agent de transport ne vont pas dans un shell.  la
   place, elles sont dirigs vers un port de service sur la machine de
   Bob. Un port de service est une sorte de point de rendez-vous, une
   endroit fixe o un serveur coute les requtes entrantes. Les ports de
   service sont numrots, et l'agent de transport de courrier d'Alice
   sait qu'il doit parler sur le port 25 de la machine de Bob pour
   envoyer le courrier.

   Sur le port 25, la machine de Bob a son propre agent de transport qui
   coute les commandes (probablement un autre sendmail). L'agent de
   transport d'Alice dialoguera avec celui de Bob en utilisant le
   protocole _Simple Mail Transfer Protocol_ (ou _SMTP_). Voici  quoi un
   dialogue SMTP ressemble. Les lignes envoyes par la machine d'Alice
   sont marqus par un _E:_, celle de la machine de Bob par un _R:_.

      E: MAIL FROM:<alice@paysdesmerveilles.com>
      R: 250 OK
      E: RCPT TO:<bob@dobbs.com>
      R: 250 OK
      E: DATA
      R: 354 Start mail input; end with <CRLF>.<CRLF>
      E: From: "Alice" <alice@paysdesmerveilles.com>
      E: Message-Id: <199711131704.MAA18447@paysdesmerveilles.com>
      E: Subject: Avez-vous vu mon lapin blanc ?
      E: To: bob@dobbs.org (Bob)
      E: Date: Thu, 13 Nov 1997 12:04:05 -0500 (EST)
      E: Content-Type: text
      E:
      E: Je suis extrmement proccupe.  J'ai peur qu'il ait chut dans un tro
u.
      E: --
      E:                                                 >>alice>>
      E: .
      R: 250 OK

   D'habitude, une commande SMTP est une simple ligne de texte, et il en
   va de mme pour la rponse. La commande DATA est une exception : aprs
   avoir lu la commande DATA, le serveur SMTP accepte toutes les lignes
   jusqu' qu'il voit une ligne ne contenant qu'un point. (SMTP est
   dfini dans le RFC821.)

   Arriv  ce point, l'agent de transport de courrier de Bob a le
   message d'Alice. Il va ajouter un entte au message qui ressemble 
   quelque chose de ce genre :

Received: (from alice@paysdesmerveilles.com)
        by mail.dobbs.com (8.8.5/8.8.5) id MAA18447
        for bob@dobbs.com; Thu, 13 Nov 1997 12:04:05 -0500

   Cela permet de suivre les messages  la trace en cas d'erreur (parfois
   un message est relay par plus d'un serveur et contiendra plusieurs
   enttes de ce type). L'agent de transport de Bob enverra le message 
   un _agent de distribution local_ (ou _LDA_ pour _local delivery
   agent_). Sur les systmes Linux, l'agent de distribution est souvent un
   programme appel _procmail_, bien qu'il en existe d'autres.

   Le travail de l'agent de distribution local est d'ajouter le message 
   la bote aux lettres de Bob. Il est spar de l'agent de transport
   pour que les deux programmes soient plus simples et pour que l'agent
   de transport puisse se concentrer sur la partie Internet du processus,
   sans avoir  se proccuper des dtails locaux comme de savoir o se
   trouvent les botes aux lettres des utilisateurs.

   La bote aux lettres de Bob sera normalement un fichier appel
   /usr/spool/mail/bob ou /var/mail/bob. Lorsque Bob lit son courrier, il
   lance son propre agent d'utilisateur de courrier qui regarde et dite
   ce fichier.

3.2 Signaleur de courrier

   Un autre type de programme joue un rle important dans la chane de
   distribution du courrier lectronique, bien qu'il n'envoie pas ou ne
   lise pas de courrier. C'est le _signaleur de courrier_, un programme
   qui surveille votre bote aux lettres et vous signale l'arrive de
   chaque nouveau courrier lectronique.

   Le signaleur de courrier original tait compos de deux programme Unix
   appels biff(1) et comstat(8). Biff est une interface utilisateur de
   comstat qui vous permet d'activer le service comstat. Quand ce service
   est activ, l'entte des nouveaux courriers est redirig vers votre
   terminal ds qu'ils arrivent. Cette commodit a t dveloppe pour
   les utilisateurs de programmes orients lignes sur crans cathodiques
   ; ce n'est pas vraiment une bonne ide dans les environnements
   d'aujourd'hui.

   La plupart des shells intgrent des facilites quivalentes, mais de
   manire moins intrusive (en mettant un message juste avant l'invite
   lorsqu'un nouveau message est dtect). En gnral, on active cette
   fonction en dfinissant une variable d'environnement documente dans
   la page de manuel du shell. Pour les shells de la famille sh/ksh/bash,
   regardez les variables MAIL et MAILPATH.

   Les systmes utilisant X sont livrs avec l'un des nombreux petits
   gadgets qui vrifient priodiquement si de nouveaux courriers sont
   arrivs, et vous le signale par des messages sonores et visuels. Le
   plus vieux et le plus utilis est appel _xbiff_ ; si notre systme
   Linux a un bureau X prconfigur, xbiff est probablement dessus.
   Reportez-vous  la page de manuel xbiff(1) pour plus de dtails.

3.3 Courrier vers des machines connectes occasionnellement  Internet

   Si vous avez lu attentivement, vous avez peut-tre remarqu que les
   changes d'informations que nous avons dcrit ci-dessus dpendent du
   fait que la machine d'Alice peut immdiatement parler  la machine de
   Bob. Que se passe-t-il si la machine de Bob est en panne, ou si elle
   n'est pas connecte  Internet ?

   Si l'agent de transport d'Alice ne peut pas atteindre celui de Bob
   immdiatement, il va stocker le message d'Alice dans une file
   d'attente sur _paysdesmerveilles.com_. Il essaiera ensuite de renvoyer
   le message  des intervalles de temps rguliers, jusqu' ce qu'un
   temps d'expiration soit dpass.  ce moment, il renverra son message
    Alice en l'avertissant du problme. Dans la configuration par dfaut
   de l'agent de transport le plus populaire (sendmail), l'intervalle
   entre chaque essai de transmission est de 15 minutes et la dure
   d'expiration de 4 jours.

3.4 Courrier distant et protocole de courrier distant

   Beaucoup d'utilisateurs de Linux sont connects  Internet via un
   fournisseur d'accs Internet (FAI) et ne possdent pas leur propre
   domaine.  la place, ils ont un compte sur une machine de leur FAI.
   Leurs courriers lectroniques sont distribus dans une bote aux
   lettres sur cette mme machine. Cependant, gnralement ces
   utilisateurs veulent lire et rpondre  leurs courriers en utilisant
   leur propre machine qui est connect  leur FAI de manire
   intermittente en utilisant _SLIP_ ou _PPP_. Linux permet d'utiliser
   des protocoles de courrier distant qui permettent cela.

   Remarquez comme ceci est diffrent du scnario que nous avons discut
   dans la premire partie. Le courrier tait plac dans une file en
   attendant d'tre envoy, alors que dans le cas que nous venons de
   voir, le courrier est envoy directement dans une bote aux lettres
   sur un serveur. Le courrier dans une file n'est pas considr comme
   ayant t distribu et peut expirer tandis que le courrier distribu
   dans la bote aux lettres du serveur de courrier d'un FAI est
   considr comme distribu et peut rester bloqu sur ce serveur
   indfiniment.

   Un protocole de courrier distant permet au courrier sur un serveur
   d'tre rcupr au travers d'un lien rseau par un programme client
   (c'est le contraire d'une distribution normale au cours de laquelle un
   agent de transport envoie lui-mme le courrier vers un autre agent de
   transport). Il existe deux protocoles communment utiliss de courrier
    distance dfinis par les standards Internet : POP3 ( RFC1939) et
   IMAP ( RFC2060). Tous les FAI permettent d'utiliser POP3 et un nombre
   croissant permet galement IMAP (qui est plus puissant).

   Voil  quoi ressemble une session POP3 :

      S: <le client se connecte au port de service 110>
      R:    +OK POP3 server ready <1896.697170952@mailgate.dobbs.org>
      S:    USER bob
      R:    +OK bob
      S:    PASS redqueen
      R:    +OK bob's maildrop has 2 messages (320 octets)
      S:    STAT
      R:    +OK 2 320
      S:    LIST
      R:    +OK 2 messages (320 octets)
      R:    1 120
      R:    2 200
      R:    .
      S:    RETR 1
      R:    +OK 120 octets
      R:    <le serveur POP3 envoie le message 1>
      R:    .
      S:    DELE 1
      R:    +OK message 1 deleted
      S:    RETR 2
      R:    +OK 200 octets
      R:    <le serveur POP3 envoie le message 2>
      R:    .
      S:    DELE 2
      R:    +OK message 2 deleted
      S:    QUIT
      R:    +OK dewey POP3 server signing off (maildrop empty)
      S:  <le client se dconnecte>

   Une session IMAP utilise des commandes et des rponses diffrentes,
   mais est trs similaires.

   Pour tirer parti de POP3 ou IMAP vous avez besoin d'un client de
   courrier  distance pour retirer votre courrier. Certains lecteurs de
   courrier offrent nativement ce genre de fonctionnalits. C'est le cas
   de Netscape Messenger qui permet d'utiliser POP et IMAP.

   Le principal inconvnient des lecteurs de courrier implmentant ce
   genre de fonctionnalits est que vous devez explicitement dire  votre
   lecteur de retirer votre courrier sur le serveur ; vous ne pourrez
   pas, par exemple, tre averti par xbiff(1) comme vous le seriez si le
   courrier tait local ou distribu par un serveur SMTP. De plus, bien
   sr, tous les MUA n'implmentent pas POP ou IMAP, et vous devrez vous
   rabattre sur d'autres fonctionnalits.

   Votre distribution contient probablement un programme appel
   fetchmail. Il a t crit spcialement pour dialoguer avec des
   serveurs de courrier distant, rcuprer le courrier, et le distribuer
   dans votre rpertoire de rception de courrier, en dialoguant avec
   votre serveur SMTP.

   Mis  part si vous avez besoin de laisser vos courriers sur le serveur
   (par exemple parce que vous changez souvent de machine) fetchmail est
   probablement une solution meilleure que n'importe quelle lecteur de
   courrier intgrant POP ou IMAP. Fetchmail peut se lancer en arrire
   plan et rcuprer votre courrier priodiquement, et votre xbiff(1) ou
   tout autre signaleur de courrier marchera comme si tout se passait par
   SMTP. De plus, fetchmail est beaucoup plus tolrant que les lecteurs
   de courrier envers les diffrents particularismes et non respect des
   standards des serveurs de messagerie, et il gre mieux les erreurs.

   Voici un diagramme schmatisant les deux cas (avec et sans
   fetchmail) :
     _________________________________________________________________

                   +--------+          +--------+
+-------+ compose  |        | appelle  |        |
| Alice |--------->|  MUA   |--------->|  MTA   |:::>:::::
+-------+          |appelant|          |appelant|       ::   sur la
                   +--------+          +--------+       ::   machine
                                                        ::   appelante
                          SMTP                          ::
 ::::::::::::::::::::::::::::<::::::::::::::::::::::::::::
 ::
.::.......................................................................
 ::
 ::   +---------+          +-----+             +---------+
 ::   |         | appelle  |     | distribue  |bote du |
 ::::>|   MTA   |--------->| LDA |============>| serveur |::::>::::
      |recevant |          |     |             | de Bob  |       ::  sur le
      +---------+          +-----+             +---------+       ::  serveur de
                                                                 ::  courrier
                          POP ou IMAP                            ::
 ::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::
 ::
.::........................................................................
 ::
 ::                  +-----------+
 ::                  |           |
 :::::::>::::::::::::| fetchmail |::::::::               sur la
 ::                  |           |      ::               machine
 ::                  +-----------+      ::               recevante,
 ::                                     ::               avec fetchmail
 ::   ::::::::::::::::<:::::::::::::::::::
 ::   ::
 ::   ::   +---------+          +-----+                +-------+
 ::   ::   |         | appelle  |     |  distribue    | Bote |
 ::   ::::>|   MTA   |--------->| LDA |===============>|  de   |
 ::        |recevant |          |     |                |  Bob  |
 ::        +---------+          +-----+                +-------+
 ::                                                      |   |
 ::                                                      |   |
 ::                       +----------------<-------------+   |
 ::                       |                                  |
 ::                 +-----------+         +--------+         |
 ::                 | signaleur |         | MUA de |<--------+
 ::                 |  de Bob   |         |   Bob  |
 ::                 +-----------+         +--------+
 ::                       |                  |
.::........................................................................
 ::                   .   |                  |
 ::     sans          .   |                  |
 ::    fetchmail      .   |                  |
 ::                   .   |      +-----+     |
 ::   +----------+    .   +----->|     |<----+
 ::   |    MUA   |    .          | Bob |
 :::::| POP/IMAP |----.--------->|     |
      |  de Bob  |    .          +-----+
      +----------+    .
     _________________________________________________________________

3.5 Format des botes aux lettres

   Quand le courrier entrant est ajout  une bote aux lettres, il est
   du ressort de l'agent de transport de courrier d'ajouter des sortes de
   dlimiteurs qui indiquent o un courrier s'arrte et o le suivant
   dbute.

   Sous Unix, que pratiquement tous les lecteurs de courrier suivent la
   mme convention. Chaque ligne commenant par _From _ (attention, il y
   a un espace aprs _From_) dbute un nouveau courrier. Si un _From _
   apparat dans une ligne de texte, un agent de transport de courrier
   d'Unix ajoutera gnralement un signe suprieur- au dbut de la ligne
   (_>From _). Aprs cette ligne (qui continue gnralement par le nom de
   l'envoyeur et la date de rception) on trouve l'entte RFC822 du
   courrier.

   Cette convention date d'Unix Version 7, et donc on parle pour ce type
   de botes aux lettres de botes aux lettres V7 (_V7 mailboxes_). Sauf
   quand ce sera indiqu, tous les programmes mentionns dans ce HOWTO
   utilisent ce format. Il n'est cependant pas universel et des outils
   attendant et gnrant des formats diffrents peuvent se placer
   mutuellement dans une situation de confusion catastrophique.

   Les quatre autres formats  connatre (il faut s'en mfier !) sont
   BABYL, MMDF, MH et qmail maildir. De cela, MMDF est le plus simple :
   il utilise des dlimiteurs (quatre fois le caractre ASCII 001 suivi
   par CR-LF). MMDF ft un des premiers formats de botes  lettres et il
   est plutt cru. Un driv est encore utilis sur les systmes SCO.

   BABYL est un autre survivant d'un vieux systme de courrier du MIT. Il
   est encore utilis par le mode lecteur de courrier d'Emacs.

   Les formats MH et qmail maildir utilisent, pour stocker chaque
   message, un fichier spar. Les botes aux lettres sont reprsentes
   par des rpertoires. Faire une recherche dans une telle bote aux
   lettres demandera l'utilisation d'un _grep -r_ (grep rcursif) afin
   d'accder aux messages contenus dans la bote aux lettres.

   Les botes aux lettres .mbx de Microsoft Outlook Express peuvent tre
   converties au format RFC822 grce  _mbx2mbox_.

4. Configuration requise

4.1 Matriel

   La mise en oeuvre du courrier lectronique sous Linux ne ncessite pas
   de disposer d'un matriel particulier.

   Vous aurez besoin d'un logiciel de  transport  quelconque pour vous
   connecter  des systmes distants, c'est--dire soit TCP/IP, soit
   UUCP.

   Cela signifie que vous aurez besoin d'un modem ou d'une carte Ethernet
   selon votre configuration.

   Dans la plupart de cas, vous prfrerez avoir le modem le plus rapide
   que vous puissiez utiliser,  savoir un V90  57 600 bit par secondes
   au moment o j'cris ce HOWTO. En gnral, vous prfrerez avoir un
   UART 16550 sur votre carte srie ou dans votre modem pour grer les
   vitesses suprieurs  9600 bauds.

   Si vous ne comprenez pas cette dernire phrase, consultez le groupe
   _comp.dcom.modems_ ou les diverses excellentes FAQ sur les modems et la
   communication srie ainsi que les messages priodiques sur USENET.

5. Choisir un agent de transport de courrier (MTA)

   L'agent de transport de courrier est le programme qui transfre le
   courrier de votre systme local aux systmes distants. Il est trs
   rarement ncessaire d'avoir  trifouiller ou remplacer votre agent de
   transport sur les derniers systmes Linux, et vous feriez mieux de ne
   pas chercher  rparer ce qui n'est pas dfectueux. Nanmoins, voici
   un expos pour vous permettre de comprendre les changements  faire si
   vous dcidez que vous avez besoin d'une plus grande scurit ou de
   meilleures performances que votre systme ne peut vous en offrir par
   dfaut.

   (Il y a d'autres agents de transport Unix que ceux prsents
   ci-dessous, mais vous n'avez pratiquement aucune chance de les
   rencontrer sur une machine sur laquelle tourne Linux.)

   Chacun de ces agents a ses propres fonctionnalits, mais le meilleur
   compromis est qmail. Il est trs scuris (mme si vmail l'est encore
   plus), trs rapide (mme si smail est plus rapide pour les
   utilisateurs locaux) et facile  configurer. Bien sr, sentez-vous
   libre de choisir n'importe lequel d'entre eux. Les informations
   fournies ici ont pour but de vous aider  bien choisir.

   Sendmail peut tre bien pour de nombreux sites ayant besoin d'options
   compliques mais je crois que sa configuration est trop difficile pour
   un dbutant alors qu'il n'est ni trs scuris ni trs rapide. C'est
   pourquoi il y a seulement une section _vraiment_ dpasse sur sendmail
   dans ce HOWTO.

   Si vous savez ce que vous fates, choisissez sendmail (et vous ne
   devriez pas tre en train de lire ce HOWTO !) ; sinon, je recommande
   gnralement qmail.

   Voici une description dtaille de ces programmes.

5.1 sendmail

   BSD sendmail est le grand-pre des agent de transport d'Internet. Il a
   enterr pas mal de ceux qui auraient d tre ses successeurs. La
   plupart des distributions Linux l'utilise maintenant et le
   prinstalle.

   sendmail a depuis trs longtemps la rputation d'tre un cauchemar
   pour les administrateurs --- difficile  comprendre, compliqu 
   configurer et plein de trous de scurit. Cependant, avec la
   stabilisation des technologies et des standards d'Internet, beaucoup
   des options et des rgles configurables de sendmail qui sont 
   l'origine de cette rputation ont cess de requrir des bidouillages
   propres  chaque site (l'abandon des couches rseaux non TCP/IP comme
   UUCP y est pour beaucoup). De plus, les versions rcentes de sendmail
   ont un systme de configuration amlior qui permet de s'pargner la
   lgendaire laideur du fichier de configuration sendmail.cf. Plus
   important, sendmail est maintenant prconfigur de sorte que nous
   n'ayez  y toucher que si vous avez une configuration peu commune
   (comme par exemple le routage du courrier sur un rseau non TCP/IP).

   Il y a un site sendmail. Il comporte des rfrences  la documentation
   tendue de sendmail avec laquelle vous devrez vous battre pour
   peaufiner votre configuration.

   D'autres agents de transport peuvent prendre le nom de sendmail et
   imiter la smantique des options passes sur la ligne de commande de
   sendmail. C'est pratique pour les lecteurs de courrier qui supposent
   souvent qu'ils parlent avec sendmail.

5.2 smail v3.2

   smail fut la premire srieuse tentative de remplacer sendmail. Il a
   un systme de configuration plus simple et beaucoup plus
   comprhensible que celui de sendmail et est plutt bien scuris.
   Certaines distributions Linux le prinstallent plutt que sendmail.

    un moment, l'excellent support pour les sites utilisant TCP/IP et
   UUCP tait un argument majeur pour lui, mais ds lors que UUCP fut de
   moins en moins utilis, il en fut de mme pour smail. De plus, smail
   est moins efficace que sendmail sur les gros volumes de connexion.

   Comme avec sendmail, il est peu probable que vous ayez besoin de
   trifouiller une configuration de smail prinstalle.

   (Trs occasionnellement il se peut que vous trouviez des rfrences 
   _smail 2.5_. Ce programme est obsolte depuis longtemps. Ne vous
   embtez pas avec lui.)

5.3 qmail

   Le programme qmail est un agent de transport de courrier compatible
   avec sendmail crit spcialement dans le but d'tre trs scuris.
   L'auteur a promis une rcompense de 500 dollars pour celui qui
   trouverait le premier vritable trou de scurit ; cette rcompense
   n'a toujours pas t demand depuis mars 1997.

5.4 exim

   Le programme exim est similaire  smail3 mais avec plus de
   fonctionnalits. Il est particulirement efficace pour l'limination
   du spam et supporte plusieurs adresses virtuelles (_virtual DNS
   domains_) sur la mme adresse.

   Je l'ai essay sur mon ordinateur, il semble tre une fusion du
   systme de configuration de smail et de la scurit de qmail. De plus
   il a l'avantage d'tre sous GPL.

   Une section expliquant comment remplacer votre agent de transport de
   courrier par exim sera bientt ajoute.

6. Installation de l'agent de transport de courrier (MTA)

6.1 Qmail v1.03

   Scuris, rapide et facile  utiliser, c'est mon agent de transport de
   courrier prfr.

   Actuellement, aucune distribution ne prinstalle qmail. Nous allons
   nous concentrer sur la compilation et l'installation de qmail puisque
   c'est la seule partie difficile : la configuration est vraiment
   immdiate.

  Obtenir qmail

   Allez sur www.qmail.org pour tlcharger la dernire version.

  Dcompresser les sources

   Ensuite, dcompressez le en tapant

mv qmail.tar.gz /usr/local/src
cd /usr/local/src ; tar -zxvf qmail.tar.gz

   Si vous trouvez une version bz2 (qui est un nouveau et meilleur format
   de compression), remplacer tar par

bunzip2 qmail.tar.bz2
tar -xvf qmail.tar

  Prparer la compilation

   Maintenant entrez dans le rpertoire qmail pour examiner la
   configuration par dfaut :

cd qmail; more conf-*

   Vous ne devriez avoir  changer aucun paramtre, mais vous pouvez (par
   exemple) spcifier un rpertoire d'installation alternatif ou de
   meilleurs options de compilation.

   Maintenant lancer

mkdir /var/qmail

   pour crer le rpertoire d'installation.

   Si nous n'avez pas install une distribution Debian, vous devrez
   ajouter plusieurs UID pour l'utilisation de qmail. La grande scurit
   de qmail dpend de cela.

   Le fait que qmail soit divis en modules tournant chacun sous leur
   propre UID rend la tche de mettre hors-service la totalit de votre
   systme de courrier ou de gagner un accs root plus difficile.

   Donc, lancer

   # groupadd nofiles
   # useradd -g nofiles -d /var/qmail/alias alias
   # useradd -g nofiles -d /var/qmail qmaild
   # useradd -g nofiles -d /var/qmail qmaill
   # useradd -g nofiles -d /var/qmail qmailp
   # groupadd qmail
   # useradd -g qmail -d /var/qmail qmailq
   # useradd -g qmail -d /var/qmail qmailr
   # useradd -g qmail -d /var/qmail qmails

   ou diter  la main /etc/passwd et /etc/group pour ajouter ces
   utilisateurs vous-mme.

   Evan E. m'a signal qu'il avait d utiliser le paramtre _-g GID_ avec
   la version officielle de groupadd (Caldera 1.2) car sinon groupadd
   retournait cette erreur :  A group with that name already exists. 
   (un groupe de ce nom existe dj).

   Par exemple, vous pouvez respectivement ajouter

        qmail:*:2107:
        nofiles:*:2108:

   et

        alias:*:7790:2108::/var/qmail/alias:/bin/true
        qmaild:*:7791:2108::/var/qmail:/bin/true
        qmaill:*:7792:2108::/var/qmail:/bin/true
        qmailp:*:7793:2108::/var/qmail:/bin/true
        qmailq:*:7794:2107::/var/qmail:/bin/true
        qmailr:*:7795:2107::/var/qmail:/bin/true
        qmails:*:7796:2107::/var/qmail:/bin/true

   Maintenant vous pouvez lancer

make setup check

   pour tester votre configuration, ensuite

./config

   pour configurer qmail.

   Attention, votre serveur disposer d'une adresse reconnue (i.e. pouvant
   tre rsolue par une requte DNS) ou ./config sera perturb.

   Si ce n'est pas le cas, vous pouvez donnez le nom de votre serveur
   directement via :

./config-fast ordinateur.lambda.fr

   Maintenant, vous devez installer quelques alias, puisque /etc/alias
   n'est pas utilis pas qmail sauf si vous compilez et installez un
   paquetage optionnel.

   Voici ma configuration :

File : ".qmail-MAILER-DAEMON"
&postmaster
File : ".qmail-bin"
&root
File : ".qmail-daemon"
&root
File : ".qmail-decode"
&root
File : ".qmail-dumper"
&root
File : ".qmail-games"
&root
File : ".qmail-ingres"
&root
File : ".qmail-mailer-daemon"
&postmaster
File : ".qmail-manager"
&root
File : ".qmail-news"
&root
File : ".qmail-nobody"
&root
File : ".qmail-operator"
&root
File : ".qmail-postmaster"
&root
File : ".qmail-root"
&guylhem
File : ".qmail-system"
&root
File : ".qmail-toor"
&root
File : ".qmail-uucp"
&root
File : ".qmail-uucp-default"
|preline -dr /usr/bin/uux - -r -gC -a"${SENDER:-MAILER-DAEMON}" lm!rmail "($DEF
AULT@$HOST)"

   Vous devez crer chacun de ces fichiers dans ~alias en remplaant
   _&guylhem_ dans .qmail-root par votre propre compte rcuprant le
   courrier de root.

   Attention si vous utilisez UUCP !

   Ne faites pas confiance  la FAQ de qmail pour UUCP, utilisez mon
   .qmail-uucp-default  la place sinon vous ne pourrez envoyer aucun
   courrier par votre connexion UUCP !

   Maintenant vous devez dcider dans quel format vos utilisateurs
   recevront leur courrier.

   Voici mon avis :
     * Pour des rpertoires _home_ monts en NFS, utilisez le format
       MAILDIR avec un correctif pour les logiciel de courrier (les
       correctifs sont disponibles sur www.qmail.org).
     * Si aucun correctif n'est disponible, prfrez le format MAILFILE.
       N'importe quel logiciel peut lire un fichier  ce format. Les
       utilisateurs devront seulement crer un alias (pour bash) ou un
       setenv (pour csh) pour leur logiciel de courrier.
     * viter le format /var/spool/mail/$USER format, trop peu sr.

   Pour corriger le format par dfaut, lisez chacun des fichiers dans
   /var/qmail/boot et copiez celui que vous prfrez vers /var/qmail/rc.

   home ou proc sont des choix srs mais je prfre home pour des raisons
   de scurits.

  Configurer qmail

   Dans /var/qmail/control, ditez :

  defaultdomain, me, plusdomain

     * _me_ est votre nom de domaine qualifi complet (_full qualified
       domain name_) local, par exemple sur ma machine c'est
       _barberouge.linux.lmm.com_
     * _defaultdomain_ sera ajout  toutes adresses sans point, y
       compris l'adresse par dfaut (_me_). Par exemple vous pouvez le
       positionner  _reseau-local_ et les mails envoys 
       _pierre@sa-boite_ seront complts et envoys 
       _pierre@sa-boite.reseau-local_.
     * _plusdomain_ est l'exception : il est ajout  toutes les adresses
       qui se termine par un signe plus, y compris l'adresse par dfaut.

   Ces trois exemples vous montre la puissance et la facilit de la
   configuration de qmail !

  locals, rcpthosts

   Si vous voulez utiliser les noms de domaines virtuels, ajoutez
   simplement les noms des domaines dans ces fichiers. Tout courrier reu
   envoy  ces noms sera trait localement.

   La diffrence entre _locals_ et _rcpthosts_ est que _rcphosts_ n'est
   pas considr comme un alias local, ce qui est utile si vous recevez
   des courriers lectroniques envoys  une adresse gratuite comme
   yahoo.com ou lemel.fr alors que vous envoyez galement des courriers 
   des utilisateurs de ces services non locaux et que vous ne voulez pas
   traiter localement un courrier envoy  quelqu-un@yahoo.com !

  virtualdomains

   Ici vous pouvez spcifier le mode d'envoi par dfaut, par exemple

#:alias-uucp

   si vous ne voulez pas envoyer vos mail par UUCP mais par SMTP (c'est
   la configuration par dfaut) ou

:alias-uucp

   si vous voulez les envoyer par UUCP.

  Tester qmail

   Maintenant, qmail est configur, essayez

sh -cf '/var/qmail/rc &'

   pour lancer qmail (a n'interfrera pas avec votre agent de transport
   de courrier), ensuite

echo to: mon-identifiant | /var/qmail/bin/qmail-inject

   Vous devriez recevoir ce mail dans le format que vous choisi dans
   _/var/qmail/boot/_.

  Dsinstaller votre ancien agent de transport de courrier

   Si le test est concluant, tuez votre ancien agent de transport.

   Tout d'abord, arrtez-le :

$ killall -STOP nom_du_dmon

   Si des processus-fils tournent, forcez-les  se terminer :

$ killall -CONT leur_nom

   Puis ressayez de stopper votre agent de transport de courrier (s'il
   le faut, rptez ces deux tapes _ad nauseam_).

   Ensuite, tuez votre agent de transport :

$ killall -TERM nom_du_dmon
$ killall -CONT nom_du_dmon

   Virez-le. La manire de le faire dpend de votre distribution. Par
   exemple rpm -e --nodeps pour une RedHat, une Caldera ou une SuSE, ou
   dpkg -r --force-depends pour une Debian. Lancer ensuite

# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

   Maintenant configurer qmail-smtpd dans /etc/inetd.conf :

smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qma
il-smtpd

   Tout ceci doit se trouver sur la mme ligne.

   Si vous utilisez un vielle distribution avec un init non SysV (c'est
   par exemple le cas des vielles RedHat), ajoutez cela  vos scripts
   d'initialisation :

sh -cf '/var/qmail/rc &'

   Il y a de grandes chances pour que ce soit /etc/rc.local mais cela
   peut varier.

   Pour les distribution actuelles avec des init SysV (RedHat, Caldera,
   SuSE, Debian), ajoutez ce script dans /etc/init.d/ ou
   /etc/rc.d/init.d :

     * Pour la Debian :

#!/bin/sh

test -x /var/qmail/rc || exit 0

case "$1" in
  start)
     echo -n "Starting mta: " # dmarrage de l'agent de transport
     sh -cf '/var/qmail/rc &'
     echo "qmail."
     ;;
  stop)
     echo -n "Stopping mta: " # arrt de l'agent de transport
     killall qmail-lspawn
     echo "qmail."
     ;;
  restart)
     echo -n "Restarting mta: " # redmarrage de l'agent de transport
     killall -HUP qmail-lspawn
     killall -ALRM qmail-lspawn
     echo "qmail."
     ;;
  *)
     echo "Usage: /etc/init.d/qmail {start|stop|restart}"
     exit 1
esac

exit 0

     * Pour la RedHat :

#!/bin/sh
#
# qmail         ce script shell s'occupe du dmarrage et de l'arrt de qmail
#
# description : qmail est un agent de transport de courrier, c'est--dire
#               le programme qui s'occupe de transporter le courrier d'une
#               machine  une autre
# nom de processus : qmail
# config: /var/qmail/control/

# source la bibliothque de function
. /etc/rc.d/init.d/functions

# source la configuration du rseau
. /etc/sysconfig/network

export PATH=$PATH:/var/qmail/bin

# vrifie que le rseau est en place
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/sbin/sendmail ] || exit 0

# examine les options de dmarrage du script
case "$1" in
  start)
        # Lance les dmons.
        echo -n "Starting qmail: " # dmarrarage de qmail
        qmail-start '|preline procmail' splogger qmail &
        touch /var/lock/subsys/qmail
        echo
        ;;
  stop)
        # Arrte les dmons.
        echo -n "Shutting down qmail: " # arrt de qmail
        killproc qmail-lspawn
        echo
        rm -f /var/lock/subsys/qmail
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  status)
        status qmail
        ;;
  *)
        echo "Usage: qmail {start|stop|restart|status}"
        exit 1
esac

exit 0

   Fates des liens symboliques vers chaque /etc/rc.d/rcN.d/, par
   exemple :

ln -sf /etc/init.d/qmail /etc/rc.d/rc1.d/K19qmail

   Si la premire lettre est K, vous tuerez qmail quand la machine
   passera  ce niveau d'excution (1 pour le mode simple ou 6 pour le
   redmarrage) et si la premire lettre est S, vous le dmarrerez (2, 3,
   4, 5).

     * Comment dcider si vous devez mettre un K ou un S ? Faites ce que
       le majorit des dmons font dans ces runlevels !
     * Quel nombre devrais-je mettre aprs K ou S ? Le nombre suivant de
       celui de votre dmon rseau. Cela signifie que l'agent de
       transport de courrier sera dmarr et arrt respectivement avant
       et aprs votre dmon rseau. Sans cela, votre rseau ne sera pas
       activ au moment o sera lanc votre agent, alors que celui-ci
       s'attendra  ce qu'il fonctionne.

   RedHat, Caldera et SuSE utilisent /etc/rc.d  la place de /etc pour un
   Debian. Ainsi, sur ces distributions, quand je parle de /etc/rc1.d
   comprenez /etc/rc.d/rc1.d.

  Et puis c'est tout !

   Pas besoin de redmarrez (H, vous utilisez Linux, pas un de ces
   petits OS de rigolos !) pour que les modifications prennent effet.
   Lancez juste

killall inetd
init 1

   pour passez en mode mono-utilisateur. Puis tapez

init 2

   pour retourner  votre niveau d'excution par dfaut (indiqu dans
   /etc/inittab avec le label initdefault).

   Vous auriez galement pu lancer  la main le script qmail mais la
    mthode init  vous permet de constater si le script qmail est bien
   plac, c'est--dire lanc aprs les scripts rseaux mais avant tout
   programme qui utilise le courrier pour vous avertir (comme inn par
   exemple).

6.2 Smail v3.1

   Smail 3.1 est _de facto_ un agent de transport de courrier standard
   pour les sites utilisant uniquement UUCP et pour quelques un de ceux
   qui utilisent SMTP. Il est facile  configurer, il se compile sans
   correctif et est assez bien scuris.

  Configurer smail

   Installez le binaire smail de votre distribution (je vous recommande
   cette mthode) ou rcuprez les sources de smail et compilez le. Si
   vous compilez smail, vous aurez besoin d'avoir ce qui suit dans votre
   fichier os/linux pour que sed fabrique des scripts shell qui marchent
   chez vous.

CASE_NO_NEWLINES=true

   Une fois installes, les fichiers de configurations iront certainement
   dans le rpertoire /etc/smail (mais cela peut-tre diffrent si vous
   utilisez une vielle distribution) ; commenons par les diter !

  le fichier config

# source
smart_path=polux
smart_transport=uux

# destination
hostname=barberouge
domains=linux.lmm.com

visible_name=barberouge.linux.lmm.com
uucp_name=barberouge.linux.lmm.com

# max_message_size=512k
# auth_domains=foo.bar
# more_hostnames=barberouge.polux.freenix.fr

   Bon, premirement, qui va vous alimenter ? Je suis aliment par _polux_
   via UUCP (i.e., par transport UUX) ; naturellement vous devez changer
   cela en fonction de votre propre situation. Par exemple, vous pourriez
   tre aliment par _bargw.bar.foobar.com_ via SMTP, dans ce cas vous
   n'avez pas besoin de fichier de transport et vous pouvez dfinir
   _-transport_file_ pour indiquer que vous n'en avez pas besoin.

   Vous pouvez aussi utiliser _postmaster_address = votre_nom_, cachez la
   topologie du rseau dans les adresses sortantes (si vous tes un
   portail) en utilisant _bvisible_name_, choisir quelles adresses alias
   peuvent aussi tre utilises pour les courriers que vous recevez grce
    _more_hostnames_.

   Voyez la documentation de smail pour plus de dtails ou les exemples
   de /usr/doc/smail/examples pour voir s'il y en a qui correspondent 
   votre cas.

  le fichier directors

  # aliasinclude - dveloppe les adresses ~:include:filename~ produites
  # par les fichiers alias.
  # Cette entre et la suivante sont  peu prs des modles standards.
  # Il existe peu de raisons d'y apporter des changements significatifs.
  # Leur unique raison d'tre est de reconnaitre et de dvelopper les
  # adresses de la forme :
  #       :include:pathname
  # qui peuvent apparaitre dans les fichiers alias, les listes de
  # diffusions ou les fichiers forward (produite par toute
  # directive dont le pilote (driver) est forwardfile).
  aliasinclude:
          driver = aliasinclude,          # utiliser le pilote destin  ce cas
                                          #   particulier ;
          nobody;                         # lorsque des violations modres des
 droits
                                          #   se produisent, associer aux adres
ses
                                          #   l'identifiant nobody ;
          copysecure,                     # utiliser les droits du director ali
as ;
          copyowners,                     # utiliser le propritaire du directo
r alias.


  # forwardinclude - dveloppe les adresses  :include:filename  produites
  # par les fichiers forward
  forwardinclude:
         driver = forwardinclude,         # utiliser le pilote destin  ce cas
                                          #   particulier ;
         nobody;
         copysecure,                      # utiliser les droits du director for
warding ;
         copyowners,                      # utiliser le propritaire du directo
r forwarding.

  # aliases - cherche les dveloppements d'alias stocks dans une base de donn
e.
  # C'est le fichier d'alias standard. Il est utilis pour raliser des oprati
ons
  # courantes, comme faire correspondre root, postmaster, MAILER-DAEMON et uucp
 aux
  # administrateurs du site, crer des dveloppements de petite envergure
  # d'alias systme, ou d'autres choses de ce genre. Dans la configuration de
  # ce site, le fichier alias est utilis principalement pour des informations
  # d'alias et de renvois spcifiques  chaque machine.
  # Les informations gnrales de renvoi de courrier doivent tre mises dans la
  # base de donne  forward .
  aliases:
          driver=aliasfile,               # directeur d'alias gnraliste ;
          -nobody,                        # toutes les adresses sont associs
                                          #   par dfaut  nobody, donc dfinir
                                          #   cette option n'est pas utile ;
          sender_okay,                    # ne pas ignorer l'expditeur lors de
s
                                          #   dveloppements d'adresses ;
          owner=owner-$user;              # les problmes sont dirigs vers
                                          #   l'adresse du propritaire ;
          file=/etc/aliases,
          modemask=002,                   # l'accs en criture ne doit pas tr
e
                                          #   autoris  tous ;
          optional,                       # continuer normalement si le fichier
                                          #   n'existe pas ;
          proto=lsearch,                  # fichier ASCII non tri.


  # forward - cherche des dveloppements d'adresse selon le contenu de la base
  # de donnes  forwarding .
  # C'est la base des adresses des renvois utilisateurs pour tout un sous-domai
ne.
  # Les informations ncessaires pour faire suivre le courrier des utilisateurs
,
  # prsents ou passs, vers leur machine prfre sont conserves ici.
  # La base forward est expdie vers les autres systmes locaux lors de chaque
  # modification, afin de maintenir la cohrence du rseau.
  #forward:
  #       driver = aliasfile,             # Directeur d'alias gnraliste ;
  #       -nobody,                        # toutes les adresses sont associs
                                          #   par dfaut  nobody, donc dfinir
                                          #   cette option n'est pas utile ;
  #       owner = real-$user;             # les problmes sont dirigs vers
                                          #   l'adresse du propritaire ;
  #
  #       file = /etc/forward,
  #       modemask = 002,
  #       proto = dbm,                    # Utiliser la librairie dbm(3X)
                                          #   pour accder  la base.


  # dotforward - dveloppe les fichiers .forward des rpertoires personnels.
  # Pour les utilisateurs qui ont une entre dans la base  forward , un fichi
er
  # .forward n'est utilis que s'il est sur leur machine personnelle, telle
  # qu'indique dans la base forward. Lorsque ce fichier est utilis, il est tr
ait
  # comme une liste d'adresse indiquants la liste des destinataires auxquels

  # doivent tre envoys les courriers reus par cet utilisateur, au lieu (ou
  # en plus) d'tre stocks en local.
  dotforward:
          driver = forwardfile,           # le directeur gnraliste forwarding
 ;
          owner = postmaster, nobody, sender_okay;

          file = ~/.forward,              # le fichier .forward du rpertoire p
ersonnel ;
          checkowner,                     # l'utilisateur peut tre propritair
e de ce fichier ,
          owners = root,                  # ou bien root ;
          modemask = 002,                 # ne doit pas tre accessible  tous
en criture ;
          caution = daemon:root,          # ne rien excuter en tant que root o
u daemon ;
          # faire extrmement attention aux dossiers personnels potentiellement
          # accessibles  distance.
          unsecure = "~uucp:/tmp:/usr/tmp:/var/tmp"


  # forwardto - dveloppe le  Forward to  dans les fichiers botes aux lettre
s utilisateur.
  # Cela mule le mchanisme de renvoi de courrier des systmes V6/V7/System-V
qui utilise
  # une ligne d'adresses de renvoi au dbut des fichiers boites aux lettres (BA
L) utilisateur
  # avec comme prfixe la chane  Forward to   (avec un blanc aprs to)
  forwardto:
          driver = forwardfile,
          owner = postmaster, nobody, sender_okay;

          file = /var/spool/mail/${lc:user},      # pointe sur la BAL utilisate
ur ;
          forwardto,                      # autoriser la fonction  Forward to
 ;
          checkowner,                     # l'utilisateur peut tre propritair
e de ce fichier,
          owners = root,                  # ou root ;
          modemask = 0002,                # sous System V, le groupe mail a la
permission d'criture ;
          caution = daemon:root           # ne rien excuter sous root ou daemo
n.


  # user - associe un utilisateur sur l'hte local  la distribution dans sa BA
L.
  user:   driver = user;                  # reconnait les utilisateurs locaux ;
          transport = local               # le transport local distribue le cou
rrier
                                          #   dans les BAL.


  # real_user - reconnat les utilisateurs prfixs par la chane "real-"
  # Trs utile pour permettre  une adresse de correspondre explicitement 
  # une BAL utilisateur. Par exemple, des erreurs de dveloppement d'un fichier

  #.forward pourraient tre distribues ici, ou des boucles dans le renvoi de c
ourrier entre
  # plusieurs machines pourraient tre rsolues en utilisant une adresse real-n
om_d_utilisateur.
  # Aussi, les utilisateurs qui souhaitent utiliser le courrier comme moyen de
transfert de
  # donnes vers une machine qui n'est pas leur machine personnelle peuvent env
oyer un
  # courrier  real-nom_d_utilisateur@hte-distant.
  real_user:
          driver = user;
          transport = local,
          prefix = "real-"                # par exemple, reconnait real-root.

  # lists - dveloppe les listes de diffusion stockes dans le rpertoire list
  # Les listes de diffusions peuvent tre cres simplement en crant un fichier
  # dans le rpertoire /etc/smail/lists.
  lists:  driver = forwardfile,
          caution,                        # marque toutes les adresses avec l'i
ndicateur  caution ,
          nobody,                         # et les associent  l'utilisateur no
body ;
          owner = owner-$user;            # les sites system V peuvent vouloir
utiliser
                                          #   o-$user, puisque owner-$user peut
 tre
                                          #   trop long, la taille limite des n
oms de
                                          #   fichiers tant de 14 caractres ;
          file = lists/${lc:user}         # les listes sont sous $smail_lib_dir
.

  # owners - dveloppe les listes de diffusion stockes dans le rpertoire des
  #          propritaires de listes (rpertoire  list owner ).
  # Les listes de propritaires de listes de diffusion peuvent tre simplement
cres en
  # crant un fichier dans le rpertoire /etc/smail/lists/owner. Ces listes per
mettent
  # de diffuser localement les messages d'erreurs gnres par une liste de dif
fusion.
  # Pour crer une liste des propritaires d'une liste de diffusion,
  # crer un fichier portant le nom de la liste dans /etc/smail/lists/owners.
  # Cela va crer une adresse de courrier owner-nom_de_liste,
  # telle qu'utilise par le directeur  lists  plus haut.
  owners: driver = forwardfile,
          caution,                        # marque toutes les adresses avec l'i
ndicateur  caution ,
          nobody,                         # puis les associent  l'utilisateur
nobody ;
          owner = postmaster;
          prefix = "owner-",
          file = lists/owner/${lc:user}   # les listes sont sous $smail_lib_dir
.

  # request - dveloppe les listes de diffusions stockes dans le rpertoire de
s listes
  # de requtes. Les listes de diffusion des requtes concernant une liste de d
iffusion
  # peuvent tre cres tout simplement en crant un fichier dans le rpertoire
  # /etc/smail/lists/request. Les adresses requte sont utilises en gnral
  # comme adresse standard pour les demandes concernant une liste de diffusion.
  # Par exemple, les demandes d'abonnement ou de dsabonnement pour une liste s
eront
  # en gnral envoyes  l'adresse  nom_de_liste-request , qui devra tre co
nfigure
  # pour faire suivre le courrier  la ou les personnes appropries.
  request: driver = forwardfile,
          caution,                        # marque toutes les adresses avec l'i
ndicateur  caution ,

          nobody,                         # puis les associent  l'utilisateur
nobody ;
          owner = postmaster;
          suffix = "-request",
          file = lists/request/${lc:user} # les listes sont sous $smail_lib_dir
.

   Vous de devriez pas avoir besoin de changer quoi que ce soit ici,
   seulement les option destines aux listes de diffusions si vous voulez
   grer de telles listes avec smail, ou bien les options de renvoi
   (_forward options_) si, par exemple vous voulez interdire les renvois.

  Le fichier fidopaths

.f105.n324.z2.fidonet.org       f105.n324.z2.fidonet.org!%s
.n324.z2.fidonet.org            f105.n324.z2.fidonet.org!%s
.z2.fidonet.org                 f105.n324.z2.fidonet.org!%s
.fidonet.org                    f105.n324.z2.fidonet.org!%s

   Crez ce fichier seulement si vous utilisez ifmail et FIDO.

  Le fichier _routers_

  # forces - force l'utilisation d'un chemin de distribution prcis
  # L'existence de cette base de donne est un moyen de coder en dur les chemin
s d'accs de
  # diverses machines ou domaines. Utilis pour crer des distorsions temporair
es
  # des autres bases de donnes de routage. Pour changer la base, diter le
  # fichier maps/force.path puis faire un  make  dans le sous-rpertoire maps
/
  forces:
          driver = pathalias,             # nom du routeur effectuant les reche
rches
                                          #   dans les bases de chemins ;
          method = /etc/smail/maps/table; # les transports sont dans ce fichier
 ;
          file = forcepaths,              # fichier contenant l'information sur
                                          #   les chemins forces ;
          proto = lsearch,                # utiliser le fichier de chemins tri
 ;
          optional,
          reopen                          # se fermer lorsqu'il n'est pas utili
s.

  uucp_neighbors:
          driver=uuname,                  # utiliser un programme renvoyant les
 voisins ;
          transport=uux;
          cmd="/usr/bin/uuname -a",       # plus prcisment, utiliser le progr
amme uuname ;
  #        domain=uucp                    # enlever le suffixe ~.uucp~

  # smart_host - un directeur vers une ~machine de relais postal~ partielleme
nt dfinie
  # Si l'attribut smart_path du fichier de configuration contient un
  # chemin entre l'hte local et un hte distant, alors les noms d'htes
  # qui ne seraient pas reconnus autrement seront rexpdis vers l'hte distan
t
  # prcdemment mentionn (la machine de relais postal). L'attribut du fichier
  # de configuration smart_transport peut tre utilis pour indiquer un moyen
  # de transport diffrent vers la machine-relais.
  # Si l'attribut smart_path n'est pas spcifi, ce routeur est ignor.
  smart_host:
          driver = smarthost,             # Pilote conu pour ce cas spcial
          transport = uux                 # Par dfaut, distribuer via UUCP
  #       path=phreak

  # ifmail - pour envoyer des courriers  fidonet et vice versa.
  ifmail:
          driver=pathalias,
          transport=ifmail;
          file=fidopaths,
          proto=lsearch

   Vous ne devez inclure la partie ifmail que si vous utilisez ifmail
   pour les courriers FIDO. Il est  noter que vous pouvez aussi changer
   le mode de transport de _uux_ (i.e., UUCP) vers, par exemple, _smtp_,
   ou mme coder en dur les chemins vers diffrentes machines ou domaines
   dans /etc/smail/maps/table.

   C'est utile si vous voulez que des courriers sortants pour votre
   rseau local soient distribus immdiatement, puisque il n'auront pas
   besoin d'tre rout vers la connexion UUCP de votre accs internet.

  Le fichier transports

  # local - distribution du courrier aux utilisateurs locaux
  # Indique  smail d'ajouter directement le courrier  la fin des fichiers bo
tes
  # aux lettres des utilisateurs dans le rpertoire /var/spool/mail

  #local: driver = appendfile,            # ajoute le message  la fin d'un fic
hier ;
  #       -return_path,                   # ajoute le champ  Return-Path:  ;
  #       local,                          # utiliser la forme locale de distrib
ution ;
  #       from,                           # ajoute la ligne d'enveloppe  From_
  ;
  #       unix_from_hack;                 # insre > avant From dans le corps d
u message ;
  #
  #       file = /var/spool/mail/${lc:user},      # utiliser cet emplacement po
ur Linux ;
  #                                               #  noter, le rpertoire de s
tockage de
                                                  #   courrier doit avoir des d
roits  1777 ;
  #       file = ~/mailfile,       # utiliser cet emplacement pour une scurit
 accrue ;
  #       group = mail,            # groupe devant tre propritaire des fichie
rs pour le System V ;
  #       mode = 0660,             # sous System V, le groupe mail doit avoir l
es droits d'accs ;
  #       suffix = "\n",           # ajouter d'une ligne supplmentaire.
  #       append_as_user,

  # Ceci permet  chaque utilisateur d'avoir un fichier ~/.procmailrc pour cont
rler
  # le filtrage du courrier et permettre de sauvegarder les courriers provenant
 de
  # listes de diffusions dans des botes aux lettres spares s'ils le souhaite
nt.

  local:  +inet,
          -uucp,
          driver = pipe,                  # envoi du message via un tube
          return_path,                    # inclus un champ  Return-Path:  ;
          local,                          # utiliser la forme locale de distrib
ution ;
          from,                           # ajoute la ligne d'enveloppe  From_
  ;
          unix_from_hack;                 # insre > avant From dans le corps d
u message ;

          cmd = "/usr/bin/procmail",      # utilise procmail pour distribuer le
 courrier local ;
          parent_env,                     # tire les informations d'environneme
nt de
                                          #   l'adresse du parent ;
          pipe_as_user,                   # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
          umask = 0022,                   # droits par dfaut du processus fils
 ;
  #       -ignore_status,                 # il faut faire confiance au code de
retour ;
  #       -ignore_write_errors,           # ressayer lorsqu'un tube est bris.


  # pipe - distribue le courrier  des commandes shells
  # Ceci est implicitement utilis quand smail rencontre des adresses commenan
t
  # par le caractre barre verticale, comme  |/usr/lib/news/recnews talk.bizar
re .
  # La barre verticale est enleve de l'adresse avant d'tre transmise au trans
port.

  #pipe:  driver = pipe,                  # envoyer le message  un autre progr
amme
  #                                       #   via un tube ;
  #       return_path, local, from, unix_from_hack;
  #
  #       cmd = "/bin/sh -c $user",       # envoyer l'adresse au shell Bourne ;
  #       parent_env,                     # tire les informations d'environneme
nt de
                                          #   l'adresse du parent ;
  #       pipe_as_user,                   # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
  #       umask = 0022,                   # droits par dfaut du processus fils
 ;
  #       -log_output,                    # ne pas enregistrer stdout/stderr da
ns les logs ;
  #       ignore_status,                  # le code de retour peut tre faux, l
'ignorer ;
  #       ignore_write_errors,            # ignorer les tubes briss.

  # file - distribue le courrier dans des fichiers
  # Utilis implicitement lorsque smail rencontre des adresses qui commencent
  # par un barre de division  /  ou un tilde  ~ , comme  /usr/info/list_me
ssages 
  # ou peut tre  ~/Mail/inbox .

  #file:  driver = appendfile,
  #       return_path, local, from, unix_from_hack;
  #
  #       file = $user,                   # le nom du fichier est pris dans l'a
dresse ;
  #       append_as_user,                 # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
  #       expand_user,                    # dveloppe ~ et $ dans l'adresse.
  #       check_path,
  #       suffix = "\n",
  #       mode = 0644

  # uux - distribue le courrier au programme rmail sur un site UUCP distant
  #
  # Il est possible, au cours d'une seule transaction UUCP, de distribuer
  # le courrier destin  5 adresses lectroniques.

  uux:    driver = pipe,
          -uucp,
          inet,
  #       uucp,                           # utilise le format d'adresse de styl
e UUCP ;
          from,                           # fourni une ligne d'enveloppe  From
_  ;
          max_addrs = 5,                  # au plus 5 adresses par appel ;
          max_chars = 200;                # au plus 200 caractres pour une adr
esses ;

  # l'option -r vite une distribution immdiate, les parenthses autour de la
variable
  # $user empche qu'elle soit interprt par uux.

          cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
  #        cmd="/usr/bin/uux - $host!rmail $(($user)$)",
          ignore_write_errors,            # ignore les tubes briss.
          umask = 0022,
  #       pipe_as_sender,

  # uux_one_addr - distribue le courrier par UUCP  un hte distant qui ne peut

  #                accepter qu'une seule adresse  la fois.
  #
  # Cela est souvent ncessaire quand on distribue du courrier  un site qui
  # tourne sous une version non modifie de 4.1BSD.

  uux_one_addr:
          driver = pipe,
          uucp,                           # utilise le format d'adresse de styl
e UUCP ;
          from;                           # fourni une ligne d'enveloppe  From
_  ;

          # l'option -r empche une distribution immdiate.

          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022,
          pipe_as_sender

  queueonly:
          driver = pipe;                  # envoi du message via un tube ;
          cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
                                          # utilise getmail pour les distributi
ons locales ;
          user=root,                      # excute getmail en tant qu'utilisat
eur  root  ;
          group=mail,                     # excute getmail sous le groupe  ma
il  ;
          parent_env,                     # tire les informations d'environneme
nt de
                                          #   l'adresse du parent ;
          -pipe_as_user,                  # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
          umask = 0007,                   # droits par dfaut du processus fils
.

  # pour distribuer un message. Le transport SMTP n'est inclus que si le suppor
t
  # rseau BSD est prsent.
  # L'attribut uucp peut tre positionn pour le transfert dans une zone uucp.
  # L'attribut inet doit tre positionn pour les transferts vers l'internet.
  # note : c'est loin d'tre optimal, un logiciel d'arrire-plan devrait existe
r
  # qui puisse prendre en charge plusieurs messages par connection.
  # de plus : il peut tre ncessaire de restreindre max_addrs  100, puisqu'il

  # s'agit de la limite infrieure qu'une mise en oeuvre de SMTP est tenue de
  # prendre en charge.

  smtp:   driver=tcpsmtp,
          inet,                           # si UUCP_ZONE n'est pas dfini ;
  #       uucp,                           # si UUCP_ZONE est dfini ;
          -max_addrs, -max_chars;         # pas de limite sur le nombre d'adres
ses ;

          short_timeout=5m,               # la dure maximum des oprations cou
rtes ;
          long_timeout=2h,                # la dure maximum des oprations SMT
P plus longues ;
          service=smtp,                   # se connecter  ce port de service ;
  # Pour l'utilisation internet : ne pas commenter les 4 lignes qui suivent
         use_bind,                       # rsoud les enregistrements A multipl
es et MX ;
         defnames,                       # utiliser la recherche standard de do
maines ;
         defer_no_connect,               # essayer  nouveau si le serveur est
tomb ;
         local_mx_okay,                  # vite un MX vers l'hte local.

  ifmail:
          from,received,max_addrs=5,max_chars=200,
          driver=pipe;
          pipe_as_sender,
          cmd="/usr/local/bin/ifmail -x9 -r$host $((${strip:user})$)"

   Vous ne devez inclure la partie ifmail que si vous utilisez ifmail
   pour les courriers FIDO.  part cela, vous ne devriez pas avoir besoin
   de modifier quoi que ce soit dans ce fichier qui dfinit les agents de
   transport (comme UUX, SMTP, etc.) que vous pouvez utiliser comme
   paramtres dans les autres fichiers de configuration.

   Remarquez que j'ai comment quelques parties comme _pipes_ ou _file_
   pour amliorer la scurit.

  Le rpertoire maps

   Il contient les fichiers map et table.

   Tout d'abord le fichier map :

#N      foo.bar foo2.bar2
#S      AT 486/RedHat Linux 1.2.13
#O      organization
#C      contact
#E      administration (email)
#T      phone
#P      address
#R
#U      hosts connected via uucp
#W      created/edited by
#
hname polux

hname linux.eu.org

hname = polux
hname = polux.linux.eu.org

   Encore une fois, adaptez le fichier  votre situation (je suis
   aliment par polux.linux.eu.org).

   Maintenant le fichier table :


*       uux

   Vous pouvez dfinir diffrents transports pour diffrents chemins, par
   exemple _smtp_ pour les machines de votre rseau local, _uux_ pour le
   reste du monde ou vice-versa (j'utilise UUCP pour tous les courriers
   sortants, donc j'utilise _*_ !)

  Autres bons exemples

   Les fichiers prcdents sont ceux que j'utilise pour mon site ; vous
   ne devriez pas rencontrer de problmes en les utilisant comme bases
   pour vos propres fichiers.

   Les fichiers suivants sont donns comme de bons exemples pour
   configurer smail de diffrentes manires.

#ident "@(#) transports,v 1.2 1990/10/24 05:20:46 tron Exp"

  # Voir smail(5) pour une description complte du contenu de ce fichier

  # local - distribution du courrier aux utilisateurs locaux
  #
  # Indique  smail d'ajouter directement le courrier  la fin des fichiers bo
tes
  # aux lettres des utilisateurs, contenus dans le rpertoire  /usr/mail .
  local:  driver = appendfile,            # ajouter le message  la fin du fich
ier ;
          return_path,                    # ajoute le champ  Return-Path:  ;
          local,                          # utiliser la forme locale de distrib
ution ;
          from,                           # ajoute la ligne d'enveloppe  From_
  ;
          unix_from_hack;                 # insre > avant From dans le corps d
u message ;

          file = /usr/mail/${lc:user},    # utiliser cet emplacement pour Syste
m V ;
          group = mail,                   # groupe devant tre propritaire des
 fichiers
                                          #   pour le System V ;
          mode = 0660,                    # sous System V, le groupe mail doit
avoir les
                                          #   droits d'accs ;
          suffix = "\n",                  # ajouter d'une ligne supplmentaire.
          append_as_user,

  # pipe - distribue le courrier  des commandes shells
  #
  # Ceci est implicitement utilis quand smail rencontre des adresses commenan
t
  # par le caractre barre verticale, comme  |/usr/lib/news/recnews talk.bizar
re .
  # La barre verticale est enleve de l'adresse avant d'tre transmise au trans
port.

  pipe:   driver = pipe,                  # envoyer le message  un autre progr
amme
                                          #   via un tube ;
          return_path, local, from, unix_from_hack;

          cmd = "/bin/sh -c $user",       # envoyer l'adresse au shell Bourne ;
          parent_env,                     # tire les informations d'environneme
nt de
                                          #   l'adresse du parent ;
          pipe_as_user,                   # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
          umask = 0022,                   # droits par dfaut du processus fils
 ;
          -log_output,                    # ne pas enregistrer stdout/stderr ;
          ignore_status,                  # le code de retour n'est pas fiable,
 l'ignorer ;
          ignore_write_errors,            # ignorer les tubes briss.


  # file - distribue le courrier dans des fichiers
  #
  # Utilis implicitement lorsque smail rencontre des adresses qui commencent
  # par un barre de division  /  ou un tilde  ~ , comme  /usr/info/list_me
ssages 
  # ou peut tre  ~/Mail/inbox .

  file:   driver = appendfile,
          return_path, local, from, unix_from_hack;

          file = $user,                   # le nom de fichier est pris dans l'a
dresse
          append_as_user,                 # utilise l'identifiant utilisateur
                                          #   associ avec l'adresse ;
          expand_user,                    # dveloppe ~ et $ dans l'adresse.
          suffix = "\n",
          mode = 0644

  # uux - distribue le courrier au programme rmail sur un site UUCP distant
  #
  # Il est possible, au cours d'une seule transaction UUCP, de distribuer
  # le courrier destin  5 adresses lectroniques.

  uux:    driver = pipe,
          uucp,                           # utilise le format d'adresse de styl
e UUCP ;
          from,                           # fourni une ligne d'enveloppe  From
_  ;
          max_addrs = 5,                  # au plus 5 adresses par appel ;
          max_chars = 200;                # au plus 200 caractres pour une adr
esse ;

          # l'option -r vite une distribution immdiate, les parenthses autou
r de la variable
           # $user empche qu'elle soit interprt par uux.

          cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
          umask = 0022,
          pipe_as_sender


  # uux_one_addr - distribue le courrier par UUCP  un hte distant qui ne peut

  #                accepter qu'une seule adresse  la fois.
  #
  # Cela est souvent ncessaire quand on distribue du courrier  un site qui
  # tourne sous une version non modifie de 4.1BSD.

  uux_one_addr:
          driver = pipe,
          uucp,                           # utilise le format d'adresse de styl
e UUCP ;
          from;                           # fourni une ligne d'enveloppe  From
_  ;

          # l'option -r empche une distribution immdiate ;

          cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
          umask = 0022, pipe_as_sender

  # demand - distribution vers un programme rmail distant, connexion  la deman
de

  demand: driver = pipe,
          uucp, from, max_addrs = 5, max_chars = 200;

          # si l'option -r est omise, essaye de contacter le site distant immd
iatement.
          cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
          umask = 0022, pipe_as_sender

  # uusmtp - distribution vers un programme rsmtp sur un site UUCP distant
  #
  # Distribution via un simple protocol de transfert SMTP par lots
  # vers la machine distante.
  # Ce qui permet d'utiliser des adresses bien plus libres et qui vite les
  # limitations de uux en termes de nombre d'adresses de destination.

  uusmtp: driver = pipe,
          bsmtp,                          # envoi des lots de commandes SMTP ;
          -max_addrs,                     # il n'y a pas de limite sur le nombr
e
          -max_chars;                     # et la taille des adresses de destin
ation ;

    # mettre -r pour que la distribution ne soit pas immdiate ; les adresses d
e
    # destination sont stockes dans les donnes envoyes vers l'entre standar
d de rsmtp.

          cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # demand_uusmtp - distribution vers un programme rsmtp distant, connexion  l
a demande

  demand_uusmtp:
          driver = pipe,
          bsmtp, -max_addrs, -max_chars;

          # si l'option -r est omise, essaye de contacter le site distant immd
iatement.
          cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
          umask = 0022, pipe_as_sender

  # smtp - distribution du courrier en utilisant SMTP sur TCP/IP
  #
  # Se connecte  un hte distant via TCP/IP et initie une conversation SMTP po
ur
  # distribuer un message.
  # Le transport SMTP n'est inclus que si le support rseau BSD est prsent.


  # note : il peut tre ncessaire de restreindre max_addrs  100, puisqu'il
  # s'agit de la limite infrieure qu'une mise en oeuvre de SMTP est tenue de
  # prendre en charge.

  smtp:   driver = smtp,
          -max_addrs,
          -max_chars

  #ident "@(#) table,v 1.2 1990/10/24 05:20:31 tron Exp"

  # Ce fichier indique les transports utiliss pour distribuer le courrier
  #  des htes spcifiques  partir de bargw.

  #host           transport
  #--------       ---------
  curdsgw         demand_uusmtp   # distribue le courrier via des lots de conne
xions SMTP ;
  oldbsd          uux_one_addr    # les sites 4.1BSD ne peuvent accepter plus d
'une adresse ;
  sun             demand          # appelle  sun  lorsqu'il y a du courrier 
 envoyer ;
  *               uux             # pour tous les autres, connexion  intervall
es rguliers.

  Relancer inetd

   Pour lancer smail en tant que dmon SMTP, ajoutez une des lignes
   suivantes dans votre /etc/inetd.conf :
         smtp stream tcp nowait  root  /usr/bin/smtpd smtpd

   ou :
         smtp stream tcp nowait  root  /usr/sbin/tcpd  /usr/sbin/in.smtpd

   Le courrier sortant sera alors envoy automatiquement quand vous
   utiliserez elm.

  Smail et SMTP

   Gnralement les FAI utilisent SMTP. Par consquent, vous ne devriez
   pas avoir de problme pour envoyer votre courrier. Quand vous n'tes
   pas connect  Internet, lorsque vous envoyez un courrier
   lectronique, il est stock dans /var/spool/mail/input. Ensuite, quand
   vous vous connecterez, _runq_ sera lanc et votre courrier envoy.
   Cependant, le vrai problme est la rception de votre courrier puisque
   votre FAI doit s'occuper de plusieurs clients, et non pas uniquement
   de vous !

   Gnralement, vous pouvez rcuprer votre courrier via le protocole
   POP (reportez-vous  la section POP plus bas).

6.3 Sendmail+IDA (attention, cette section n'est pas  jour)

   Pour les gros sites, sendmail est un choix valable, grce  son 
   incroyable facilit d'utilisation  (sentiment trs relatif quand on
   connat qmail), mais vous devrez choisir entre sendmail+IDA et
   sendmail 8.x :

     * Si vous utilisez un vieux noyau (1.0) : sendmail+IDA.
     * Si vous utilisez un noyau un peu moins vieux (1.2) : sendmail+IDA
       et la modification du code source
     * Ceux qui utilisent un noyau rcent (2.0) choisirons sendmail 8.x .

   Attention, les linuxiens dbutants et les personnes proccupes par la
   scurit et la simplicit de configuration devraient plutt essayer
   smail ou qmail, qui sont plus faciles  utiliser et plus scuriss.

  Installation  partir des sources

   Si votre distribution n'est pas fournie avec un paquetage sendmail
   prt--l'emploi (.rpm pour RedHat, Caldera et SuSE, .deb pour Debian)
   tlchargez les sources et lancez :

     * cd / ; tar -zxvf sendmail5.67b+IDA1.5.tgz
     * Placez vous dans le rpertoire /usr/local/lib/mail/CF et
       concatnez les fichiers sample.m4 et local.m4 dans
       _votre_nom_de_machine_.m4.

   ditez _hostname_, _aliases_ et _smarthost_ et placez-y les
   informations correspondant  votre site. Le fichier par dfaut est
   prvu pour un site utilisant uniquement UUCP (ce qui n'est plus le cas
   des versions 8.x), qui a des enttes de domaine et qui dialogue avec
   une machine  de relais postal  (_smarthost_). Ensuite lancez make
   votre_nom_de_machine.cf et copiez le fichier cr dans
   /etc/sendmail.cf.

   Si vous utilisez seulement UUCP, vous n'avez besoin de crer _aucune_
   des tables mentionnes dans le fichier README.linux. Vous n'aurez qu'
   utiliser _touch_ sur les fichiers pour que le Makefile marche. ditez
   ensuite le fichier .m4, lancez make sendmail.cf et testez-le.

   Si votre site utilise uniquement UUCP et que vous dialoguez avec des
   sites autres que votre machine-relais, vous devrez ajouter des entres
   uupcpxtable pour chacun d'entre eux (sinon le courrier qui leur sera
   envoy passera par la machine-relais) et lancer dbm sur la nouvelle
   uucpxtable.

   Si vous utilisez la distribution binaire de Rich Braum de la version
   5.67a, vous devrez lancer /usr/lib/sendmail -bz pour que les
   changements soient pris en compte.

   Vous devriez galement mettre  jour votre version vers au moins la
   5.67b puisque qu'il y a un mchant trou de scurit dans la version
   5.67a et les prcdentes. Un autre point sympathique est que si vous
   activez l'option mail.debug et que vous utilisez syslogd, la liste de
   vos courriers entrants et sortants sera enregistre. Voyez le fichier
   /etc/syslogd.conf/ pour plus de dtails.

   Les sources de sendmail+IDA se trouve sur http://vixen.cso.uiuc.edu ;
   elles ne ncessitent aucun correctif pour tourner sous Linux si vous
   utilisez quelque-chose comme un noyau 1.00.

   Si vous utilisez un noyau dont la version est suprieur  la 1.1.50,
   vous allez devoir vous amuser  enlever tous les correctifs
   spcifiques  Linux qui se trouvent dans les sources officielles. (Je
   vous avais prvenu que ce sendmail tait seulement pour les vieux
   noyaux :-)

   Il est extrmement facile de reprer les endroits  corriger : lancez
   _make_ et quand il vous hurle dessus, allez  la ligne du fichier qu'il
   vous indique et commentez le code spcifique  Linux qui s'y trouve.

   Si vous avez opt pour sendmail+IDA, je vous recommande fortement
   d'utiliser la version sendmail5.67b+IDA1.5, car tous les correctifs
   spcifiques  Linux sont maintenant dans les sources officielles et
   plusieurs trous de scurit qui _taient_ dans les anciennes versions
   que vous auriez rcupres ou compiles avant le 1er dcembre 1993 ont
   t rpars.

   Maintenant que l'on en est au noyau 2.0 (NDT : et mme au 2.4 au
   moment o j'cris ces lignes) vous devriez utiliser sendmail 8.x  la
   place de sendmail+IDA, mais je vous ai dj dit que vous devriez
   choisir sendmail 8.x :-)

  Le fichier sendmail.m4

   Sendmail+IDA se configure par l'intermdiaire du fichier sendmail.m4
   et non directement via le fichier sendmail.cf. Ce qui rend cette faon
   de travailler intressante est que grce  elle, il est simple de
   mettre en place des configurations qui seraient extrmement difficiles
   (voire totalement impossibles)  raliser avec smail ou avec le
   sendmail traditionnel.

   Le fichier sendmail.m4 qui correspond  la configuration smail que
   nous avons dcrite au-dessus ressemble  ceci :

  dnl #------------------ EXEMPLE DE FICHIER SENDMAIL.M4 ------------------
  dnl #
  dnl # La chane  dnl  est utilise comme en-tte d'une ligne de commentaire
s.
  dnl # (Enfin pas exactement, mais utilisez-la pour cela si vous en avez
  dnl #  besoin :-)
  dnl # En gnral, il est prfrable d'viter de remplacer les chemins par
  dnl # dfaut dans LIBDIR
  dnl #define(LIBDIR,/usr/local/lib/mail)dnl   # dossier contenant tous les
  dnl                                          # fichiers de support~;
  define(LOCAL_MAILER_DEF, mailers.linux)dnl   # outil de distribution locale~;
  define(POSTMASTERBOUNCE)dnl                  # les messages retourns sont
  dnl                                          # envoys au ~receveur principa
l~
  dnl                                          # (postmaster)~;
  define(PSEUDODOMAINS, BITNET UUCP)dnl        # ne pas essayer le DNS sur ceux
-ci.
  dnl #
  dnl #-------------------------------------------------------------
  dnl #
  dnl # noms par lesquels nous sommes connus
  define(PSEUDONYMS, machine.sousdomaine.domaine machine.UUCP)
  dnl #
  dnl # notre nom de machine
  define(HOSTNAME, machine.sousdomaine.domaine)
  dnl #
  dnl # notre nom UUCP
  define(UUCPNAME, machine)dnl
  dnl #
  dnl #-------------------------------------------------------------
  dnl #
  define(UUCPNODES, |uuname|sort|uniq)dnl       # nos voisins UUCP~;
  define(BANGIMPLIESUUCP)dnl                    # s'assure que le courrier
  define(BANGONLYUUCP)dnl                       # UUCP est correctement trait~
;
  define(RELAY_HOST, mon_voisin_UUCP)dnl        # notre machine-relais~;
  define(RELAY_MAILER, UUCP-A)dnl               # on atteind notre machine-
  dnl                                           # relais par UUCP
  dnl #
  dnl #--------------------------------------------------------------------
  dnl #
  dnl # les diffentes tables dbm
  dnl #
  define(ALIASES, LIBDIR/aliases)dnl            # les alias systme
  define(DOMAINTABLE, LIBDIR/domaintable)dnl    # machines du domaine
  define(PATHTABLE, LIBDIR/pathtable)dnl        # base de donnes des chemins
  define(GENERICFROM, LIBDIR/generics)dnl       # adresses sources gnriques
  define(MAILERTABLE, LIBDIR/mailertable)dnl    # agents de courrier par machin
e
  dnl                                           # ou par domaine
  define(UUCPXTABLE, LIBDIR/uucpxtable)dnl      # chemin des machines que l'on
  dnl                                           # alimente
  define(UUCPRELAYS, LIBDIR/uucprelays)dnl      # chemins rapides
  dnl #
  dnl #--------------------------------------------------------------------
  dnl #
  dnl # inclut le ~vritable~ code qui fait tout marcher
  dnl # (fournit avec le code source)
  dnl #
  include(Sendmail.mc)dnl                         # entre ncessaire !
  dnl #
  dnl #------------ FIN DE L'EXEMPLE DE FICHIER SENDMAIL.M4 ------- -------

  Choisir un logiciel de distribution locale du courrier

    la diffrence de la plupart des distributions Unix, Linux n'est pas
   fourni avec un agent par dfaut de distribution du courrier local.

   La distribution Slackware est l'exception qui confirme la rgle. Du
   moins, cette fonctionnalit est propos par le script d'installation
   facile--utiliser-mais-de-longue-haleine. C'est procmail qui est
   utilis.

   Actuellement, _deliver_ ou _procmail_ sont en gnral installs, avec
   une configuration par dfaut de sendmail adapte  la distribution du
   courrier local. De sorte qu'aucune difficult additionnelle ne vient
   pimenter une configuration dj trs complexe. Je recommande
   d'utiliser _deliver_ ou _procmail_, qui sont trs faciles  trouver,
   et qui peuvent tre proposs sous la forme de paquetages optionnels
   dans quelques distributions Linux.

   Dans ce but, vous aurez besoin de dfinir _LOCAL_MAILER_DEF_ dans le
   fichier _sendmail.m4_ qui pointe vers un fichier de ce genre :

  # -- /usr/local/lib/mail/mailers.linux --
  #     (agents de distribution locaux pour Linux)
  Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u
  Mprog,  P=/bin/sh,       F=lsDFMeuP,   S=10, R=10, A=sh -c $u

   Il y aussi une option par dfaut d'utilisation de _deliver_ incluse
   dans le fichier Sendmail.mc qui est import par le fichier
   sendmail.cf. Pour vous en servir, n'utilisez pas le fichier
   _mailers.linux_ mais incluez ce qui suit dans votre fichier
   sendmail.m4 :

   dnl --- (dans sendmail.m4) ---
   define(LOCAL_MAILER_DEF, DELIVER)dnl    # agent de distribution locale

   Malheureusement, Sendmail.mc considre que _deliver_ est install dans
   /bin ce qui n'est pas le cas sur une Slackware1.1.1 (il est install
   dans /usr/bin). Dans ce cas, vous aurez besoin soit de crer un lien,
   soit de reconstruire _deliver_  partir des sources pour qu'il rside
   dans /bin.  noter que _procmail_ est gnralement meilleur que
   _deliver_, par exemple pour le filtrage du courrier.

  Tables dbm de sendmail+IDA

   La mise en place de comportements spciaux vers certains sites et
   domaines est ralise via un certain nombre de tables _dbm_ plutt que
   par une modification directe du fichier sendmail.cf.

   Consultez le numro de juillet 1994 du _Linux Journal_ (si vous pouvez
   encore le trouver :-) et rfrez-vous aux docs qui se trouvent dans
   les sources, ou au chapitre sendmail de la nouvelle version de
   _Networking Administration Guide_ du _Linux Documentation Project_ qui
   sera disponible incessamment sous peu.

     * mailertable : dfinit un comportement spcial pour les machines et
       les domaines distants.
     * uucpxtable : force la distribution de courrier via UUCP pour des
       machines qui sont au format DNS.
     * pathtable : dfinit le _bang-paths_ UUCP utilis vers les machines
       ou domaines distants.
     * uucprelays : court-circuite le chemin _pathalias_ vers des
       machines distantes connues.
     * genericfrom : convertit les adresses internes en adresses
       gnriques visibles par le monde extrieur.
     * xaliases : convertit les adresses gnriques vers ou  partir des
       adresses internes.
     * decnetxtable : convertit les adresses RFC-822 en adresses DECnet.

  Quelles sont les entres rellement ncessaires ?

   Quand il n'utilise aucune table dbm optionnelle, sendmail distribue le
   courrier via le _RELAY_HOST_ (machine de relais) et le _RELAY_MAILER_
   (agent de relais) dfini dans le fichier sendmail.m4 utilis pour
   gnrer sendmail.cf. Il est facile de redfinir ce comportement via
   des entes dans domaintable ou uucpxtable.

   Un site gnrique qui est sur Internet et utilise DNS, ou qui
   n'utilise qu'UUCP et fait suivre le courrier via UUCP par une machine
   de relais postal, n'a probablement besoin d'aucune entres dans ces
   tables.

   Virtuellement, tous les systmes devraient dfinir les macrosi
   _DEFAULT_HOST_ et _PSEUDODYMS_ , qui dfinissent le nom canonique du
   site et les alias par lesquels il est connu.

   Si vous n'avez qu'une machine de relais et un agent relais de courrier
   vous n'avez pas besoin de dfinir ces macros puisque cela marche
   automagiquement. Les machines UUCP ncessiteront probablement de
   dfinir _UUCPNAME_ comme leur nom officiel UUCP.

   Vous devrez probablement galement dfinir _RELAY_MAILER_ et
   _RELAY_HOST_ qui active le routage via une machine de relais postal.

   Le type de transport du courrier utilis doit tre dfini dans
   _RELAY_MAILER_. Il devrait tre en gnral _UUCP-A_ pour les sites UUCP
   sites. Si votre site n'utilise que SMTP et utilise un DNS, vous devrez
   changer _RELAY_MAILER_.

   Si vous utilisez SLIP, la manire la plus simple de configurer votre
   site est de faire suivre tout votre courrier sortant vers votre
   fournisseur d'accs  Internet. Pour cela, dfinissez les macros
   _ISOLATED_DOMAINS_ et _VALIDATION_DOMAINS_ pour qu'elles correspondent
    votre nom de domaine. Dfinissez galement _RELAY_HOST_ qui doit
   contenir le nom de la machine de votre fournisseur d'accs  Internet,
   et _RELAY_MAILER_ qui doit contenir _TCP_. Bien sr, vous devez
   obtenir la permission avant d'utiliser une machine en tant que machine
   de relais principale.

6.4 Sendmail 8.x

   Sendmail 8.7.x de Berkeley a t la dernire version importante avant
   Sendmail5. Elle se compilait et se configurait trs simplement sous
   Linux en tapant : make linux.

   Vous feriez probablement mieux de vous procurer une des diffrentes
   distributions binaires sur un site d'archive ddi  Linux plutt que
   des vous battre avec des choses comme Berkeley dbm.

   Il existe une bonne distribution de sendmail 8.6.12 de Jason Haar
   (<j.haar at lazerjem.demon.co.uk>) sur sunsite.unc.edu qui contient
   les documentations d'origine et une petite documentation trs sympa
   qui explique comment utiliser sendmail v8 sur les principales
   configurations.

   L'ide principale de sendmail v8 est que l'on veut configurer le
   strict minimum pour que cela marche. Ce qui suit est un exemple qui
   devrait vous permettre de vous rapprocher de cela.

  Un exemple de fichier mc 8.7.x

   Exactement comme sendmail+IDA, sendmail v8 utilise m4 pour gnrer 
   partir d'un fichier de configuration le fichier sendmail.cf complet
   utilis par sendmail. Voici le fichier mc que j'utilise pour mon site
   (ppp vers Internet pour le courrier sortant et UUCP pour le courrier
   rentrant).

        dnl divert(-1)
        #---------------------------------------------------------------------
        #
        # Voici le fichier .mc pour une machine linux configure comme ceci :
        #
        #       - connect via ppp pour le courrier sortant
        #       - connect via UUCP pour le courrier entrant
        #       - en-tte avec domaine
        #       - aucun agent de courrier local (utilise deliver  la place)
        #       - sans DNS local et donc n'utilise pas le DNS pour transformer
        #         les adresses des courriers sortants en leurs formes canonique
s
        #       - tous les courriers sortants qui ne sont pas locaux passent
        #         par la machine-relais (RELAY_HOST) via SMTP (on utilise ppp
        #         et on laisse notre FAI faire son boulot)
        #
        #                                       vds 3/31/95
        #
        #---------------------------------------------------------------------
        include(`../m4/cf.m4')
        VERSIONID(`machine Linux sans DNS transferant son courrier vers la'dnl
        `machine-relais d'un FAI via slip')dnl
        Cwmachine.mon.domaine machine.UUCP localhost
        OSTYPE(linux)
        FEATURE(nodns)dnl
        FEATURE(always_add_domain)dnl
        FEATURE(redirect)
        FEATURE(nocanonify)
        dnl MAILER(local)dnl
        MAILER(smtp)dnl
        MAILER(uucp)dnl
        define(`RELAY_HOST', smtp:relai.machine.domaine)
        define(`SMART_HOST', smtp:relai.machine.domaine)
        define(`UUCP_RELAY', smtp:relai.machine.domaine)
        define(`LOCAL_MAILER_PATH', `/bin/deliver')
        define(`LOCAL_MAILER_ARGS', `deliver $u')

  Les bons morceaux de Sendmail v8

   Il y a quelques diffrences, je suppose, pour les fanatiques d'IDA.

   Jusqu'ici j'ai trouv la suivante :

    la place de runq, tapez sendmail -q pour traiter la file d'attente.

6.5 Agents de distribution du courrier local (LDA)

    la diffrence de la plupart des systmes d'exploitation, Linux ne
   gre pas le courrier lui-mme : vous avez besoin d'un programme pour
   distribuer le courrier local comme par exemple _lmail_, _procmail_ ou
   _deliver_.

   Cependant, toutes les distributions rcentes sont  prsent fournies
   avec un agent de distribution local.

   La documentation expliquant comment les utiliser pour la distribution
   locale du courrier est incluse dans la distribution binaire de
   sendmail5.67b+IDA1.5 (sur sunsite) mentionn ci-dessus.

7. Administration des lecteurs de courrier lectronique (MUA)

7.1 Mutt

   Vous ne devriez pas avoir de problmes pour compiler, installer et
   lancer mutt. Les utilisateurs de qmail peuvent rcuprer un correctif
   ou le lancer avec l'option _-f_ pour lire leurs boites aux lettres
   locales.

   Si mutt vous embte avec un  unknown terminal error  aprs une mise
    jour de votre distribution, recompilez-le.

7.2 elm

   Elm se compile, s'installe et se lance sans problme sous Linux. Pour
   plus d'informations, reportez-vous aux sources d'elm et aux
   instructions d'installation. Elm et filter ont besoin d'tre en mode
   2755 (groupe mail) avec /var/spool/mail en mode 775 (groupe mail).

   Les utilisateurs de qmail peuvent rcuprer le correctif pour utiliser
   les fonctionnalits bien pratiques de qmail ou lancer elm avec
   l'option _-f_ pour lire leurs botes aux lettres locales.

   Si vous utilisez une distribution binaire, vous aurez besoin de crer
   un fichier /usr/local/lib/elm/elm.rc pour passer outre la nom de la
   machine et les informations de domaine compils en dur :

     * remplacez _sous-domaine.domaine_ par votre nom de domaine ;
     * remplacez _machine_ par le nom de votre machine (sans le nom de
       domaine).

        #---------- /usr/local/lib/elm/elm.rc ------------------
        #
        # nom de machine non qualifi
        hostname = machine
        #
        # nom du domaine local
        hostdomain = sous-domaine.domaine
        #
        # nom de machine qualifi
        hostfullname = machine.sous-domaine.domaine
        #
        #--------------------------------------------------------

   Une chose dont vous devez tre conscient est que si vous avez compil
   elm pour qu'il soit capable de grer le format MIME, vous aurez besoin
   d'installer metamail dans votre chemin, sinon elm ne sera pas capable
   de lire le courrier MIME que vous recevrez. metamail est disponible
   sur http://thumper.bellcore.com et bien sr via archie.

   Dans la catgorie  trop beau pour tre vrai  il existe une
   distribution, d'Elm-2.4.24 qui sait grer PGP. Pour l'essayer,
   rcuprez le fichier
   ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz qui n'est rien
   d'autre que elm 2.4.24 avec l'ajout de PGP. Il se configure et se
   compile de la mme manire que la version normale d'elm, ce qui veut
   dire que vous aurez sans doute  ajouter les correctifs mentionns
   ci-dessus. Pour ce que a cote, je l'utilise ici et je l'aime
   beaucoup. Bien sr, il doit y avoir des version plus rcentes
   disponibles comme par exemple elm-ME+.

   De temps en temps, elm plante avec un message indiquant qu'il n'arrive
   pas  allouer un norme quantit d'octets de mmoire via malloc().
   Pour remdier  cela, enlevez les alias gnraux de courrier
   post-gnrs (aliases.dir et aliases.pag). Bien que ce point ne soit
   pas spcifique  Linux, il est peru comme un bogue gnant d'elm.

   _Ce n'est pas un bogue d'elm_, c'est une erreur dans le configuration
   d'elm utilise par la personne qui a fait la distribution binaire que
   vous utilisez.

   Elm possde, pour les alias, un format amlior et incompatible ;
   ainsi, vous devrez vous assurer que le chemin utilis par elm pour ses
   alias est diffrent de celui utilis par sendmail ou smail. Vu le
   nombre impressionnant de rapport de bogues  propos de ce problme, il
   est fort clair qu'au moins une des distributions majeures ait dans le
   pass fait une erreur de configuration sur ce point. (Ceci m'a t
   signal par Scot W. Stevenson : <scot at catzen.gun.de>.)

   Le paquetage metamail actuel  besoin de csh pour quelques-uns de ses
   scripts. Sans csh (ou tcsh), vous aurez droit  des erreurs des plus
   intressantes...

7.3 Mailx

   Si vous n'avez pas mailx, conomisez vos efforts et rcuprez le kit
   mailx de la Slackware 2.1.0 ou plus, qui a une bonne implmentation de
   mailx5.5. Il se compile sans correctif sous linux si vous avez
   install pmake.

   Si quelqu'un les utilise encore, je lui recommande fortement de virer
   les vieux trucs edmail de la SLS 1.00 et de les remplacer par mailx.

8. Grer le courrier distant

   Cette section dcrit l'utilisation de POP et d'IMAP pour grer le
   courrier distant.

   Parmi les alternatives, on trouve le montage via NFS des zones de
   stockage du courrier sur les machines clientes (Danger Will Robinson !
   Est-ce que tout le monde utilise la mme mthode de verrouillage ?) ou
   bien l'utilisation d'une passerelle courrier-vers-web (une solution
   assez populaire de nos jours).

8.1 Un peu d'histoire

   Sur les rseaux de stations de travail, le courrier a toujours t un
   problme :

     * Soit vous utilisez _utilisateur@ordinateur.lambda.fr_ et, vous
       avez des problmes quand _ordinateur_ est hors service ; vous
       fates connatre les machines qui composent votre rseau  des
       personnes extrieures ; vous utilisez une adresse diffrente par
       ordinateur pour un mme utilisateur ; et ctera.
     * Soit vous utilisez une poste centrale (_mail hub_)
       _machine.lambda.fr_ avec des rgles de rcriture pour que l'on ait
       l'impression que tous utilisateurs envoient leur courrier depuis
       la mme adresse quelque-soit l'ordinateur qu'ils utilisent.

   Mais dans ce cas, comment les utilisateurs peuvent-ils lire leur
   courrier ?

   En utilisant rsh avec elm ? :-)

   Cela surchargerait notre centre de tri ! Une mthode serait de
   rediriger le courrier ou d'utiliser UUCP, SMTP, etc. mais c'est bien
   trop complexe.

   Vinrent ensuite POP et IMAP, tout deux avec des problmes de scurit
   au dbut (qui sont maintenant rgls par l'utilisation ssh sur les
   dernires versions). Pour les utiliser, un agent de transport de
   courrier doit parfois tre install sur la machine de l'utilisateur
   (du style qmail, smail ou vmail si par exemple vous utilisez elm,
   l'utilisation de mozilla vous vitera cela), cependant cela
   simplifiera l'envoi et la rception de courrier.

8.2 Rcuprer le courrier

   Voici le principaux inconvnients de POP :

     * Le mot de passe est envoy en clair sur le rseau.
     * Vous devez choisir l'un des nombreux lecteur de courrier qui
       grent POP (comme Pine, Emacs, Mozilla, Netscape, Mutt, IE,
       Pegasus, Eudora, Claris, etc.).
     * Lorsqu'un utilisateur peut travailler sur de multiples machines,
       le fait que son courrier soit stock sur la machine qu'il a
       utilis la veille peut tre une plaie.
     * Certains serveurs POP (comme qpopper ou ipop2d) sur des serveur
       trs utilis, peuvent freiner significativement la machine.
       Considrez les options de contrle (comme ne pas laisser le
       courrier sur le serveur) et le remplacement de votre serveur pop
       (par cucipop par exemple). vitez galement de lancer votre
       serveur via inetd.

   Le problme du mot de passe peut tre rsolu en utilisant POP au
   travers d'un canal chiffr ou en utilisant les extensions APOP ou
   RPOP. Le problme du lecteur de courrier peut tre rsolu soit en
   changeant de lecteur (ne sous-estimez pas l'effort qu'il faut dployer
   pour rduquer les utilisateurs), soit en utilisant un programme qui
   rapatrie le courrier via POP (comme par exemple fetchmail) associ 
   un agent de distribution local.

   IMAP peut tre prfrable  POP dans diverses situations comme par
   exemple si vous permettez les accs distants (et spcialement pour des
   utilisateurs se connectant de machines diffrentes). Vous pouvez
   galement utiliser POP en restreignant son accs  un rseau local sur
   lequel le vol des mots de passe transitant par le rseau n'est pas 
   craindre. Mark Aitchison nous a signal qu'une faon de faire cela
   tait d'utiliser les fichiers hosts.deny et hosts.allow et de lancer
   votre serveur POP  partir d'inetd (reportez-vous pour de plus amples
   dtails au  Net-3 HOWTO ).

   Le choix de laisser (ou non) le courrier sur le serveur a des
   consquences en termes d'espace disque, de facilit de mise en oeuvre
   des sauvegardes et de la scurit, ainsi que sur la possibilit pour
   un utilisateur donn de se connecter depuis plusieurs machines
   distinctes. Ainsi la meilleure solution dpend de votre type
   d'organisation. Bien sr, cela ne vous garantira pas que votre
   courrier ne puisse pas tre lu, mais personne ne pourra l'effacer ; et
   si votre courrier est chiffr avec PGP, cela en fait une trs bonne
   solution.

   Voici quelques clients POP qui en valent la peine :

     * gwpop (_a Good Way to POP_) est trs scuris car il cre un canal
       chiffr et place le courrier directement dans l'espace de stockage
       ; cependant, il ncessite l'installation de Perl.
     * popclient est facile  utiliser. Par exemple, si votre identifiant
       est _jean_ et votre mot de passe est _AssezSecret_, vous lancerez

$ popclient -3 -v mail.acme.net -u jean -p "AssezSecret" -k -o JOHN-INET-MAIL

       Ceci est fortement dconseill sur les machines
       multi-utilisateurs. En effet, les autres utilisateurs pourraient
       voir votre mot de passe en lanant par exemple ps auxw.
     * fetchmail, qui est activement support et incroyablement facile 
       utiliser. On le configure grce au fichier ~.fetchmailrc. Ainsi,
       vous n'aurez qu' lancer fetchmail quand vous voudrez rapatrier
       votre courrier. Voici mon .fetchmailrc :

poll mail.server protocol pop3:
        forcecr
        password AssezSecret;

       L'option _forcecr_ est requise pour utiliser fetchmail avec qmail
       qui respecte strictement les RFC.

8.3 Envoyer du courrier

   Pour cela, vous devrez utiliser un programme grant SMTP comme par
   exemple qmail, smail, vmail ou mozilla (ce dernier fait tout : lecture
   du courrier, rapatriement du courrier via POP et envoie du courrier
   via SMTP).

   Reportez-vous  l'une des sections prcdentes pour installer et
   configurer celui que vous prfrez. Ensuite, quand vous atteindrez la
   section _Tester_, essayer d'envoyer un courrier lectronique sur un
   compte local de votre passerelle de courrier.

8.4 Lire le courrier

   Si votre programme ne fait pas tout lui-mme, vous pouvez installer
   elm, pgp, mush, pine, etc. Beaucoup de bons programmes sont
   disponibles librement et gratuitement pour les plate-formes Linux.

8.5 Tester

   Pour vrifier si votre serveur POP est bien install tapez

$ telnet machine 110

   Si cela marche, vous obtiendrez quelque chose du genre  OK Pop server
   (...) starting . Tapez  quit  !

   Pour installer un canal ssh chiffr, testez d'abord votre serveur de
   courrier en tapant

$ ssh machine date

   Si vous obtenez la date, cela devrait tre bon. Remarquez que ssh ne
   vous demandera pas de mot de passe, en consquence, vous devrez crer
   un fichier .shosts sur le serveur de courrier, contenant le nom du
   client. Pour tester la redirection de port ssh (que wgpop utilise),
   tapez

$ ssh -n -f -L 12314:localhost:110 machine sleep 30

   puis

$ telnet localhost 12314

   Alors vous aurez bon espoir de voir la bannire de la poste centrale
   POP. Si vous n'utilisez pas ssh, n'oubliez pas de commenter $ssh dans
   le script gwpop. Pour vrifier si procmail tourne essayez procmail~-v.

8.6 Utilisation

   Maintenant vous pouvez diter le script Perl gwpop pour vrifier que
   tout va bien, puis lancez gwpop :

$ gwpop -v votre-nom-d'utilisateur
POP password on mailhost: votre-mot-de-passe-secret

   Si les  messages d'erreurs  de gwpop vous parraissent normaux, le
   courrier sera tlcharg depuis votre poste principal et plac sur
   votre machine locale  l'endroit que vous aurez indiqu  gwpop
   (fates des tests avec quelques courriers lectroniques).

   Vous pouvez aussi utiliser gwpop en tant que dmon :

$ gwpop -d $HOME/tmp votre-nom-d'utilisateur

   Les messages de gwpop seront envoys  syslog et gwpop tournera
   indfiniment en tche de fond ; un signal HUP forcera gwpop  aller
   chercher votre courrier.

   Vous pouvez tlcharger les logiciels pop utiliss ici sur :

     * ftp://ftp.unina.it/pub/Unix/pkgs/network/mail/gwpop
     * ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail
     * http://www.cs.hut.fi/ssh/

9. Remerciements

   Les personnes suivantes ont aid  rassembler les informations et les
   expriences qui ont rendu possible l'criture de ce document :

   Steve Robbins, Ian Kluft, Rich Braun, Ian Jackson, Syd Weinstein, Ralf
   Sauther, Martin White, Matt Welsh, Ralph Sims, Phil Hughes, Scot
   Stevenson, Neil Parker, Stephane Bortzmayer et spcialement merci 
   Vince Skahan pour sa large contribution.

   Eric S. Raymond a revu ce document, a corrig diffrentes fautes et a
   intgr la section _How Electronic Mail Works_ de son Mail User's
   HOWTO.

   Hitoshi Hayakawa a vrifi la section sur qmail, Jun Morimoto a ajout
   plusieurs remarques  propos de popclient et de fetchmail et Takeo
   Nakano qui  forc ispell  vrifier l'orthographe de ce document :-)

   Si j'ai oubli quelqu'un, toutes mes excuses : envoyez-moi un courrier
   lectronique.
