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

  Ce document dcrit 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 systme ou avec d'autres sites.
  ______________________________________________________________________

  Table des matires



















































  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 limite

  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 Matriel
     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 rpertoire
     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 Dfinir un agent de courriel local
     5.4 Les tables dbm de sendmail+IDA
     5.5 Bon quelles entres sont vraiment ncessaires ?
     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 Rcuprer 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




  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn,, ccooppyyrriigghhtt eett aavveerrttiisssseemmeenntt ((DDiissccllaaiimmeerr))



  11..11..  LLee ccoouurrrriieerr lleeccttrroonniiqquuee eett llee ccoouurrrriieerr nnoonn ssoolllliicciitt ((ssppaammmmiinngg))


  Premirement, 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 empcher
  les gnreux collaborateurs d'tre spamms !


  11..22..  OObbjjeeccttiiff


  Le but de ce document est de rpondre  quelques questions et
  commentaires et correspond  la dfinition de la "Foire Aux
  Questions", sur les logiciels de courriel sous Linux en gnral, et la
  version des distributions Linux Debian et Redhat en particulier.


  11..33..  NNoouuvveelllleess vveerrssiioonnss

  Les nouvelles versions de ce document seront rgulirement postes sur
  comp.os.linux.announce, comp.answers et mail.answers. Ils seront
  ajouts dans plusieurs sites ftp anonymes qui archivent en particulier
  ces documents, notamment sunsite.unc.edu:/pub/Linux/docs/HOWTO.

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


  11..44..  VVooss iimmpprreessssiioonnss

  Vos impressions, par courriel, concernant ce document m'intressent,
  qu'elles soient positives ou ngatives. Prcisment, contactez moi si
  vous trouvez des erreurs ou d'videntes omissions.

  Je lis, mais ne rponds pas forcment,  tous les courriels que je
  reois. Les demandes d'amlioration seront examines et prises en
  compte selon la formule du temps disponible, l'intret de la demande
  et ma pression artrielle du jour :-)

  Les remarques dsobligeantes, courriels incendiaires (flames) iront
  gentimment dans /dev/null donc pas de problme.

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


  11..55..  CCooppyyrriigghhtt

  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.




  11..66..  GGaarraannttiiee lliimmiittee

  Bien sr, je dsavoue tout responsabilit pour le contenu de ce
  document.  L'utilisation des concepts, exemples, et/ou autre contenu
  de ce document est entirement  votre risque.


  22..  AAuuttrreess ssoouurrcceess dd''iinnffoorrmmaattiioonn


  22..11..  UUSSEENNEETT

  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 gnrique comp.os.linux.*.

  Ne postez pas dans la hirarchie de comp.os.linux sauf si c'est
  rellement 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'excute".

  Laisser moi le redire.

  Dornavant il n'y a virtuellement aucune raison de poster quoi que ce
  soit, de relatif au courriel, dans la hirarchie comp.os.linux. Il
  existe des forums de discussion dans la hirarchie comp.mail.* qui
  rpondront  *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 gnrales  propos du 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
     environnement uucp.


  22..22..  LLeess lliisstteess ddee ddiiffffuussiioonn

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


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


  22..33..  LLeess aauuttrreess ddooccuummeennttss ddee LLDDPP..

  Il y a plusieurs lments 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 systme dans /usr/doc/smail ou /usr/doc/sendmail
     :-)

    Le Guide d'Administration Rseau de Linux.

    Le HOWTO Communication Srie

    Le HOWTO Ethernet

    Le HOWTO UUCP si vous tes aliment via UUCP.


  22..44..  LLiivvrreess

  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 rsoudre les programmes et les
     protocoles impliqus dans un site USENET.

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

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

    "The Internet Complete Reference" d'Osborne est livre de rfrence
     dtaill qui explique les services varis 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 franaise
     sous le titre "Guide d'administration rseau sous linux" (NDT).



  33..  CCoonnffiigguurraattiioonn rreeqquuiissee

  33..11..  MMaattrriieell

  Il n'y a pas de configuration matrielle spcifique pour le courriel
  sous Linux.

  Vous aurez besoin d'un quelconque logiciel de 'transport' pour vous
  connecter  des systmes 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 gnral, vous voudrez
  une UART 16550 sur votre carte srie ou implmente dans votre modem
  pour grer les vitesses suprieures  9600 baud.

  Si vous ne voyez ce que signifie cette dernire phrase, veuillez
  consultez le groupe comp.dcom.modems ou les diffrentes excellentes
  FAQ (Foire Aux Questions) sur les modems et les communications sries.
  Ainsi que les courriels posts sur USENET.

  33..22..  LLooggiicciieellss

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

    Nombre de sites

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

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

    Scurit

     Alimenter  plus ou moins 100 sites mais avec une scurit leve ?
     Prendre qmail !

     Alimenter moins de 100 sites mais avec un niveau normal de scurit
     ? Prendre smail !

    Diffrentes manires 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 sr, 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 compliques, qmail est parfait pour
  une scurit leve ; l'intermdiaire 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 gnral smail.

  44..  SSmmaaiill vv33..11

  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 sr.

  44..11..  CCoonnffiigguurreerr ssmmaaiill

  Installez les binaires smail  partir de votre distribution (je vous
  recommande cette faon) ou rcuprez 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 diffrente si vous utilisez
  d'anciennes distributions) ; Editons les !


  44..22..  LLee ffiicchhiieerr ccoonnffiigg




              # 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 dfinir
  "-transport_file" pour indiquer que vous n'en avez pas besoin.

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

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


  44..33..  LLee ffiicchhiieerr ddiirreeccttoorrss



















    # aliasinclude - dveloppe les adresses ":include:filename" produite par les fichiers
    # alias.
    # Cette entre et la suivante sont du rchauff. Les raisons
    # d'un changement significatif sont mineures. Leur unique raison est
    # de reconnaitre et de dvelopper 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 spcial
            nobody;                         # associer l'utilisateur nobody avec les adresses
                                            #  si violation de permissions moyenne (???)
                                            # sont rencontres
            copysecure,                     # prendre les permissions du directeur alias
            copyowners,                     # prendre le droit propritaire du directeur alias

    # forwardinclude - dveloppe les adresses ":include:filename" produites
    # par les fichiers forward
    forwardinclude:
            driver = forwardinclude,        # utiliser ce pilote pour cas spcial
            nobody;
            copysecure,                     # prendre les permissions du directeur forwarding
            copyowners,                     # prendre le droit propritaire du directeur
                                            #  forwarding

    # aliases - cherche  dvelopper les alias stocks dans la base de donne
    # 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,
    # crer quelques petits systmes de dveloppement d'alias, ou autres. Dans
    # cette configuration de site, le fichier aliases est utilis principalement
    # pour des informations d'aliases/forwarding lis aux machines. Les informations gnrales
    # pour faire suivre le courrier doivent tre mises dans la base de donne "forward".
    aliases:
            driver=aliasfile,               # directeur d'alias gnraliste
            -nobody,                        # toutes les adresses sont associs  nobody
                                            # par dfaut, donc mettre l'option
                                            # n'est pas trs utile.
            sender_okay,                    # ne pas enlever l'expditeur lors des
                                            # dveloppements d'adresses.
            owner=owner-$user;              # les problmes vont  une adresse propritaire
            file=/etc/aliases,
            modemask=002,                   # l'accs en criture ne doit pas tre autoris  tous
            optional,                       # ignore si le fichier n'existe pas
            proto=lsearch,                  # fichier ASCII non tri.

    # forward - chercher  dvelopper selon le contenu de la base forwarding
    # C'est la base de forwarding utilisateur pour un grand sous-domaine.
    # Les entres sont gardes ici pour les utilisateurs en cours ou pass,
    # pour faire suivre leur courrier  leur machine prfre. La base forward
    # est installe sur la couche rseau TCP/IP lors des changements, pour
    # garder le rseau consistent.
    #forward:
    #       driver = aliasfile,             # Directeur d'alias gnraliste
    #       -nobody,                        # toutes les adresses sont associs  nobody
    #                                       # par dfaut, donc mettre l'option
    #                                       # n'est pas trs utile.
    #       owner = real-$user;             # les problmes vont  une adresse propritaire
    #
    #       file = /etc/forward,
    #       modemask = 002,
    #       proto = dbm,                    # Utiliser la librairie dbm(3X) pour les accs.

    # dotforward - dveloppe les fichiers .forward dans les rpertoires personnels
    #  des utilisateurs.
    # Pour les utilisateurs qui ont une entre dans la base "forward", un fichier
    # .forward n'est utilis que sur la machine personnelle, comme identifie
    # dans la base forward. Si c'est utilis, c'est trait comme une liste d'adresse
    # indiquant  qui doit tre envoy les courriels, plutt (ou en plus) qu'
    # l'utilisateur rfrenc dans l'adresse locale.
    dotforward:
            driver = forwardfile,           # le directeur gnraliste forwarding
            owner = postmaster, nobody, sender_okay;

            file = ~/.forward,              # Le fichier .forward dans le rpertoire personnel
            checkowner,                     # l'utilisateur peut tre propritaire 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 ou daemon
            # tre trs attentif aux accs  distance des rpertoires utilisateurs (?)
            unsecure = "~uucp:/tmp:/usr/tmp:/var/tmp"

    # forwardto - dveloppe le "Forward to " dans les fichiers botes aux lettres utilisateur
    # Cela mule le mchanisme du suivi de courrier V6/V7/System-V qui utilise
    # une ligne des adresses forward au dbut des fichiers boites aux lettres (BAL) utilisateur
    # avec comme prfixe la chane "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 propritaire de ce fichier
            owners = root,                  # ou root
            modemask = 0002,                # sous System V, le groupe mail  la permission crire
            caution = daemon:root           # ne rien excuter sous root ou daemon

    # user - apparie un utilisateur sur l'hte local et dlivre le courrier
    # dans leur bote 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 prfixs avec la chane "real-"
    # Trs utile pour permettre  une adresse de dlivrer expllicitement dans
    # une BAL utilisateur. Par exemple, les erreurs dans le dveloppement d'un fichier
    #.forward pourra tre dlivrer ici, ou des boucles de suivi de courrier entre
    # plusieurs machines peuvent tre rsolues en utilisant une adresse real-utilisateur.
    # Aussi, les utilisateurs ui souhaite utiliser le courriel comme moyen de transfert de
    # donnes vers une machine qui n'est pas leur machine personnelle peuvent envoyer un
    # courriel  real-nom-de-login@hte-distant.
    real_user:
            driver = user;
            transport = local,
            prefix = "real-"                # par exemple, apparie 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,                        # transmet toutes les adresses avec prcaution
            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 caractres.
            file = lists/${lc:user}         # Les listes sont sous $smail_lib_dir

    # owners - dveloppe les listes de diffusion stockes dans le rpertoire list owner.
    # Les listes de diffusion listes propritaires peuvent tre simplement cres en
    # crant un fichier dans le rpertoire /etc/smail/lists/propritaire. Les listes de
    # diffusion propritaires sont envoyes localement, les erreurs gnres s'arrangent
    # avec la liste de diffusion du mme nom. Pour crer une liste propritaire pour une
    # liste de diffusion,  crer un fichier avec le nom de la liste dans
    # /etc/smail/lists/propritaire. Cela va crer une adresse de liste de nom
    # propritaire-nom_de_liste, comme utilise par le directeur "lists" plus haut.
    owners: driver = forwardfile,
            caution,                        # transmet toutes les adresses avec prcaution
            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 caractres.
            prefix = "owner-",
            file = lists/owner/${lc:user}   # Les listes sont sous $smail_lib_dir

    # request - dveloppe les listes de diffusions stockes dans un rpertoire de liste
    # de requte. Les listes de diffusion listes de requte peuvent tre cres simplement
    # en crant un fichier dans le rpertoire /etc/smail/lists/request. Les adresses requte
    # sont utilises typiquement comme adresse standard pour les interrogations  propos
    # d'une liste de diffusion. Par exemple, les requtes pour s'abonner ou se dsabonner
    # d'une liste seront gnralement envoyes  "list-request", qui devra tre configure
    # pour faire suivre le courrier  la ou les personnes appropries.
    request: driver = forwardfile,
            caution,                        # transmet toutes les adresses avec prcaution
            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 caractres.
            suffix = "-request",
            file = lists/request/${lc:user} # les listes sont sous $smail_lib_dir





  44..44..  LLee ffiicchhiieerr ffiiddooppaatthhss

  Crez un tel fichier seulement si vous utilisez ifmail et FIDO.


  44..55..  LLee ffiicchhiieerr rroouutteerrss





























  # forces - forcer certains chemins d'accs
    # L'existence de cette base de donne est un moyen de coder en dur les chemins des
    # diverses machines ou domaines. Utilis pour crer des distorsions temporaires
    # 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,             # 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 forage 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",       # spcifiquement, utilise le programme uuname
    #        domain=uucp                    # enlve le suffixe ".uucp"

    # smart_host - un directeur spcifique particulier d'hte intelligent
    # Si l'attribut smart_path du fichier de configuration est dfini comme
    # chemin entre l'hte local et l'hte distant, alors les noms d'htes
    # qui ne seraient pas reconnus sinon seront envoyes au ?. L'attribut
    # du fichier de configuration smart_transport peut tre utilis pour
    # indiquer un transport diffrent.
    # Si l'attribut smart_path n'est pas spcifi, ce routeur (?) est ignor.
    smart_host:
            driver = smarthost,             # Pilote du cas spcial (?)
            transport = uux                 # Par dfaut 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
  mme coder en dur les chemins vers diffrentes machines ou domaines
  dans /etc/smail/maps/table.


  44..66..  LLee ffiicchhiieerr ttrraannssppoorrttss
















    # local - dlivre le courriel aux utilisateurs locaux
    # Indique  smail d'ajouter directement dans les fichiers BAL dans le rpertoire
    # /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;                 # insre > 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 scurit accrue
    #       group = mail,            # groupe pour tre propritaire des fichiers pour System V
    #       mode = 0660,             # sous System V, le groupe mail doit pouvoir accder
    #       suffix = "\n",           # ajouter un code nouvelle ligne supplmentaire
    #       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
    # spares 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;                 # insre > avant From dans le corps

            cmd = "/usr/bin/procmail",      # utilise procmail pour dlivrer 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,           # ressayer si un tube est cass

    # pipe - dlivre le courriel  des commandes shells.
    # Cela est utilis implicitement quand smail rencontre des adresses commenant
    # avec un caractre barre verticale, comme "|/usr/lib/news/recnews talk.bizarre".
    # La barre verticale est enleve 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 casses.

    # file - dlivrer le courrier dans des fichiers
    # Utilis implicitement lorsque smail rencontre des adresses qui commencent
    # par un slash (/) ou un caractre 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,                    # dveloppe ~ 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 dlivrer  l'hte 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 caractres d'adresses
    # le drapeau -r la livraison immdiate, des parenthses autour de la variable
    # $user emp^eche l'interprtation des caractres spciaux 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 casss.
            umask = 0022,
    #       pipe_as_sender,

    # uux_one_addr - dlivre le courrier par UUCP  un hte distant qui ne peut
    #                prendre qu'une adresse  la fois.
    # Cela est souvent ncessaire quand on livre le courrier  un site qui
    # tourne sous une version non modifie 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 empche une livraison immdiate
            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,                      # excute getmail sous "root"
            group=mail,                     # excute 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 rseau 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 ncessaire de restreindre max_addrs  100, puisqu'il
    #  s'agit de la limite infrieure dont a besoin l'implmentation SMTP pour
    # prendre en charge un message.

    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'adresses

            short_timeout=5m,               # le timeout pour les oprations courtes
            long_timeout=2h,                # le timeout pour les oprations 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,                       # rsoud 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'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 l'utilisez pour les
  courriels FIDO. A part cela, vous ne devriez pas avoir besoin d'diter
  quoi que ce soit dans ce fichier dfinissant les agents de transport
  (comme uux, smtp ...) vous pouvez les utiliser comme paramtres dans
  l'autre fichier config.

  A noter que j'ai comment quelques parties, comme les "pipes" ou
  "file", pour amliorer la scurit.


  44..77..  LLee rrppeerrttooiirree mmaappss//

  Il contient les fichiers map et tables :

  Commenons 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 dfinir diffrent transport pour diffrents chemins, par
  exemple "smtp" pour vos machines dans votre rseau 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 "*"
  !).




  44..88..  DD''aauuttrreess bboonnss eexxeemmpplleess

  Les fichiers prcdents sont ceux que j'utilise actuellement pour mon
  site, vous ne devriez rencontrer aucun problme 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 diffrentes faons.


























































  #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 - dlivre le courrier aux utilisateurs nouveaux
    #
    # Indiquer  smail d'ajouter directement aux fichiers BAL utilisateur dans le
    # rpertoire /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;                 # insre > avant From dans le corps

            file = /usr/mail/${lc:user},    # utiliser cet emplacement pour System V
            group = mail,                   # groupe propritaire de fichier pour System V
            mode = 0660,                    # sous System V, le groupe mail a accs
            suffix = "\n",                  # ajoute  nouveau un retour chariot supplmentaire
            append_as_user,

    # pipe - dlivre 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 enleve de l'adresse avant d'tre donne 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 casss

    # file - dlivre du courrier dans des fichiers
    #
    # Ceci est utilis implicitement quand smail rencontre des adresses qui commencent
    # avec un caractre 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,                    # dveloppe ~ et $ dans l'adresse
            suffix = "\n",
            mode = 0644

    # uux - dlivre au programme rmail pour un site UUCP distant
    #
    # Dans une transaction UUCP on peut dlivrer  l'hte 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 caractres pour l'adresse

            # le drapeau -r empeche une livraison immdiat, les parenthses autour
            # de la variable $user empeche l'interprtation des caractres spciaux par uux.
            cmd = "/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
            umask = 0022,
            pipe_as_sender
    # uux_one_addr - dlivre le courrier  travers UUCP  un hote distant qui prends
    # une adresse  la fois
    #
    # Cela est souvent ncessaire lorsque l'on dlivre du courrier  un site utilisant
    # une version non modifie 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 immdiate
            cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
            umask = 0022, pipe_as_sender

    # demand - dlivre  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 immdaitement
            cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
            umask = 0022, pipe_as_sender

    # uusmtp - dlivre  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.
    # lve 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 immdiate, les adresses destinataires
      # sont stockes dans les donnes envoyes  l'entre standard de smtp.
            cmd = "/usr/bin/uux - -r -g$grade $host!rsmtp",
            umask = 0022, pipe_as_sender

    # demand_uusmtp - dlivre  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 immdiatement
            cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
            umask = 0022, pipe_as_sender

    # smtp - dlivre 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 rseau BSD existe.


    # NOTE: il peut etre ncessaire de restreindre max_addrs  100, puisque c'est la limite
    #       infrieure 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 utiliss pour livrer le courrier
    #  des hotes spcifiques  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





  44..99..  RReellaanncceerr iinneettdd

  Pour excuter smail en tant que dmon 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.


  44..1100..  SSmmaaiill eett ssmmttpp

  Gnralement, les fournisseurs d'accs (ISP) utilisent smtp, par
  consquent vous ne devriez pas avoir de problme pour envoyer vos
  courriels. Si votre ligne internet est hors service lors de l'envoi de
  courriel, dans ce cas les courriels rsident dans
  /var/spool/smail/input. Lorsque la ligne est  nouveau oprationnelle,
  runq est dmarr et envoi les courriels en attente.  Toutefois, la
  rception de courriel est le problme puisque votre fournisseur
  d'accs a plusieurs clients  grer, et pas seulement vous !

  Habituellement, vous pouvez rcuprer vos courriels via le protocole
  POP, voir la section POP ci-dessous.


  55..  SSeennddmmaaiill++IIDDAA

  Pour les sites d'importance, sendmail vaut la peine d'tre choisi, en
  raison de son incroyable facilit d'utilisation, mais vous devez vous
  dcider 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 rcent (2.0), le choix sera sendmail 8.x

  Rappelez-vous, les dbutants en linux ou les personnes concernes par
  la scurit/facilit de la configuration devraient plutt essayer
  d'utiliser smail ou qmail, qui sont plus facile  utiliser et plus
  sr.

  55..11..  IInnssttaallllaattiioonn dduu ssoouurrccee


  

     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'hte.m4".

     Editez la rpartition de hostname, aliases, smarthost et en
     rpartir la bonne dans votre site. Le fichier par dfaut est pour
     un site n'utilisant qu'uucp qui a des enttes de domaine et qui
     communique avec l'hte intelligent (Smart host) .  Puis faire "make
     votre_nom-d'hte.cf" et mettre le fichier rsultant dans
     /etc/sendmail.cf.


    Si vous n'utilisez que uucp, vous n'avez *AUCUN* besoin de crer
     une des tables mentionnes 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 entres
     uucpxtable pour chacun (ou leur envoyer un courriel passera par
     l'hte intelligent) et excuter 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 scurit dans la 5.67a et les
  prcdentes. Une autre amlioration 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 dtails.

  Les sources de sendmail+IDA se trouvent sur  <vixen.cso.uiuc.edu> ;
  Ils ne ncessitent 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 particulirement 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 scurit qui ETAIENT (!!!) dans les anciennes versions que
  vous auriez rcupres ou compiles avant le premier dcembre 1993 ont
  t combls.


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


  55..22..  LLee ffiicchhiieerr sseennddmmaaiill..mm44

  Sendmail+IDA requiert de crer le fichier sendmail.m4 plutt 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 particulirement 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 gnral 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 rcupre 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 hte relais intelligent
      define(RELAY_MAILER, UUCP-A)dnl               # nous atteignons moria via uucp
      dnl #
      dnl #--------------------------------------------------------------------
      dnl #
      dnl # les diffrentes tables de recherche dbm
      dnl #
      define(ALIASES, LIBDIR/aliases)dnl            # alias systmes
      define(DOMAINTABLE, LIBDIR/domaintable)dnl    # mettre le domaine aux htes
      define(PATHTABLE, LIBDIR/pathtable)dnl        # chemins base de donnes
      define(GENERICFROM, LIBDIR/generics)dnl       # adresses From gnriques
      define(MAILERTABLE, LIBDIR/mailertable)dnl    # mailers par hte ou domaine
      define(UUCPXTABLE, LIBDIR/uucpxtable)dnl      # chemins vers les htes que nous fournissons
      define(UUCPRELAYS, LIBDIR/uucprelays)dnl      # chemins court-circuits
      dnl #
      dnl #--------------------------------------------------------------------
      dnl #
      dnl # inclue le code 'rel' 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 -------





  55..33..  DDffiinniirr uunn aaggeenntt ddee ccoouurrrriieell llooccaall

  A la diffrence de la plupart des distributions Unix, Linux n'a pas
  par dfaut un agent pour dlivrer le courriel local. Dornavent,
  deliver ou procmail est gnralement install, ainsi aucune difficult
  ne sera ajoute  cette installation dj 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 dfinir 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 dfinition par dfaut 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
  dfinirez plutt 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 rside dans
  /bin. Veuillez noter que procmail est en gnral meilleur que deliver,
  par exemple pour le filtrage de courriel.


  55..44..  LLeess ttaabblleess ddbbmm ddee sseennddmmaaiill++IIDDAA

  Mettre en place un comportement particulier, pour les sites ou les
  domaines, est effectu  travers un nombre de tables dbm optionnelles
  plutt 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 dernire version du Guide
  d'Administration Rseau du Projet de Documentation Linux (LDP) qui
  sera disponible vraiment-bientt-maintenant pour plus de dtails.


    mailertable - dfini les comportements particuliers pour les sites
     distants ou les domaines.

    uucpxtable - force uucp  dlivrer le courriel aux htes qui sont
     au format DNS

    pathtable - dfini les chemins BANG ??? UUCP pour les sites
     distants ou les domaines.

    uucprelays - court circuite le chemin pathalias vers les htes
     distants connus

    genericfrom - converti les adresses internes en adresses gnriques
     visible pour le monde extrieur.

    xaliases - converti les adresses gnriques en/ partir d'adresses
     internes valides.

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





  55..55..  BBoonn qquueelllleess eennttrreess ssoonntt vvrraaiimmeenntt nncceessssaaiirreess ??

  Lorsque vous n'utilisez aucune des tables optionnelles dbm, sendmail
  dlivre le courrier via le RELAY_HOST et RELAY_MAILER dfinis dans le
  fichier sendmail.m4 utilis pour gnrer sendmail.cf. Il est ais de
  passer outre ce comportement  travers des entres dans domaintable ou
  uucpxtable.

  Un site gnrique 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'entres spcifiques du tout.

  De fait, tous les systmes devraient utiliser les macros DEFAULT_HOST
  et PSEUDONYMS, qui dfinissent le nom canonique et l'alias du site par
  lequel il se fait connaitre.

  Si tout ce que vous avez est un hte relais et un agent relais de
  courrier, vous n'avez pas  prendre les options par dfaut puisque
  cela marche automagiquement. Les htes 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 manire simple et
  juste transmettre tous vos courriel sortant vers votre fournisseur
  d'accs et le laisser s'en occuper.  Ainsi vous devrez dfinir votre
  domaine dans ISOLATED_DOMAINS et VALIDATION_DOMAINS, vous devrez
  dfinir votre fournisseur d'accs dans RELAY_HOST et RELAY_MAILER 
  TCP. Bien sr, vous voulez demander la permission avant de monter un
  systme comme relais gnral.


  55..66..  SSeennddmmaaiill 88..xx

  Le Sendmail 8.7.x de Berkeley a t la dernire 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 rcuprant une des nombreuses
  distributions binaires de l'habituel site d'archives Linux plutt 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.


  55..77..  UUnn ffiicchhiieerr mmcc dd''eexxeemmppllee ppoouurr llaa 88..77..xx

  De mme 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 hte linux qui est configur comme suit:
                 #
                 #       - connect  Internet pour le courrier sortant (ici ppp)
                 #       - connect via UUCP pour le mail entrant
                 #       - entte 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'accs 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')





  55..88..  LLeess ........ ddee SSeennddmmaaiill vv88

  Je suppose qu'il y a quelques diffrences pour les 'bigots IDA' parmi
  nous.



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




  55..99..  LLeess aaggeennttss ddiissttrriibbuutteeuurrss llooccaauuxx

  A la diffrence de la plupart des systmes d'exploitation, Linux
  n'avait pas de courriel intgr : vous deviez avoir un programme pour
  distribuer le courrier local, comme "lmail", "procmail" ou "deliver".

  Toutefois, toutes les distributions rcentes inclues un distributeur
  local !


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


  66..  LLee ccoouurrrriieell PPOOPP

  Cette section concerne aussi IMAP, pas trs diffrent de POP.


  66..11..  HHiissttoorriiqquuee

  Sur un rseau de station de travail, le courriel a toujours t un
  problme :


    Soit vous utilisez ""user@computer.foo.com" avec des soucis lorsque
     "computer" est hors service, faire connaitre votre rseau aux
     personnes extrieures,  avoir diffrentes adresses pour une
     personne passant  une autre machine, ...

    Soit vous installez un centre de tri (mail hub), "mailhost.foo.com"
     avec des rgles de rcritures, ainsi tous les utilisateurs
     semblent faire leur envoi de la mme adresse, mme s'ils sont sur
     des ordinateurs diffrents.

  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 mthode tait retransmettre (forwarding) ou UUCP,
  smtp, etc. mais c'est trop compliqu.

  Alors vint POP/IMAP, chacun avec des problmes de scurit au dbut,
  (maintenant rsolus en utilisant ssh sur les nouvelles versions) :


  66..22..  RRccuupprreerr ssoonn ccoouurrrriieerr

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

  Les problmes de mot de passe peuvent tre rsolus en crant un
  "cannal" crypt que POP utilisera ou en utilisant les extensions de
  APOP ou RPOP. Le problme du lecteur de courriel peut tre resolu soit
  en changeant d'agent utilisateur (mozilla est prt pour POP, de mme
  Emacs ou Pine) ou en utilisant un "rcuprateur de courriel" POP
  associ  un agent distributeur local.

  gwpop (a Good Way to POP, une bonne faon de faire du POP) vaut le
  coup puisqu'il cre un "cannal" crypt et dpose 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 excuterez :



            $ 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 diffrentes
  options ci-dessus !)


  66..33..  EEnnvvooyyeerr dduu ccoouurrrriieerr

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

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


  66..44..  LLiirree ssoonn ccoouurrrriieell

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


  66..55..  TTeessttss

  Pour vrifier 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  crer 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 bannire du centre de tri pop.
  Si vous n'utilisez pas ssh, n'oubliez pas de mettre en commentaire
  $ssh dans le script gwpop. Pour vrifier si procmail est en cours,
  essayez "procmail -v".


  66..66..  UUttiilliissaattiioonn

  Maintenant vous pouvez diter le script Perl de gwpop pour vrifier
  que tout va bien, puis excuter 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 tlcharg vers votre machine locale 
  l'endroit indiqu  gwpop. (S'il vous plait testez avec quelques
  Courriels !).

  Vous pouvez aussi utilisez gwpop comme dmon :



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





  Les messages de gwpop sont envoys  syslog et gwpop s'excute sans
  fin ; un signal "HUP" obligera gwpop  chercher vos Courriels.

  Vous pourrez trouvez les logiciels de POP mentionns ici :

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

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

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


  77..  LLeess ""aaggeennttss uuttiilliissaatteeuurrss"" ddee CCoouurrrriieell

  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"
  mentionns 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 !





  77..11..  EEllmm

  Elm se compile, s'installe et s'excute 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 crer un
  fichier /usr/local/lib/elm/elm.rc pour outrepasser les informations
  prcompiles de hostname et de domain :


    remplacer "sousdomaine.domaine" avec votre nom de domaine

    "monnomdhte" avec le nom canonique du nom d'hte



                 #---------- /usr/local/lib/elm/elm.rc ------------------
                 #
                 # Nom d'hte non qualifi
                 hostname = monnomdhte
                 #
                 # domaine local
                 hostdomain = sousdomaine.domaine
                 #
                 # Nom d'hte entirement qualifi
                 hostfullname = monnomdhte.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 reu. Metamail est disponible  <thumper.bellcore.com>
  et bien sr via "archie".

  Dans la catgorie "trop beau pour tre vrai", il y a une distribution,
  Elm-2.4.24, avec "PGP intgr". Pour l'essayer, rcuprer le fichier
  <ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz>, qui est
  l'elm2.4.24 avec l'option PGP ajoute. Vous le configurez et le
  compilez de la mme manire que l'Elm normal, ce qui veut dire que
  vous devrez ajouter les patchs mentionns plus haut.  Pour ce que cela
  vaut, je l'utilise ici et l'apprcie beaucoup. Bien sr, il doit y
  avoir des versions disponibles plus rcentes , y compris elm-ME+.

  Bien que cet lment ne soit pas spcifique  linux, il est nanmoins
  peru (de faon errone) comme un bug pnible 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 problme est d'enlever
  les alias de Courriel post-gnrs (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 rcupr la distribution binaire.


  Elm a un format amlior et non compatible d'aliases ; vous devez vous
  assurez que le chemin qu'utilise Elm pour aliases est diffrent de
  celui que sendmail/smail utilise. Vu le nombre de remarques sur ce
  problme, il est vident qu'au moins une distribution majeure 'dans la
  rue' a t mal configure (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 intressantes ...


  77..22..  MMaaiillxx

  Epargnez vous des ennuis : aller simplement chercher le kit mailx de
  la Slackware 2.1.0 ou suprieure, qui a la bonne implmentation 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.


  77..33..  DD''aauuttrreess aaggeennttss uuttiilliissaatteeuurrss

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

    Pine      - de l'Universit de Washington

    Metamail  - autorise l'utilisation MIME

    mh        - une autre faon de grer le Courriel

    deliver   - fichier/gestion des Courriels bas sur des rgles

    procmail  - fichier/gestion des Courriels bas sur des rgles

    Majordomo - gre les listes de diffusion

    Mserv     - permet les fichiers par Courriel


  88..  RReemmeerrcciieemmeennttss

  Les personnes qui suivent m'ont aid au rassemblement de l'information
  et des expriences qui ont permis la ralisation 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
  !


















