Le HOWTO sur le Courrier Electronique
 Guylhem Aznar guylhem at danmark.linux.eu.org v2.0 (Adapta�
 tion fran�aise par Gacquer Fr�d�ric gacquer at neuronnex�
 ion.fr) 15 juin 1998 V 0.9 (Puis relu par ...)
 Janvier 1998

 Ce document d�crit l'installation, la maintenance et l'utilisation du
 courrier �lectronique sous linux. Ce document vous sera utile si vous
 envisagez de communiquer localement ou vers des sites distants via le
 courrier �lectronique. Vous n'aurez vraisemblablement *pas* besoin de
 lire ce document si vous n'�changez pas de courriel avec d'autres
 utilisateurs, sur votre syst�me ou avec d'autres sites.
 ______________________________________________________________________

 Table des mati�res



















































 1. Introduction, copyright et avertissement (Disclaimer)

    1.1 Le courrier �lectronique et le courrier non sollicit� (spamming)
    1.2 Objectif
    1.3 Nouvelles versions
    1.4 Vos impressions
    1.5 Copyright
    1.6 Garantie limit�e

 2. Autres sources d'information

    2.1 USENET
    2.2 Les listes de diffusion
    2.3 Les autres documents de LDP.
    2.4 Livres

 3. Configuration requise

    3.1 Mat�riel
    3.2 Logiciels

 4. Smail v3.1

    4.1 Configurer smail
    4.2 Le fichier
    4.3 Le fichier
    4.4 Le fichier
    4.5 Le fichier
    4.6 Le fichier
    4.7 Le r�pertoire
    4.8 D'autres bons exemples
    4.9 Relancer inetd
    4.10 Smail et smtp

 5. Sendmail+IDA

    5.1 Installation du source
    5.2 Le fichier
    5.3 D�finir un agent de courriel local
    5.4 Les tables dbm de sendmail+IDA
    5.5 Bon quelles entr�es sont vraiment n�cessaires ?
    5.6 Sendmail 8.x
    5.7 Un fichier mc d'exemple pour la 8.7.x
    5.8 Les .... de Sendmail v8
    5.9 Les agents distributeurs locaux

 6. Le courriel POP

    6.1 Historique
    6.2 R�cup�rer son courrier
    6.3 Envoyer du courrier
    6.4 Lire son courriel
    6.5 Tests
    6.6 Utilisation

 7. Les "agents utilisateurs" de Courriel

    7.1 Elm
    7.2 Mailx
    7.3 D'autres agents utilisateurs

 8. Remerciements




 ______________________________________________________________________

 11..  IInnttrroodduuccttiioonn,, ccooppyyrriigghhtt eett aavveerrttiisssseemmeenntt ((DDiissccllaaiimmeerr))



 11..11..  LLee ccoouurrrriieerr ��lleeccttrroonniiqquuee eett llee ccoouurrrriieerr nnoonn ssoolllliicciitt�� ((ssppaammmmiinngg))


 Premi�rement, convertir tous les "at" dans les courrier �lectroniques
 par des "@".

 C'est plus simple pour les humains, mais pas pour les automates
 indexant le web pour spammer; De plus c'est suffisant pour emp�cher
 les g�n�reux collaborateurs d'�tre spamm�s !


 11..22..  OObbjjeeccttiiff


 Le but de ce document est de r�pondre � quelques questions et
 commentaires et correspond � la d�finition de la "Foire Aux
 Questions", sur les logiciels de courriel sous Linux en g�n�ral, et la
 version des distributions Linux Debian et Redhat en particulier.


 11..33..  NNoouuvveelllleess vveerrssiioonnss

 Les nouvelles versions de ce document seront r�guli�rement post�es sur
 comp.os.linux.announce, comp.answers et mail.answers. Ils seront
 ajout�s dans plusieurs sites ftp anonymes qui archivent en particulier
 ces documents, notamment sunsite.unc.edu:/pub/Linux/docs/HOWTO.

 De plus, vous pourrez en g�n�ral trouver ce document � la page
 d'accueil de Linux WorldWideWeb �
 <http://sunsite.unc.edu/mdw/linux.html>.


 11..44..  VVooss iimmpprreessssiioonnss

 Vos impressions, par courriel, concernant ce document m'int�ressent,
 qu'elles soient positives ou n�gatives. Pr�cis�ment, contactez moi si
 vous trouvez des erreurs ou d'�videntes omissions.

 Je lis, mais ne r�ponds pas forc�ment, � tous les courriels que je
 re�ois. Les demandes d'am�lioration seront examin�es et prises en
 compte selon la formule du temps disponible, l'int�ret de la demande
 et ma pression art�rielle du jour :-)

 Les remarques d�sobligeantes, courriels incendiaires (flames) iront
 gentimment dans /dev/null donc pas de probl�me.

 Les remarques concernant le format en cours doivent �tre adress�es au
 coordinateur du HOWTO : Greg Hankins (gregh at sunsite.unc.edu).


 11..55..  CCooppyyrriigghhtt

 Le HOWTO du Mail est sous copyright (c) 1998 Guylhem Aznar. Il est
 distribu� sous la licence de copyright LDP. Pour toutes questions,
 veuillez contacter Guylhem Aznar, le coordinateur du Linux HOWTO, �
 gregh at sunsite.unc.edu.




 11..66..  GGaarraannttiiee lliimmiitt��ee

 Bien s�r, je d�savoue tout responsabilit� pour le contenu de ce
 document.  L'utilisation des concepts, exemples, et/ou autre contenu
 de ce document est enti�rement � votre risque.


 22..  AAuuttrreess ssoouurrcceess dd''iinnffoorrmmaattiioonn


 22..11..  UUSSEENNEETT

 Il n'y a rien de "particulier" pour configurer et utiliser les
 logiciels de courrier sous linux (plus maintenant). Donc, vous n'aurez
 certainement *PAS* � poster des questions relatives au courrier
 �lectronique dans le forum de discussion g�n�rique comp.os.linux.*.

 Ne postez pas dans la hi�rarchie de comp.os.linux sauf si c'est
 r�ellement li� � linux, comme par exemple : "Avec quelles options ont
 �t� compil� le sendmail de la Debian 1.2 ?" ou "Le smail de la Redhat
 5.0 se plante quand je l'ex�cute".

 Laisser moi le redire.

 Dor�navant il n'y a virtuellement aucune raison de poster quoi que ce
 soit, de relatif au courriel, dans la hi�rarchie comp.os.linux. Il
 existe des forums de discussion dans la hi�rarchie comp.mail.* qui
 r�pondront � *TOUTES* vos questions.

 SI VOUS POSTEZ DES QUESTIONS QUI NE SONT PAS SPECIFIQUES A LINUX DANS
 COMP.OS.LINUX.*, VOUS CHERCHEZ DE L'AIDE AU MAUVAIS ENDROIT. LES
 EXPERTS DU MEL SE NICHENT DANS LES ENDROITS INDIQUES CI-DESSUS ET EN
 GENERAL N'UTILISENT PAS LINUX.

 POSTER DES QUESTIONS NON RELATIVES A LINUX DANS LA HIERARCHIE LINUX
 GACHE VOTRE TEMPS ET CELUI DES AUTRES ET ALLONGE FREQUEMENT LE DELAI
 DE REPONSE A VOTRE QUESTION.

 LES BONS ENDROITS sont :

 �  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          Discussions g�n�rales � propos du courrier
    �lectronique.

 �  comp.mail.multi-media   Le courrier �lectronique multim�dia.

 �  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
    environnement uucp.


 22..22..  LLeess lliisstteess ddee ddiiffffuussiioonn

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


 Vous trouverez les adresses dans /usr/doc/celuiquevousavezchoisi.


 22..33..  LLeess aauuttrreess ddooccuummeennttss ddee LLDDPP..

 Il y a plusieurs �l�ments essentiels fournis dans les autres documents
 HOWTO de linux et du projet DOC de linux.

 En particulier, vous pouvez jetez un oeil � :

 �  Sur votre propre syst�me dans /usr/doc/smail ou /usr/doc/sendmail
    :-)

 �  Le Guide d'Administration R�seau de Linux.

 �  Le HOWTO Communication S�rie

 �  Le HOWTO Ethernet

 �  Le HOWTO UUCP si vous �tes aliment� via UUCP.


 22..44..  LLiivvrreess

 Ce qui suit est une liste non exhaustive qui pourra vous aider :

 �  "Managing UUCP and USENET" de O'Reilly and Associates est selon moi
    le meilleur ouvrage disponible pour r�soudre les programmes et les
    protocoles impliqu�s dans un site USENET.

 �  "Unix Communications" de 'The Waite Group' contient bonne une
    description de tous les �l�ments (et plus) et comment ils
    s'imbriquent.

 �  "Sendmail" de O'Reilly and Associates semble �tre la r�f�rence la
    plus compl�te sur Sendmail-v8 et sendmail+IDA. C'est un
    incontournable pour quiconque souhaite comprendre sendmail sans
    perdre son calme. Il existe en version fran�aise sous le titre
    "Sendmail seconde �dition" (NDT).

 �  "The Internet Complete Reference" d'Osborne est livre de r�f�rence
    d�taill� qui explique les services vari�s disponible sur Internet
    et est une excellent source d'information sur les forums de
    discussion, le courrier �lectronique et divers autres ressources
    Internet.

 �  "The Linux Networking Administrators' Guide" d'Olaf Kirch du Projet
    de Documentation Linux (LDP) est disponible sur le net. Il est
    publi� (au moins) par O'Reilly et SSC. Existe en version fran�aise
    sous le titre "Guide d'administration r�seau sous linux" (NDT).



 33..  CCoonnffiigguurraattiioonn rreeqquuiissee

 33..11..  MMaatt��rriieell

 Il n'y a pas de configuration mat�rielle sp�cifique pour le courriel
 sous Linux.

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

 Cela peut signifier aussi que vous aurez besoin d'un modem ou d'une
 carte ethernet, suivant votre installation.
 Dans la plupart des cas, vous pourrez souhaiter le modem le plus
 rapide possible, soit aujourd'hui 57600 bps. En g�n�ral, vous voudrez
 une UART 16550 sur votre carte s�rie ou impl�ment�e dans votre modem
 pour g�rer les vitesses sup�rieures � 9600 baud.

 Si vous ne voyez ce que signifie cette derni�re phrase, veuillez
 consultez le groupe comp.dcom.modems ou les diff�rentes excellentes
 FAQ (Foire Aux Questions) sur les modems et les communications s�ries.
 Ainsi que les courriels post�s sur USENET.

 33..22..  LLooggiicciieellss

 Bon, le probl�me est l�. Que pouvons nous faire avec les logiciels de
 courrier �lectronique ?

 �  Nombre de sites

    Alimenter � plus de 100 sites avec des options compliqu�es pour les
    noms de domaines ? Prendre sendmail !

    Alimenter � moins de 100 sites sans avoir � trop jouer avec les
    noms de domaines ?  Prendre smail !

 �  S�curit�

    Alimenter � plus ou moins 100 sites mais avec une s�curit� �lev�e ?
    Prendre qmail !

    Alimenter moins de 100 sites mais avec un niveau normal de s�curit�
    ? Prendre smail !

 �  Diff�rentes mani�res de recevoir du courrier �lectronique

 Alimenter et �tre aliment� par UUCP ou FIDO (via ifmail) ? Alimenter
 ou �tre aliment� par POP et le SMTP internet ? Prendre smail !

 Bien s�r, vous �tes libre de choisir n'importe quel logiciel de
 courrier �lectronique, les informations que vous trouverez ici ne sont
 l� que pour vous aidez dans votre choix. Sendmail est parfait pour
 beaucoup de sites avec des options compliqu�es, qmail est parfait pour
 une s�curit� �lev�e ; l'interm�diaire entre sendmail et qmail est
 smail, le meilleur compromis. Si vous savez ce que vous faites,
 choisissez sendmail (et vous ne devriez pas lire un HOWTO !) ; sinon
 Je recommende en g�n�ral smail.

 44..  SSmmaaiill vv33..11

 Smail3.1 semble un standard de fait comme agent de transport pour des
 sites n'utilisant que uucp, ainsi que pour quelques sites smtp. Il est
 facile � configurer, compile sans avoir � patcher les sources et il
 est assez s�r.

 44..11..  CCoonnffiigguurreerr ssmmaaiill

 Installez les binaires smail � partir de votre distribution (je vous
 recommande cette fa�on) ou r�cup�rez les sources de smail et compilez
 le. Si vous compilez smail � partir des sources, vous devrez avoir ce
 qui suit dans votre fichier os/linux pour que 'sed' vous donne des
 scripts qui fonctionnent correctement.


      CASE_NO_NEWLINES=true




 Une fois configur�, le fichier config ira certainement dans /etc/smail
 (mais votre configuration peut �tre diff�rente si vous utilisez
 d'anciennes distributions) ; Editons les !


 44..22..  LLee ffiicchhiieerr ccoonnffiigg




             # From
             smart_path=polux
             smart_transport=uux

             # To
             hostname=danmark
             domains=linux.eu.org

             visible_name=danmark.linux.eu.org
             uucp_name=danmark.linux.eu.org

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




 Bon, tout d'abord, qui vous alimente ? "polux" m'alimente via uucp
 (c'est-�-dire par transport uux); naturellement vous aurez besoin de
 changer ce fichier selon votre propre organisation. Par exemple,
 "bargw.bar.foobar.com" pourrait vous alimenter via "smtp", dans ce cas
 vous n'avez pas besoin de fichier de transport et pouvez d�finir
 "-transport_file" pour indiquer que vous n'en avez pas besoin.

 Vous pouvez aussi utiliser "postmaster_address = votrenom", cacher la
 topologie du r�seau pour les adresses sortantes (si vous �tes une
 passerelle) en utilisant "visible_name", positionner quelle adresse
 d'alias pourra aussi �tre utilis�e pour le courriel que vous recevez,
 en utilisant "more_hostnames".

 Lire la documentation smail pour plus de d�tails ou les exemples dans
 /usr/doc/smail/examplespour voir si l'un d'eux correspond � votre
 situation.


 44..33..  LLee ffiicchhiieerr ddiirreeccttoorrss



















   # aliasinclude - d�veloppe les adresses ":include:filename" produite par les fichiers
   # alias.
   # Cette entr�e et la suivante sont du r�chauff�. Les raisons
   # d'un changement significatif sont mineures. Leur unique raison est
   # de reconnaitre et de d�velopper les adresses de la forme :
   #       :include:pathname
   # qui peuvent apparaitre dans les fichiers alias ou les fichiers de listes de
   # diffusions/faire suivre (produite par toute directive dont le pilote (driver)
   # est forwardfile).
   aliasinclude:
           driver = aliasinclude,          # utiliser ce pilote pour le cas sp�cial
           nobody;                         # associer l'utilisateur nobody avec les adresses
                                           #  si violation de permissions moyenne (???)
                                           # sont rencontr�es
           copysecure,                     # prendre les permissions du directeur alias
           copyowners,                     # prendre le droit propri�taire du directeur alias

   # forwardinclude - d�veloppe les adresses ":include:filename" produites
   # par les fichiers forward
   forwardinclude:
           driver = forwardinclude,        # utiliser ce pilote pour cas sp�cial
           nobody;
           copysecure,                     # prendre les permissions du directeur forwarding
           copyowners,                     # prendre le droit propri�taire du directeur
                                           #  forwarding

   # aliases - cherche � d�velopper les alias stock�s dans la base de donn�e
   # C'est le fichier aliases standard. Il est utilis� pour les affaires courantes,
   # comme mapper root, postmaster, MAILER-DAEMON et uucp aux administrateurs de site,
   # cr�er quelques petits syst�mes de d�veloppement d'alias, ou autres. Dans
   # cette configuration de site, le fichier aliases est utilis� principalement
   # pour des informations d'aliases/forwarding li�s aux machines. Les informations g�n�rales
   # pour faire suivre le courrier doivent �tre mises dans la base de donn�e "forward".
   aliases:
           driver=aliasfile,               # directeur d'alias g�n�raliste
           -nobody,                        # toutes les adresses sont associ�s � nobody
                                           # par d�faut, donc mettre l'option
                                           # n'est pas tr�s utile.
           sender_okay,                    # ne pas enlever l'exp�diteur lors des
                                           # d�veloppements d'adresses.
           owner=owner-$user;              # les probl�mes vont � une adresse propri�taire
           file=/etc/aliases,
           modemask=002,                   # l'acc�s en �criture ne doit pas �tre autoris� � tous
           optional,                       # ignore si le fichier n'existe pas
           proto=lsearch,                  # fichier ASCII non tri�.

   # forward - chercher � d�velopper selon le contenu de la base forwarding
   # C'est la base de forwarding utilisateur pour un grand sous-domaine.
   # Les entr�es sont gard�es ici pour les utilisateurs en cours ou pass�,
   # pour faire suivre leur courrier � leur machine pr�f�r�e. La base forward
   # est install�e sur la couche r�seau TCP/IP lors des changements, pour
   # garder le r�seau consistent.
   #forward:
   #       driver = aliasfile,             # Directeur d'alias g�n�raliste
   #       -nobody,                        # toutes les adresses sont associ�s � nobody
   #                                       # par d�faut, donc mettre l'option
   #                                       # n'est pas tr�s utile.
   #       owner = real-$user;             # les probl�mes vont � une adresse propri�taire
   #
   #       file = /etc/forward,
   #       modemask = 002,
   #       proto = dbm,                    # Utiliser la librairie dbm(3X) pour les acc�s.

   # dotforward - d�veloppe les fichiers .forward dans les r�pertoires personnels
   #  des utilisateurs.
   # Pour les utilisateurs qui ont une entr�e dans la base "forward", un fichier
   # .forward n'est utilis� que sur la machine personnelle, comme identifi�e
   # dans la base forward. Si c'est utilis�, c'est trait� comme une liste d'adresse
   # indiquant � qui doit �tre envoy� les courriels, plut�t (ou en plus) qu'�
   # l'utilisateur r�f�renc� dans l'adresse locale.
   dotforward:
           driver = forwardfile,           # le directeur g�n�raliste forwarding
           owner = postmaster, nobody, sender_okay;

           file = ~/.forward,              # Le fichier .forward dans le r�pertoire personnel
           checkowner,                     # l'utilisateur peut �tre propri�taire de ce fichier
           owners = root,                  # ou bien root
           modemask = 002,                 # Ne doit pas �tre accessible � tous en �criture
           caution = daemon:root,          # ne rien ex�cuter en tant que root ou daemon
           # �tre tr�s attentif aux acc�s � distance des r�pertoires utilisateurs (?)
           unsecure = "~uucp:/tmp:/usr/tmp:/var/tmp"

   # forwardto - d�veloppe le "Forward to " dans les fichiers bo�tes aux lettres utilisateur
   # Cela �mule le m�chanisme du suivi de courrier V6/V7/System-V qui utilise
   # une ligne des adresses forward au d�but des fichiers boites aux lettres (BAL) utilisateur
   # avec comme pr�fixe la cha�ne "Forward to "
   forwardto:
           driver = forwardfile,
           owner = postmaster, nobody, sender_okay;

           file = /var/spool/mail/${lc:user},      # pointe sur la BAL utilisateur
           forwardto,                      # autorise la fonction "Forward to "
           checkowner,                     # l'utilisateur peut �tre propri�taire de ce fichier
           owners = root,                  # ou root
           modemask = 0002,                # sous System V, le groupe mail � la permission �crire
           caution = daemon:root           # ne rien ex�cuter sous root ou daemon

   # user - apparie un utilisateur sur l'h�te local et d�livre le courrier
   # dans leur bo�te aux lettres (BAL).
   user:   driver = user;                  # pilote pour apparier les utilisateur
           transport = local               # le transport local va dans les BALs

   # real_user - apparie les utilisateurs pr�fix�s avec la cha�ne "real-"
   # Tr�s utile pour permettre � une adresse de d�livrer expllicitement dans
   # une BAL utilisateur. Par exemple, les erreurs dans le d�veloppement d'un fichier
   #.forward pourra �tre d�livrer ici, ou des boucles de suivi de courrier entre
   # plusieurs machines peuvent �tre r�solues en utilisant une adresse real-utilisateur.
   # Aussi, les utilisateurs ui souhaite utiliser le courriel comme moyen de transfert de
   # donn�es vers une machine qui n'est pas leur machine personnelle peuvent envoyer un
   # courriel � real-nom-de-login@h�te-distant.
   real_user:
           driver = user;
           transport = local,
           prefix = "real-"                # par exemple, apparie real-root

   # lists - d�veloppe les listes de diffusion stock�es dans le r�pertoire list
   # Les listes de diffusions peuvent �tre cr�es simplement en cr�ant un fichier
   # dans le r�pertoire /etc/smail/lists.
   lists:  driver = forwardfile,
           caution,                        # transmet toutes les adresses avec pr�caution
           nobody,                         # puis associe l'utilisateur nobody
           owner = owner-$user;            # Les sites system V peuvent vouloir utiliser
                                           # o-$user, puisque owner-$user peut �tre
                                           # trop long pour un fichier de 14 caract�res.
           file = lists/${lc:user}         # Les listes sont sous $smail_lib_dir

   # owners - d�veloppe les listes de diffusion stock�es dans le r�pertoire list owner.
   # Les listes de diffusion listes propri�taires peuvent �tre simplement cr�es en
   # cr�ant un fichier dans le r�pertoire /etc/smail/lists/propri�taire. Les listes de
   # diffusion propri�taires sont envoy�es localement, les erreurs g�n�r�es s'arrangent
   # avec la liste de diffusion du m�me nom. Pour cr�er une liste propri�taire pour une
   # liste de diffusion,  cr�er un fichier avec le nom de la liste dans
   # /etc/smail/lists/propri�taire. Cela va cr�er une adresse de liste de nom
   # propri�taire-nom_de_liste, comme utilis�e par le directeur "lists" plus haut.
   owners: driver = forwardfile,
           caution,                        # transmet toutes les adresses avec pr�caution
           nobody,                         # puis associe l'utilisateur nobody
           owner = postmaster;             # Les sites system V peuvent vouloir utiliser
                                           # o-$user, puisque owner-$user peut �tre
                                           # trop long pour un fichier de 14 caract�res.
           prefix = "owner-",
           file = lists/owner/${lc:user}   # Les listes sont sous $smail_lib_dir

   # request - d�veloppe les listes de diffusions stock�es dans un r�pertoire de liste
   # de requ�te. Les listes de diffusion listes de requ�te peuvent �tre cr�es simplement
   # en cr�ant un fichier dans le r�pertoire /etc/smail/lists/request. Les adresses requ�te
   # sont utilis�es typiquement comme adresse standard pour les interrogations � propos
   # d'une liste de diffusion. Par exemple, les requ�tes pour s'abonner ou se d�sabonner
   # d'une liste seront g�n�ralement envoy�es � "list-request", qui devra �tre configur�e
   # pour faire suivre le courrier � la ou les personnes appropri�es.
   request: driver = forwardfile,
           caution,                        # transmet toutes les adresses avec pr�caution
           nobody,                         # puis associe l'utilisateur nobody
           owner = postmaster;             # Les sites system V peuvent vouloir utiliser
                                           # o-$user, puisque owner-$user peut �tre
                                           # trop long pour un fichier de 14 caract�res.
           suffix = "-request",
           file = lists/request/${lc:user} # les listes sont sous $smail_lib_dir





 44..44..  LLee ffiicchhiieerr ffiiddooppaatthhss

 Cr�ez un tel fichier seulement si vous utilisez ifmail et FIDO.


 44..55..  LLee ffiicchhiieerr rroouutteerrss





























 # forces - forcer certains chemins d'acc�s
   # L'existence de cette base de donn�e est un moyen de coder en dur les chemins des
   # diverses machines ou domaines. Utilis� pour cr�er des distorsions temporaires
   # des autres bases de donn�es de routage (?). Pour changer la base, �diter le
   # fichier maps/force.path puis faire un "make" dans le sous-r�pertoire maps/
   forces:
           driver = pathalias,             # route au fichier de recherche de chemins
           method = /etc/smail/maps/table; # Les parties transports sont dans ce fichier
           file = forcepaths,              # fichier d'information contenant le for�age de
                                           #  chemins
           proto = lsearch,                # utilise le fichier de chemin tri�
           optional,
           reopen                          # ferme quand pas utilis�

   uucp_neighbors:
           driver=uuname,                  # utilise un programme renvoyant les voisins
           transport=uux;
           cmd="/usr/bin/uuname -a",       # sp�cifiquement, utilise le programme uuname
   #        domain=uucp                    # enl�ve le suffixe ".uucp"

   # smart_host - un directeur sp�cifique particulier d'h�te intelligent
   # Si l'attribut smart_path du fichier de configuration est d�fini comme
   # chemin entre l'h�te local et l'h�te distant, alors les noms d'h�tes
   # qui ne seraient pas reconnus sinon seront envoy�es au ?. L'attribut
   # du fichier de configuration smart_transport peut �tre utilis� pour
   # indiquer un transport diff�rent.
   # Si l'attribut smart_path n'est pas sp�cifi�, ce routeur (?) est ignor�.
   smart_host:
           driver = smarthost,             # Pilote du cas sp�cial (?)
           transport = uux                 # Par d�faut livre via UUCP
   #       path=phreak

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




 Vous ne devez include la partie ifmail que si vous l'utilisez pour les
 courriels FIDO.  A noter, vous pouvez aussi changer le mode de
 transport de "uux" (c'est-�-dire UUCP) pour, par exemple, "smtp" ou
 m�me coder en dur les chemins vers diff�rentes machines ou domaines
 dans /etc/smail/maps/table.


 44..66..  LLee ffiicchhiieerr ttrraannssppoorrttss
















   # local - d�livre le courriel aux utilisateurs locaux
   # Indique � smail d'ajouter directement dans les fichiers BAL dans le r�pertoire
   # /var/spool/mail
   #local: driver = appendfile,            # ajoute le message � un fichier
   #       -return_path,                   # ajoute le champ  Return-Path:
   #       local,                          # utiliser la forme locale pour la livraison
   #       from,                           # Ajoute la ligne d'enveloppe From_
   #       unix_from_hack;                 # ins�re > avant From dans le corps
   #
   #       file = /var/spool/mail/${lc:user},      # Utiliser cet emplacement pour Linux
   #                                               # A noter, le spool courriel doit �tre 1777
   #       file = ~/mailfile,       # Utiliser cet emplacement pour une s�curit� accrue
   #       group = mail,            # groupe pour �tre propri�taire des fichiers pour System V
   #       mode = 0660,             # sous System V, le groupe mail doit pouvoir acc�der
   #       suffix = "\n",           # ajouter un code nouvelle ligne suppl�mentaire
   #       append_as_user,

   # Cela permet � chaque utilisateur d'avoir un fichier ~/.procmailrc pour contr^oler
   # le filtrage du courriel et sauver le courriel des listes de diffusions dans des BAL
   # s�par�es s'ils le souhaitent
   local:  +inet,
           -uucp,
           driver = pipe,                  # ajoute un message � un fichier
           return_path,                    # inclue un champ Return-Path:
           local,                          # utilise la forme locale pour la livraison
           from,                           # Ajoute la ligne d'enveloppe From_
           unix_from_hack;                 # ins�re > avant From dans le corps

           cmd = "/usr/bin/procmail",      # utilise procmail pour d�livrer le courrier local
           parent_env,                     # environment info from parent addr
           pipe_as_user,                   # utilise le user-id associ� avec l'adresse
           umask = 0022,                   # umask pour le processus fils
   #       -ignore_status,                 # On devrait croire au code de retour
   #       -ignore_write_errors,           # r�essayer si un tube est cass�

   # pipe - d�livre le courriel � des commandes shells.
   # Cela est utilis� implicitement quand smail rencontre des adresses commen�ant
   # avec un caract�re barre verticale, comme "|/usr/lib/news/recnews talk.bizarre".
   # La barre verticale est enlev�e de l'adresse avant d'�tre transmise au transport.
   #pipe:  driver = pipe,                  # tuber le message � un autre programme
   #       return_path, local, from, unix_from_hack;
   #
   #       cmd = "/bin/sh -c $user",       # envoyer l'adresse au Bourne Shell
   #       parent_env,                     # les info d'environnement de l'adresse parent
   #       pipe_as_user,                   # utilise le user-id associ� avec l'adresse
   #       umask = 0022,                   # umask pour le processus fils
   #       -log_output,                    # ne pas enregistrer stdout/stderr dans les logs
   #       ignore_status,                  # le code de retour peux �tre faux, l'ignorer
   #       ignore_write_errors,            # ignorer les tubes cass�es.

   # file - d�livrer le courrier dans des fichiers
   # Utilis� implicitement lorsque smail rencontre des adresses qui commencent
   # par un slash (/) ou un caract�re unique, comme  "/usr/info/list_messages"
   # ou peut �tre "~/Mail/inbox".
   #file:  driver = appendfile,
   #       return_path, local, from, unix_from_hack;
   #
   #       file = $user,                   # le fichier est pris dans l'adresse
   #       append_as_user,                 # utilise le user-id associ� avec l'adresse
   #       expand_user,                    # d�veloppe ~ et $ dans l'adresse
   #       check_path,
   #       suffix = "\n",
   #       mode = 0644
   # uux - deliver to the rmail program on a remote UUCP site
   #
   # Dans une transaction UUCP on peut d�livrer � l'h�te distant jusqu'�
   # cinq adresses destinataires
   uux:    driver = pipe,
           -uucp,
           inet,
   #       uucp,                           # utilise la forme d'adresse style UUCP
           from,                           # fourni une ligne d'enveloppe From_
           max_addrs = 5,                  # au plus 5 adresses par invocation
           max_chars = 200;                # au plus 200 caract�res d'adresses
   # le drapeau -r la livraison imm�diate, des parenth�ses autour de la variable
   # $user emp^eche l'interpr�tation des caract�res sp�ciaux 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 cass�s.
           umask = 0022,
   #       pipe_as_sender,

   # uux_one_addr - d�livre le courrier par UUCP � un h�te distant qui ne peut
   #                prendre qu'une adresse � la fois.
   # Cela est souvent n�cessaire quand on livre le courrier � un site qui
   # tourne sous une version non modifi�e de 4.1BSD.
   uux_one_addr:
           driver = pipe,
           uucp,                           # utilise le style UUCP pour les formes d'adressage
           from;                           # fourni une ligne d'enveloppe From_
   # le drapeau -r emp�che une livraison imm�diate
           cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
           umask = 0022,
           pipe_as_sender

   queueonly:
           driver = pipe;                  # envoi de message � un tube
           cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
                                           # utilise getmail pour les livraisons locales
           user=root,                      # ex�cute getmail sous "root"
           group=mail,                     # ex�cute getmail sous "mail"
           parent_env,                     # Les infos d'environement de l'adresse parent
           -pipe_as_user,                  # utiliser le user-id associ� avec l'adresse
           umask = 0007,                   # umask du processus fils

   # pour delivrer un message. Le transport smtp est inclue seulement si
   # le r�seau BSD existe.
   # 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 presque optimal, un backend ??? devrait exister qui prendrait en charge
   #       plusieurs messages par connection.
   # AUSSI: il peut �tre n�cessaire de restreindre max_addrs � 100, puisqu'il
   #  s'agit de la limite inf�rieure dont a besoin l'impl�mentation SMTP pour
   # prendre en charge un message.

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

           short_timeout=5m,               # le timeout pour les op�rations courtes
           long_timeout=2h,                # le timeout pour les op�rations SMTP plus longues
           service=smtp,                   # se connecter � ce port de service
   # Pour l'utilisation internet : ne pas commenter les 4 lignes qui suivent
          use_bind,                       # r�soud les enregistrements MX et A multiple A
          defnames,                       # utiliser la recherche de domaine standard
          defer_no_connect,               # essayer � nouveau si le serveur est tomb�
          local_mx_okay,                  # �vite un MX vers l'h�te 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 l'utilisez pour les
 courriels FIDO. A part cela, vous ne devriez pas avoir besoin d'�diter
 quoi que ce soit dans ce fichier d�finissant les agents de transport
 (comme uux, smtp ...) vous pouvez les utiliser comme param�tres dans
 l'autre fichier config.

 A noter que j'ai comment� quelques parties, comme les "pipes" ou
 "file", pour am�liorer la s�curit�.


 44..77..  LLee rr��ppeerrttooiirree mmaappss//

 Il contient les fichiers map et tables :

 Commen�ons par 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, �ditez ce fichier pour correspondre � votre
 organisation (je suis aliment� par polux.linux.eu.org).

 Maintenant le fichier table



             *       uux




 Vous pouvez d�finir diff�rent transport pour diff�rents chemins, par
 exemple "smtp" pour vos machines dans votre r�seau local, "uux"
 (c'est-�-dire uucp) pour le reste du monde ou vice-versa (j'utilise
 uucp pour tous courriers �lectroniques sortant, et donc j'utilise "*"
 !).




 44..88..  DD''aauuttrreess bboonnss eexxeemmpplleess

 Les fichiers pr�c�dents sont ceux que j'utilise actuellement pour mon
 site, vous ne devriez rencontrer aucun probl�me en les utilisant comme
 exemples/bases pour vos propres fichiers.

 Les fichiers ci-dessous sont seulement fournis en tant que bons
 exemples pour configurer smail de diff�rentes fa�ons.


























































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

   # Voir smail(5) pour une description compl�te du contenu de ce fichier

   # local - d�livre le courrier aux utilisateurs nouveaux
   #
   # Indiquer � smail d'ajouter directement aux fichiers BAL utilisateur dans le
   # r�pertoire /usr/mail.
   local:  driver = appendfile,            # ajouter le message au fichier
           return_path,                    # inclue le champ Return-Path: field
           local,                          # utiliser les formes locales pour la livraison
           from,                           # fourni une ligne enveloppe From_
           unix_from_hack;                 # ins�re > avant From dans le corps

           file = /usr/mail/${lc:user},    # utiliser cet emplacement pour System V
           group = mail,                   # groupe propri�taire de fichier pour System V
           mode = 0660,                    # sous System V, le groupe mail a acc�s
           suffix = "\n",                  # ajoute � nouveau un retour chariot suppl�mentaire
           append_as_user,

   # pipe - d�livre du courrier � des commandes shell
   #
   # Ceci est utilis� implicitement lorsque smail rencontre des adresses qui
   # commencent par une barre verticale, comme "|/usr/lib/news/recnews talk.bizarre".
   # La barre verticale est enlev�e de l'adresse avant d'�tre donn�e au
   # transport

   pipe:   driver = pipe,                  # tube le message � un autre programme
           return_path, local, from, unix_from_hack;

           cmd = "/bin/sh -c $user",       # envoi l'adresse au Bourne Shell
           parent_env,                     # info d'environement de l'adresse parent
           pipe_as_user,                   # utilise le user-id associ� avec l'adresse
           umask = 0022,                   # umask 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 cass�s

   # file - d�livre du courrier dans des fichiers
   #
   # Ceci est utilis� implicitement quand smail rencontre des adresses qui commencent
   # avec un caract�re slach ou tilde, comme "/usr/info/list_messages" ou aussi
   # "~/Mail/inbox".
   file:   driver = appendfile,
           return_path, local, from, unix_from_hack;

           file = $user,                   # le nom de fichier est pris dans l'adresse
           append_as_user,                 # le user-id associ� avec l'adresse
           expand_user,                    # d�veloppe ~ et $ dans l'adresse
           suffix = "\n",
           mode = 0644

   # uux - d�livre au programme rmail pour un site UUCP distant
   #
   # Dans une transaction UUCP on peut d�livrer � l'h�te distant jusqu'�
   # cinq adresses destinataires
   uux:    driver = pipe,
           uucp,                           # utilise le style UUCP comme forme d'adressage
           from,                           # fourni une ligne d'enveloppe From_
           max_addrs = 5,                  # au plus 5 adresse par invocation
           max_chars = 200;                # au plus 200 caract�res pour l'adresse

           # le drapeau -r empeche une livraison imm�diat, les parenth�ses autour
           # de la variable $user empeche l'interpr�tation des caract�res sp�ciaux par uux.
           cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
           umask = 0022,
           pipe_as_sender
   # uux_one_addr - d�livre le courrier � travers UUCP � un hote distant qui prends
   # une adresse � la fois
   #
   # Cela est souvent n�cessaire lorsque l'on d�livre du courrier � un site utilisant
   # une version non modifi�e de 4.1BSD.
   uux_one_addr:
           driver = pipe,
           uucp,                           # utilise le style  UUCP comme forme d'adressage
           from;                           # fourni une ligne d'enveloppe From_

           # le drapeau -r empeche la livraison imm�diate
           cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
           umask = 0022, pipe_as_sender

   # demand - d�livre � un programme rmail distant, polling on demand
   demand: driver = pipe,
           uucp, from, max_addrs = 5, max_chars = 200;

           # sans le drapeau -r, essaye de contacter le site distant imm�daitement
           cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
           umask = 0022, pipe_as_sender

   # uusmtp - d�livre � un programme rsmtp vers un site UUCP distant
   #
   # Deliver utilise un protocole de lot de commandes simple vers la machine distante
   # Cela permet d'utiliser beaucoup plus d'adresses arbitraires.
   # l�ve les limites sur les adresses destinataires par invocation de uux.
   uusmtp: driver = pipe,
           bsmtp,                          # envoi des lots de commande SMTP
           -max_addrs,                     # il n'y a pas de limite sur le nombre
           -max_chars;                     # et la taille totale des adresses destinataires

     # mettre -r pour que la livraison ne soit pas imm�diate, les adresses destinataires
     # sont stock�es dans les donn�es envoy�es � l'entr�e standard de smtp.
           cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
           umask = 0022, pipe_as_sender

   # demand_uusmtp - d�livre � un programme rsmtp distant, polling on demand
   demand_uusmtp:
           driver = pipe,
           bsmtp, -max_addrs, -max_chars;

           # sans le drapeau -r, essaye de contacter le site distant imm�diatement
           cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
           umask = 0022, pipe_as_sender

   # smtp - d�livre le courrier en utilisant SMTP sur TCP/IP
   #
   # Se connecter � un hote distant en utilisant TCP/IP et initie une conversation SMTP
   # pour delivrer un message. Le transport smtp est inclue seulement si le r�seau BSD existe.


   # NOTE: il peut etre n�cessaire de restreindre max_addrs � 100, puisque c'est la limite
   #       inf�rieure requise pour SMTP pour prendre en charge un message.
   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 utilis�s pour livrer le courrier
   # � des hotes sp�cifiques � partir de bargw.

   #host           transport
   #--------       ---------
   curdsgw         demand_uusmtp   # deliver utilisant le SMTP par lots
   oldbsd          uux_one_addr    # Les sites 4.1BSD ne peuvent prendre plus d'une adresse
   sun             demand          # appelle sun lorsqu'il y a du courrier � envoyer
   *               uux             # pour tous les autres, poll at intervals





 44..99..  RReellaanncceerr iinneettdd

 Pour ex�cuter smail en tant que d�mon smtp, ajoutez une des lignes
 suivantes dans /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 �lectronique sortant est envoy� automatiquement, quand
 vous utilisez elm.


 44..1100..  SSmmaaiill eett ssmmttpp

 G�n�ralement, les fournisseurs d'acc�s (ISP) utilisent smtp, par
 cons�quent vous ne devriez pas avoir de probl�me pour envoyer vos
 courriels. Si votre ligne internet est hors service lors de l'envoi de
 courriel, dans ce cas les courriels r�sident dans
 /var/spool/smail/input. Lorsque la ligne est � nouveau op�rationnelle,
 runq est d�marr� et envoi les courriels en attente.  Toutefois, la
 r�ception de courriel est le probl�me puisque votre fournisseur
 d'acc�s a plusieurs clients � g�rer, et pas seulement vous !

 Habituellement, vous pouvez r�cup�rer vos courriels via le protocole
 POP, voir la section POP ci-dessous.


 55..  SSeennddmmaaiill++IIDDAA

 Pour les sites d'importance, sendmail vaut la peine d'�tre choisi, en
 raison de son incroyable facilit� d'utilisation, mais vous devez vous
 d�cider entre sendmail+IDA et sendmail 8.x :

 �  Si vous utilisez un noyau ancien (1.0) : sendmail+IDA

 �  Si vous utilisez un noyau pas si ancien (1.2) : sendmail+IDA et
    �dition du code source.

 �  Pour un noyau r�cent (2.0), le choix sera sendmail 8.x

 Rappelez-vous, les d�butants en linux ou les personnes concern�es par
 la s�curit�/facilit� de la configuration devraient plut�t essayer
 d'utiliser smail ou qmail, qui sont plus facile � utiliser et plus
 s�r.

 55..11..  IInnssttaallllaattiioonn dduu ssoouurrccee


 �

    cd / ; tar -zxvf sendmail5.67b+IDA1.5.tpz



 �  cd vers /usr/local/lib/mail/CF et copier le fichier sample.m4 vers
    "votre_nom_d'h�te.m4".

    Editez la r�partition de hostname, aliases, smarthost et en
    r�partir la bonne dans votre site. Le fichier par d�faut est pour
    un site n'utilisant qu'uucp qui a des ent�tes de domaine et qui
    communique avec l'h�te intelligent (Smart host) .  Puis faire "make
    votre_nom-d'h�te.cf" et mettre le fichier r�sultant dans
    /etc/sendmail.cf.


 �  Si vous n'utilisez que uucp, vous n'avez *AUCUN* besoin de cr�er
    une des tables mentionn�es dans le fichier README.linux.

    Vous n'aurez qu'� faire un touch des fichiers pour que le Makefile
    fonctionne. Editez simplement le fichier .m4, make sendmail.cf et
    vous pouvez le tester.


 �  Si vous n'utilisez que uucp et que vous communiquez avec des sites
    en plus de votre "smart-host", vous aurez � ajouter des entr�es
    uucpxtable pour chacun (ou leur envoyer un courriel passera par
    l'h�te intelligent) et ex�cuter dbm sur le fichier uucpxtable ainsi
    modifi�.

 �  Si vous utilisez la distribution binaire 5.67a originale de Rich
    Braun, vous aurez � geler la configuration si vous changez votre
    fichier .cf avec "/usr/lib/sendmail -bz" pour que les changements
    soient pris en compte.

 Vous devrez aussi mettre � jour votre version en au moins la 5.67b
 puisqu'il y a un vilain trou de s�curit� dans la 5.67a et les
 pr�c�dentes. Une autre am�lioration est que si mail.debug est indiqu�
 et que vous utilisez syslogd, votre courriel entrant et sortant sera
 trac�. Voir le fichier /etc/syslog.conf pour les d�tails.

 Les sources de sendmail+IDA se trouvent sur  <vixen.cso.uiuc.edu> ;
 Ils ne n�cessitent aucun patch pour fonctionner sous linux si vous
 �tes sous quelque chose comme le noyau 1.00.

 Si vous avez un noyau > 1.1.50, vous aurez le plaisir d'appliquer la
 plupart des patch linux qui sont maintenant dans les sources vanilla.
 (Je vous *avez* dit que ce sendmail �tait seulement pour les noyaux
 anciens :-)

 Il est particuli�rement �vident de savoir o� cela doit �tre fait :
 taper simplement make et lorsque cela plante, aller � la ligne dans le
 source et commenter le code Linux � cet endroit.

 Si vous avez l'intention d'utiliser sendmail+IDA, je vous recommande
 fortement de prendre la version sendmail5.67b+IDA1.5 puisque tous les
 patch Linux sont maintenant dans les sources vanilla et plusieurs
 trous de s�curit� qui ETAIENT (!!!) dans les anciennes versions que
 vous auriez r�cup�r�es ou compil�es avant le premier d�cembre 1993 ont
 �t� combl�s.


 Aujourd'hui  le noyau est le 2.0, vous devriez utiliser sendmail 8.x
 au lieu de sendmail+IDA, mais je vous avez d�j� dit de choisir plut�t
 sendmail 8.x :-)


 55..22..  LLee ffiicchhiieerr sseennddmmaaiill..mm44

 Sendmail+IDA requiert de cr�er le fichier sendmail.m4 plut�t que
 d'�diter directement le fichier sendmail.cf. Le bon cot� des choses
 est qu'il est plus simple de mettre en place des configurations  de
 courrier �lectronique qui sont particuli�rement difficile (pour ne pas
 dire impossible � la plupart des gens de le mettre en place
 correctement) avec smail ou le traditionnel sendmail.

 Le fichier sendmail.m4 qui correspond aux exemples ci-dessus de smail
 ressemble � :


















































     dnl #------------------ SAMPLE SENDMAIL.M4 FILE ------------------
     dnl #
     dnl # (la chaine 'dnl' est l'�quivalent m4 pour commenter une ligne)
     dnl #
     dnl # En g�n�ral on ne cherche pas � outrepasser le chemin compil� en dur de LIBDIR
     dnl #define(LIBDIR,/usr/local/lib/mail)dnl    # o� tous les fcihiers support vont
     define(LOCAL_MAILER_DEF, mailers.linux)dnl    # mailer pour la livraison locale
     define(POSTMASTERBOUNCE)dnl                   # postmaster r�cup�re les courriers rebonds
     define(PSEUDODOMAINS, BITNET UUCP)dnl         # ne pas utiliser le DNS sur eux
     dnl #
     dnl #-------------------------------------------------------------
     dnl #
     dnl # les noms par lesquels nous sommes connus
     define(PSEUDONYMS, myhostname.subdomain.domain myhostname.UUCP)
     dnl #
     dnl # notre nom primaire
     define(HOSTNAME, myhostname.subdomain.domain)
     dnl #
     dnl # notre nom uucp
     define(UUCPNAME, myhostname)dnl
     dnl #
     dnl #-------------------------------------------------------------
     dnl #
     define(UUCPNODES, |uuname|sort|uniq)dnl       # notre voisin uucp
     define(BANGIMPLIESUUCP)dnl                    # s'assurer que le courriel uucp
     define(BANGONLYUUCP)dnl                       #  est trait� correctement
     define(RELAY_HOST, my_uucp_neighbor)dnl       # notre h�te relais intelligent
     define(RELAY_MAILER, UUCP-A)dnl               # nous atteignons moria via uucp
     dnl #
     dnl #--------------------------------------------------------------------
     dnl #
     dnl # les diff�rentes tables de recherche dbm
     dnl #
     define(ALIASES, LIBDIR/aliases)dnl            # alias syst�mes
     define(DOMAINTABLE, LIBDIR/domaintable)dnl    # mettre le domaine aux h�tes
     define(PATHTABLE, LIBDIR/pathtable)dnl        # chemins base de donn�es
     define(GENERICFROM, LIBDIR/generics)dnl       # adresses From g�n�riques
     define(MAILERTABLE, LIBDIR/mailertable)dnl    # mailers par h�te ou domaine
     define(UUCPXTABLE, LIBDIR/uucpxtable)dnl      # chemins vers les h�tes que nous fournissons
     define(UUCPRELAYS, LIBDIR/uucprelays)dnl      # chemins court-circuits
     dnl #
     dnl #--------------------------------------------------------------------
     dnl #
     dnl # inclue le code 'r�el' qui fait tout fonctionner
     dnl # (fourni avec le code source)
     dnl #
     include(Sendmail.mc)dnl                         # ENTREE REQUISE !
     dnl #
     dnl #------------ END OF SAMPLE SENDMAIL.M4 FILE -------





 55..33..  DD��ffiinniirr uunn aaggeenntt ddee ccoouurrrriieell llooccaall

 A la diff�rence de la plupart des distributions Unix, Linux n'a pas
 par d�faut un agent pour d�livrer le courriel local. Dor�navent,
 deliver ou procmail est g�n�ralement install�, ainsi aucune difficult�
 ne sera ajout�e � cette installation d�j� suffisemment complexe.Je
 vous conseille d'utiliser les programmes deliver ou procmail
 couremment disponible, qui peuvent �tre des progiciels optionnels sur
 quelques distributions linux.

 Afin d'y arriver, vous devez d�finir LOCAL_MAILER_DEF dans le fichier
 sendmail.m4 dont le contenu ressemble � :
          # -- /usr/local/lib/mail/mailers.linux --
          #     (local mailers for use on 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 a aussi une d�finition par d�faut pour deliver dans le fichier
 Sendmail.mc qui sera inclue dans le fichier sendmail.cf.  Pour
 l'indiquer, vous n'utiliserez pas le fichier mailers.linux mais
 d�finirez plut�t ce qui suit dans le fichier sendmail.m4:


           dnl --- (in sendmail.m4) ---
           define(LOCAL_MAILER_DEF, DELIVER)dnl       # mailer for local delivery




 Malheureusement, sendmail.mc suppose que deliver est install� dans
 /bin, ce qui n'est pas le cas dans la Slackware1.1.1 (qui l'installe
 dans /usr/bin). Dans ce cas vous aurez soit � le tromper avec un lien
 ou recompiler deliver � partir des sources pour qu'il r�side dans
 /bin. Veuillez noter que procmail est en g�n�ral meilleur que deliver,
 par exemple pour le filtrage de courriel.


 55..44..  LLeess ttaabblleess ddbbmm ddee sseennddmmaaiill++IIDDAA

 Mettre en place un comportement particulier, pour les sites ou les
 domaines, est effectu� � travers un nombre de tables dbm optionnelles
 plut�t que d'�diter le fichier sendmail.cf directement.

 Consultez l'�dition Juillet 1994 du Linux Journal (si vous pouvez
 encore le trouver ! :-), pour les documentations dans les sources, ou
 le chapitre sur sendmail dans la derni�re version du Guide
 d'Administration R�seau du Projet de Documentation Linux (LDP) qui
 sera disponible vraiment-bient�t-maintenant pour plus de d�tails.


 �  mailertable - d�fini les comportements particuliers pour les sites
    distants ou les domaines.

 �  uucpxtable - force uucp � d�livrer le courriel aux h�tes qui sont
    au format DNS

 �  pathtable - d�fini les chemins BANG ??? UUCP pour les sites
    distants ou les domaines.

 �  uucprelays - court circuite le chemin pathalias vers les h�tes
    distants connus

 �  genericfrom - converti les adresses internes en adresses g�n�riques
    visible pour le monde ext�rieur.

 �  xaliases - converti les adresses g�n�riques en/� partir d'adresses
    internes valides.

 �  decnetxtable - converti les adresses RFC-822 en adresses style
    DECnet.





 55..55..  BBoonn qquueelllleess eennttrr��eess ssoonntt vvrraaiimmeenntt nn��cceessssaaiirreess ??

 Lorsque vous n'utilisez aucune des tables optionnelles dbm, sendmail
 d�livre le courrier via le RELAY_HOST et RELAY_MAILER d�finis dans le
 fichier sendmail.m4 utilis� pour g�n�rer sendmail.cf. Il est ais� de
 passer outre ce comportement � travers des entr�es dans domaintable ou
 uucpxtable.

 Un site g�n�rique sur Internet et utilisant le Service de Noms de
 Domaines (DNS), ou un site n'utilisant qu'UUCP et transmets tous les
 courriels via UUCP � travers un smart RELAY_HOST, n'aura probablement
 pas besoin d'entr�es sp�cifiques du tout.

 De fait, tous les syst�mes devraient utiliser les macros DEFAULT_HOST
 et PSEUDONYMS, qui d�finissent le nom canonique et l'alias du site par
 lequel il se fait connaitre.

 Si tout ce que vous avez est un h�te relais et un agent relais de
 courrier, vous n'avez pas � prendre les options par d�faut puisque
 cela marche automagiquement. Les h�tes UUCP auront certainement besoin
 de mettre leur nom officiel UUCP dans UUCPNAME.

 Ils auront probablement aussi besoin d'utiliser RELAY_MAILER et
 RELAY_HOST qui permettent le routage smart-host (?) � travers un
 relais de courriel.

 Le logiciel de transport (l'agent transporteur) de courriel � utiliser
 est indiqu� dans RELAY_MAILER et devrait habituellement �tre UUCP-A
 pour les sites UUCP. Si votre site n'a que SMTP et utilise le 'Service
 de Nom de Domaine' (DNS), vous voudrez changer RELAY_MAILER.

 Si votre site utilise SLIP, vous pourriez choisir la mani�re simple et
 juste transmettre tous vos courriel sortant vers votre fournisseur
 d'acc�s et le laisser s'en occuper.  Ainsi vous devrez d�finir votre
 domaine dans ISOLATED_DOMAINS et VALIDATION_DOMAINS, vous devrez
 d�finir votre fournisseur d'acc�s dans RELAY_HOST et RELAY_MAILER �
 TCP. Bien s�r, vous voulez demander la permission avant de monter un
 syst�me comme relais g�n�ral.


 55..66..  SSeennddmmaaiill 88..xx

 Le Sendmail 8.7.x de Berkeley a �t� la derni�re version majeure depuis
 sendmail5.  Il incorpore un merveilleux support interne (?) pour
 compiler sous linux : faire simplement "make linux" et tout
 fonctionne.

 Vous serez probablement mieux servi en r�cup�rant une des nombreuses
 distributions binaires de l'habituel site d'archives Linux plut�t que
 de vous battre avec des choses comme les dbm de Berkeley.

 Il y a une distibution sympa de sendmail 8.6.12 de Jason Haar - j.haar
 at lazerjem.demon.co.uk sur sunsite.unc.edu �
 /pub/Linux/system/Mail/delivery/sendmail-8.6.12-bin.tgz qui incorpore
 la documentation et une description rapide sur comment l'utiliser avec
 sendmail v8 pour les configurations courantes.

 Le plus important avec sendmail v8 c'est que vous devez configurer au
 moins le minimum pour que cela fonctionne ; ce qui suit est un exemple
 qui devrait au moins vous en rapprocher.


 55..77..  UUnn ffiicchhiieerr mmcc dd''eexxeemmppllee ppoouurr llaa 88..77..xx

 De m�me que sendmail+IDA, sendmail v8 utilise m4 pour compiler un
 fichier de configuration en un sendmail.cf complet utilisable par
 sendmail. Ce qui suit est mon fichier courant pour mon site (ppp vers
 internet pour le courriel sortant, uucp pour le courriel entrant).



               dnl divert(-1)
                #---------------------------------------------------------------------
                #
                # Fichier .mc pour un h�te linux qui est configur� comme suit:
                #
                #       - connect� � Internet pour le courrier sortant (ici ppp)
                #       - connect� via UUCP pour le mail entrant
                #       - ent�te avec domaine
                #       - pas d'agent de transport de mail local (utilise plutot 'deliver')
                #       - pas de DNS lanc� donc ne pas canoniser ce qui sort via DNS
                #       - all non-local outbound mail goes to the RELAY_HOST over smtp
                #       -
                #      (nous utilisons ppp et laissons notre fournisseur d'acc�s faire le travail)
                #
                #                                       vds 3/31/95
                #
                #---------------------------------------------------------------------
                include(`../m4/cf.m4')
                VERSIONID(`linux nodns relays to slip service provider smarthost')dnl
                Cwmyhostname.myprimary.domain myhostname.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:my.relay.host.domain)
                define(`SMART_HOST', smtp:my.relay.host.domain)
                define(`UUCP_RELAY', smtp:my.relay.host.domain)
                define(`LOCAL_MAILER_PATH', `/bin/deliver')
                define(`LOCAL_MAILER_ARGS', `deliver $u')





 55..88..  LLeess ........ ddee SSeennddmmaaiill vv88

 Je suppose qu'il y a quelques diff�rences pour les 'bigots IDA' parmi
 nous.



 Au lieu de 'runq', taper 'sendmail -q' pour traiter la file d'attente
 !




 55..99..  LLeess aaggeennttss ddiissttrriibbuutteeuurrss llooccaauuxx

 A la diff�rence de la plupart des syst�mes d'exploitation, Linux
 n'avait pas de courriel int�gr� : vous deviez avoir un programme pour
 distribuer le courrier local, comme "lmail", "procmail" ou "deliver".

 Toutefois, toutes les distributions r�centes inclues un distributeur
 local !


 La documentation sur l'utilisation aussi bien pour la distribution
 locale est dans la r�vision binaire de sendmail5.67b+IDA1.5 (sur
 sunsite) cit�e plus haut.


 66..  LLee ccoouurrrriieell PPOOPP

 Cette section concerne aussi IMAP, pas tr�s diff�rent de POP.


 66..11..  HHiissttoorriiqquuee

 Sur un r�seau de station de travail, le courriel a toujours �t� un
 probl�me :


 �  Soit vous utilisez ""[email protected]" avec des soucis lorsque
    "computer" est hors service, faire connaitre votre r�seau aux
    personnes ext�rieures,  avoir diff�rentes adresses pour une
    personne passant � une autre machine, ...

 �  Soit vous installez un centre de tri (mail hub), "mailhost.foo.com"
    avec des r�gles de r��critures, ainsi tous les utilisateurs
    semblent faire leur envoi de la m�me adresse, m�me s'ils sont sur
    des ordinateurs diff�rents.

 Mais dans ce cas, comment l'utilisateur peut-il lire son courrier ?
 Utiliser rsh avec elm ?  :-) Cela surchargerai notre centre de tri
 (mail hub) ! Une m�thode �tait retransmettre (forwarding) ou UUCP,
 smtp, etc. mais c'est trop compliqu�.

 Alors vint POP/IMAP, chacun avec des probl�mes de s�curit� au d�but,
 (maintenant r�solus en utilisant ssh sur les nouvelles versions) :


 66..22..  RR��ccuupp��rreerr ssoonn ccoouurrrriieerr

 Ici se trouve un des principaux d�savantages de POP : le mot de passe
 est envoy� en texte clair sur le r�seau, et quelques agents
 utilisateurs ne connaissent simplement pas POP : vous devez utiliser
 un lecteur de courrier connaissant POP, comme Pine, Emacs, Netscape,
 Mutt ...

 Les probl�mes de mot de passe peuvent �tre r�solus en cr�ant un
 "cannal" crypt� que POP utilisera ou en utilisant les extensions de
 APOP ou RPOP. Le probl�me du lecteur de courriel peut �tre resolu soit
 en changeant d'agent utilisateur (mozilla est pr�t pour POP, de m�me
 Emacs ou Pine) ou en utilisant un "r�cup�rateur de courriel" POP
 associ� � un agent distributeur local.

 gwpop (a Good Way to POP, une bonne fa�on de faire du POP) vaut le
 coup puisqu'il cr�e un "cannal" crypt� et d�pose le courrier
 directement dans le "spool". Toutefois, il repose sur Perl ...

 Je peux aussi recommander fetchmail, qui est activement support�.

 Sinon vous pouvez utilisez un des nombreux client pop disponibles pour
 linux, par exemple si votre compte est paul et votre mot de passe
 AssezSecret, vous ex�cuterez :



           $ popclient -3 -v mail.acme.net -u paul -p "AssezSecret" -k -o MEL-INTERNET-PAUL



 (voir les pages du manuel pour la signification exacte des diff�rentes
 options ci-dessus !)


 66..33..  EEnnvvooyyeerr dduu ccoouurrrriieerr

 Pour cela, vous devez utiliser un logiciel de courrier connaissant
 SMTP, comme qmail, sendmail, smail ou mozilla (celui l� fait tout :
 lecteur de mail, r�cup�ration par POP, envois par smtp !)

 Se r�f�rer � l'une des sections pr�d�dentes pour installer et
 configurer celui que vous pr�f�rez le plus. Alors, vous serez au stade
 du "Test", essayez d'envoyer quelques courriers � un compte local sur
 le centre de tri (mail hub).


 66..44..  LLiirree ssoonn ccoouurrrriieell

 Si votre programme ne fait pas tout lui m�me, vous pouvez installer
 elm, pgp, mush, pine ...beaucoup de bons programmes sont disponible
 gratuitement pour les plateformes linux !


 66..55..  TTeessttss

 Pour v�rifier que votre serveur de courriel a pop, essayez :



           $ telnet mailhost 110





 Si cela fonctionne, vous aurez quelque chose comme "OK Pop server
 (...)  starting" : tapez "quit" !


 Pour installer un "cannal" crypt� ssh, testez tout d'abord votre
 serveur de courriel en tapant :



           $ ssh mailhost date





 Si vous avez la date, cela devrait �tre bon. Remarquez que ssh ne
 demandera pas de mot de passe, donc vous devez  cr�er un fichier
 ".shosts" sur le serveur de mail, contenant le nom du client. Pour
 tester la redirection du port ssh (que gwpop utilise), tapez :



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




 puis



        $ telnet localhost 12314





 Alors vous aurez bon espoir de voir la banni�re du centre de tri pop.
 Si vous n'utilisez pas ssh, n'oubliez pas de mettre en commentaire
 $ssh dans le script gwpop. Pour v�rifier si procmail est en cours,
 essayez "procmail -v".


 66..66..  UUttiilliissaattiioonn

 Maintenant vous pouvez �diter le script Perl de gwpop pour v�rifier
 que tout va bien, puis ex�cuter gwpop :



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




 Si les "messages d'erreurs" de gwpop sont normaux, le courriel du
 centre de tri (mail hub) sera t�l�charg� vers votre machine locale �
 l'endroit indiqu� � gwpop. (S'il vous plait testez avec quelques
 Courriels !).

 Vous pouvez aussi utilisez gwpop comme d�mon :



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





 Les messages de gwpop sont envoy�s � syslog et gwpop s'ex�cute sans
 fin ; un signal "HUP" obligera gwpop � chercher vos Courriels.

 Vous pourrez trouvez les logiciels de POP mentionn�s ici :

 �  <ftp://ftp.pasteur.fr/pub/Network/gwpop>

 �  <ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail>

 �  <http://www.cs.hut.fi/ssh/>


 77..  LLeess ""aaggeennttss uuttiilliissaatteeuurrss"" ddee CCoouurrrriieell

 Cettes section contiens les informations relatives aux "agents
 utilisateurs", c'est-�-dire les logiciels que l'utilisateur voit et
 utilise. Ces logiciels reposent sur les "agents transporteurs"
 mentionn�s plus haut. Beaucoup d'autre "Agents Utilisateurs" de
 Courriel sont disponibles maintenant (pine, mush ...) mais je n'ai pas
 trouv� d'information dedans concernant linux. Me dire SVP si j'ai
 oubli� quelque chose !





 77..11..  EEllmm

 Elm se compile, s'installe et s'ex�cute sans faute sous linux. Pour
 plus d'informations, voir les sources d'elm et les instructions
 d'installation. Elm et les filtres doivent avoir les permissions 2755
 (groupe mail) avec les permissions 775 et le groupe mail pour
 /var/spool/mail.

 Si vous utilisez une distribution binaire, vous devrez cr�er un
 fichier /usr/local/lib/elm/elm.rc pour outrepasser les informations
 pr�compil�es de hostname et de domain :


 �  remplacer "sousdomaine.domaine" avec votre nom de domaine

 �  "monnomdh�te" avec le nom canonique du nom d'h�te



                #---------- /usr/local/lib/elm/elm.rc ------------------
                #
                # Nom d'h�te non qualifi�
                hostname = monnomdh�te
                #
                # domaine local
                hostdomain = sousdomaine.domaine
                #
                # Nom d'h�te enti�rement qualifi�
                hostfullname = monnomdh�te.sousdomaine.domaine
                #
                #--------------------------------------------------------




 Une chose dont vous voudriez avoir conscience est que si vous utilisez
 Elm compil� avec l'option MIME, vous aurez besoin de metamail install�
 et dans votre chemin ou alors Elm ne sera pas capable de lire le
 courrier MIME re�u. Metamail est disponible � <thumper.bellcore.com>
 et bien s�r via "archie".

 Dans la cat�gorie "trop beau pour �tre vrai", il y a une distribution,
 Elm-2.4.24, avec "PGP int�gr�". Pour l'essayer, r�cup�rer le fichier
 <ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz>, qui est
 l'elm2.4.24 avec l'option PGP ajout�e. Vous le configurez et le
 compilez de la m�me mani�re que l'Elm normal, ce qui veut dire que
 vous devrez ajouter les patchs mentionn�s plus haut.  Pour ce que cela
 vaut, je l'utilise ici et l'appr�cie beaucoup. Bien s�r, il doit y
 avoir des versions disponibles plus r�centes , y compris elm-ME+.

 Bien que cet �l�ment ne soit pas sp�cifique � linux, il est n�anmoins
 per�u (de fa�on erron�e) comme un bug p�nible d'Elm. Nous avons tous
 entendu parler d'Elm qui, de temps en temps, �choue avec un message
 indiquant  qu'il est incapable d'allouer un nombre important d'octets
 avec malloc(). La solution pour contourner ce probl�me est d'enlever
 les alias de Courriel post-g�n�r�s (aliases.dir et aliases.pag).

 CE N'EST PAS UN BUG DANS ELM, c'est une erreur dans la configuration
 d'Elm de l'endroit o� a �t� r�cup�r� la distribution binaire.


 Elm a un format am�lior� et non compatible d'aliases ; vous devez vous
 assurez que le chemin qu'utilise Elm pour aliases est diff�rent de
 celui que sendmail/smail utilise. Vu le nombre de remarques sur ce
 probl�me, il est �vident qu'au moins une distribution majeure 'dans la
 rue' a �t� mal configur�e (de scot at catzen.gun.de (Scot W.
 Stevenson) ).

 Le progiciel metamail courant requiert csh pour quelques uns de ses
 scripts. Csh manquant (ou tcsh) causera des erreurs int�ressantes ...


 77..22..  MMaaiillxx

 Epargnez vous des ennuis : aller simplement chercher le kit mailx de
 la Slackware 2.1.0 ou sup�rieure, qui a la bonne impl�mentation de
 mailx5.5. Si vous voulez partir des sources, mailx v5.5 se compile
 sans avoir � patcher sous linux, si vous avez "pmake" install�. Si
 quelqu'un l'utilise encore, je l'engage fermement � enlever les trucs
 anciens d'"edmail" de la SLS1.00 et la remplacer par mailx.


 77..33..  DD''aauuttrreess aaggeennttss uuttiilliissaatteeuurrss

 Ce qui suit est connu pour fonctionner sous linux. Consulter "archie"
 pour connaitre la fa�on de les trouver ...

 �  Pine      - de l'Universit� de Washington

 �  Metamail  - autorise l'utilisation MIME

 �  mh        - une autre fa�on de g�rer le Courriel

 �  deliver   - fichier/gestion des Courriels bas� sur des r�gles

 �  procmail  - fichier/gestion des Courriels bas� sur des r�gles

 �  Majordomo - g�re les listes de diffusion

 �  Mserv     - permet les fichiers par Courriel


 88..  RReemmeerrcciieemmeennttss

 Les personnes qui suivent m'ont aid� au rassemblement de l'information
 et des exp�riences qui ont permis la r�alisation 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 en particulier de
 grands merci � Vince Shankan pour sa participation importante.

 Si j'oublie quelqu'un, toutes mes excuses : simplement Courrielez moi
 !