このページは大阪弁化フィルタによって翻訳生成されたんですわ。

翻訳前ページへ


Cette conversion est simple pour un humain, mais pas pour un outil automatique de r馗olte d'adresses ; c'est par cons駲uent utile pour prot馮er nos g駭駻eux contributeurs des courriers non sollicit駸.

1.2 Objectifs

aux versions des distributions RedHat et Debian en particulier.

1.3 Nouvelles versions

Des nouvelles versions (NDT : en anglais) de ce document seront post馥s r馮uli鑽ement sur comp.os.linux.announce, comp.answers et mail.answers. Elles seront 馮alement ajout馥s aux diff駻ents sites ftp anonymes qui archivent de tels documents comme par exemple sunsite.unc.edu.

De plus, vous pourrez trouver ce document sur la page du

Les remarques concernant le format actuel de ce document doivent 黎re adress馥s au coordinateur des HOWTO : Tim Bynum (<howto at wallybox.cei.net>).

1.5 Copyright

comp.mail.elm Le logiciel de courrier 駘ectronique elm. comp.mail.mh Le logiciel Rand Message Handling. comp.mail.mime Multipurpose Internet Mail Extensions. comp.mail.misc Groupe g駭駻al sur le courrier 駘ectronique. comp.mail.multi-media Le courrier 駘ectronique multim馘ia. comp.mail.mush Le Mail User's Shell (MUSH). comp.mail.sendmail L'agent sendmail de BSD. comp.mail.smail L'agent de courrier 駘ectronique smail. comp.mail.uucp Le courrier 駘ectronique dans un environnement uucp.

2.3 Listes de diffusion

  • le Linux Networking Administrators' Guide ;
  • le Mail-User-HOWTO ;
  • le Serial-HOWTO ;
  • le Ethernet-HOWTO ;
  • le UUCP HOWTO si vous utilisez UUCP.
  • 2.5 Livres

    utilis駸 par les sites USENET.
  • Unix Communications de Waite Group contient une description de chacun des 駘駑ents (et plus) et de la mani鑽e dont ils s'imbriquent.
  • Sendmail des 馘itions O'Reilly and Associates semble 黎re la r馭駻ence ultime sur sendmail-v8 et sendmail+IDA. C'est un incontournable pour quiconque souhaite comprendre sendmail sans se casser les dents.
  • The Internet Complete Reference d'Osborne est un bon livre de r馭駻ence qui explique les diff駻ents services disponibles sur Internet. C'est une grande source d'information sur les forums de discussions, le courrier 駘ectronique, et beaucoup d'autres sujets.
  • The Linux Networking Administrators' Guide d'Olaf qu'un, celui-ci constitue un bon choix pour tout apprendre sur les r駸eaux Unix.
  • 3. Comment marche le courrier 駘ectronique

    Nous allons maintenant nous int駻esser au flux d'informations qui se produit Voici un exemple :

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


                       +--------+          +--------+
    +-------+ compose  |        | appelle  |        |  
    | Alice |--------->|  MUA   |--------->|  MTA   |:::>:::::
    +-------+          |appelant|          |appelant|       ::   sur la
                       +--------+          +--------+       ::   machine
                                                            ::   appelante
    .......................................................................
     ::::>|   MTA   |--------->| LDA |===============>|  de   |  sur la
          |recevant |          |     |                |  Bob  |  machine
          +---------+          +-----+                +-------+  recevante
                                                        |   |
                                                        |   |
                         +----------------<-------------+   |
                         |                                  |
                  +-----------+         +--------+          |
                  | signaleur |         | MUA de |<---------+
                  |  de Bob   |         |  Bob   |
                  +-----------+         +--------+
                         |                  |
                         |      +-----+     |
                         +----->| Bob |<----+
    sera sendmail, bien que quelques autres agents de transport
    deviennent de plus en plus populaire et puissent faire leur apparition dans de
    futures distributions Linux. Plus loin dans ce HOWTO, nous examinerons
    馮alement le panorama des agents de transport.

    ressemble. Les lignes envoy馥s par la machine d'Alice sont marqu駸 par un E:, celle de la machine de Bob par un R:.

          E: MAIL FROM:<alice@paysdesmerveilles.com>
          R: 250 OK
          E: RCPT TO:<bob@dobbs.com>
          R: 250 OK
          E: DATA
          R: 354 Start mail input; end with <CRLF>.<CRLF>
          E: From: "Alice" <alice@paysdesmerveilles.com>
          E: Message-Id: <199711131704.MAA18447@paysdesmerveilles.com>
          E: Subject: Avez-vous vu mon lapin blanc ?
          E:                                                 >>alice>>
          E: .
          R: 250 OK
    

    D'habitude, une commande SMTP est une simple ligne de texte, et il en va de m麥e pour la r駱onse. La commande DATA est une exception : apr鑚 avoir lu la son courrier, il lance son propre agent d'utilisateur de courrier qui regarde et 馘ite ce fichier.

    3.2 Signaleur de courrier

    Un autre type de programme joue un r?e important dans la cha?e de distribution du courrier 駘ectronique, bien qu'il n'envoie pas ou ne lise pas de courrier. C'est le signaleur de courrier, un programme qui surveille votre bo?e aux lettres et vous signale l'arriv馥 de chaque nouveau courrier 駘ectronique.

    la famille sh/ksh/bash, regardez les variables MAIL et MAILPATH.

    Les syst鑪es utilisant X sont livr駸 avec l'un des nombreux petits gadgets qui v駻ifient p駻iodiquement si de nouveaux courriers sont arriv駸, et vous le S: USER bob R: +OK bob S: PASS redqueen R: +OK bob's maildrop has 2 messages (320 octets) S: STAT R: +OK 2 320 S: LIST R: +OK 2 messages (320 octets) R: 1 120 R: 2 200 R: . S: RETR 1 R: +OK 120 octets R: <le serveur POP3 envoie le message 1> R: . S: DELE 1 R: +OK message 1 deleted S: RETR 2 R: +OK 200 octets R: <le serveur POP3 envoie le message 2> R: . S: DELE 2 R: +OK message 2 deleted S: QUIT R: +OK dewey POP3 server signing off (maildrop empty) S: <le client se d馗onnecte>

    parce que vous changez souvent de machine) fetchmail est probablement une solution meilleure que n'importe quelle lecteur de courrier int馮rant POP ou IMAP. Fetchmail peut se lancer en arri鑽e plan et r馗up駻er votre courrier p駻iodiquement, et votre xbiff(1) ou tout autre signaleur de courrier marchera comme si tout se passait par SMTP. De plus, fetchmail est beaucoup plus tol駻ant que les lecteurs de courrier envers les diff駻ents particularismes et non respect des standards des serveurs de messagerie, et il g鑽e mieux les erreurs.

    Voici un diagramme sch駑atisant les deux cas (avec et sans fetchmail) :


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

    Sous Unix, que pratiquement tous les lecteurs de courrier suivent la m麥e convention. Chaque ligne commen軋nt par From  (attention, il y a un espace apr鑚 From) d饕ute un nouveau courrier. Si un comp.dcom.modems ou les diverses excellentes FAQ sur les modems et la communication s駻ie ainsi que les messages p駻iodiques sur USENET.

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

    L'agent de transport de courrier est le programme qui transf鑽e le courrier de

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

    Chacun de ces agents a ses propres fonctionnalit駸, mais le meilleur compromis est qmail. Il options pass馥s sur la ligne de commande de sendmail. C'est pratique pour les lecteurs de courrier qui supposent souvent qu'ils parlent avec sendmail.

    5.2 smail v3.2

    smail 2.5. Ce programme est obsol鑼e depuis longtemps. Ne vous emb黎ez pas avec lui.)

    5.3 qmail

    Le programme qmail est un agent de transport de courrier compatible avec sendmail 馗rit

    Une section expliquant comment remplacer votre agent de transport de courrier par exim sera bient? ajout馥.

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

    6.1 Qmail v1.03

    partie difficile : la configuration est vraiment imm馘iate.

    Obtenir qmail

    Allez sur www.qmail.org pour t駘馗harger la derni鑽e version.

    D馗ompresser les sources

    Ensuite, d馗ompressez le en tapant

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

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

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

    Pr駱arer la compilation

    Maintenant entrez dans le r駱ertoire qmail pour examiner la configuration par d馭aut :

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

    Par exemple, vous pouvez respectivement ajouter

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

    et

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

    Maintenant vous pouvez lancer

    make setup check
    

    pour tester votre configuration, ensuite

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

    ./config-fast ordinateur.lambda.fr
    

    Maintenant, vous devez installer quelques alias, puisque /etc/alias File : ".qmail-decode" &root File : ".qmail-dumper" &root File : ".qmail-games" &root File : ".qmail-ingres" &root File : ".qmail-mailer-daemon" &postmaster File : ".qmail-manager" &root File : ".qmail-news" &root File : ".qmail-nobody" &root File : ".qmail-operator" &root File : ".qmail-postmaster" &root File : ".qmail-root" &guylhem File : ".qmail-system" &root File : ".qmail-toor" &root File : ".qmail-uucp" &root File : ".qmail-uucp-default" |preline -dr /usr/bin/uux - -r -gC -a"${SENDER:-MAILER-DAEMON}" lm!rmail "($DEFAULT@$HOST)"

    Vous devez cr馥r chacun de ces fichiers dans ~alias en rempla軋nt &guylhem dans .qmail-root par votre propre compte courrier par votre connexion UUCP !

    Maintenant vous devez d馗ider dans quel format vos utilisateurs recevront leur courrier.

    Voici mon avis :

    Pour corriger le format par d馭aut, lisez chacun des fichiers dans /var/qmail/boot et copiez celui que vous pr馭駻ez vers /var/qmail/rc.

    home ou proc sont des choix s?s mais je pr馭鑽e home pour des raisons de s馗urit駸.

    Ici vous pouvez sp馗ifier le mode d'envoi par d馭aut, par exemple

    #:alias-uucp
    

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

    pour lancer qmail (軋 n'interf駻era pas avec votre agent de transport de courrier), ensuite

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

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

    D駸installer votre ancien agent de transport de courrier

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

    Tout d'abord, arr黎ez-le :

    Puis r馥ssayez de stopper votre agent de transport de courrier (s'il le faut, r駱騁ez ces deux 騁apes ad nauseam).

    Ensuite, tuez votre agent de transport :

    $ killall -TERM nom_du_d駑on
    $ killall -CONT nom_du_d駑on
    

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

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

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

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

    Tout ceci doit se trouver sur la m麥e ligne.

    Si vous utilisez un vielle distribution avec un init non SysV (c'est par peut varier.

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

    • Pour la Debian :
      #!/bin/sh
      
      test -x /var/qmail/rc || exit 0
      
      case "$1" in
        start)
           echo -n "Starting mta: " # d駑arrage de l'agent de transport
           sh -cf '/var/qmail/rc &'
           echo "qmail."
           ;;
        stop)
           echo -n "Stopping mta: " # arr黎 de l'agent de transport
           killall qmail-lspawn
           echo "qmail."
           ;;
        restart)
           echo -n "Restarting mta: " # red駑arrage de l'agent de transport
           killall -HUP qmail-lspawn
           killall -ALRM qmail-lspawn
           echo "qmail."
           ;;
        *)
           echo "Usage: /etc/init.d/qmail {start|stop|restart}"
           exit 1
      esac
      
      exit 0
      
    • Pour la RedHat :
      #!/bin/sh
      #
      # qmail         ce script shell s'occupe du d駑arrage et de l'arr黎 de qmail
      #
      # source la biblioth鑷ue de function
      . /etc/rc.d/init.d/functions
      
      # source la configuration du r駸eau
      . /etc/sysconfig/network
      
      export PATH=$PATH:/var/qmail/bin
      
      # v駻ifie que le r駸eau est en place
      [ ${NETWORKING} = "no" ] && exit 0
      
      [ -f /usr/sbin/sendmail ] || exit 0
      
      # examine les options de d駑arrage du script
      case "$1" in
        start)
              # Lance les d駑ons.
              echo -n "Starting qmail: " # d駑arrarage de qmail
              qmail-start '|preline procmail' splogger qmail &
              touch /var/lock/subsys/qmail
              echo
              ;;
        stop)
              # Arr黎e les d駑ons.
              echo -n "Shutting down qmail: " # arr黎 de qmail
              killproc qmail-lspawn
              echo
              rm -f /var/lock/subsys/qmail
              ;;
        restart)
              $0 stop
              $0 start
              ;;
        status)
              status qmail
              ;;
        *)
              echo "Usage: qmail {start|stop|restart|status}"
              exit 1
      esac
      
      exit 0
      

    m騁hode) ou r馗up駻ez les sources de smail et compilez le. Si vous compilez smail, vous aurez besoin d'avoir ce qui suit dans votre fichier os/linux pour que sed fabrique des scripts shell qui marchent chez vous.

    CASE_NO_NEWLINES=true 
    

    Une fois install馥s, les fichiers de configurations iront certainement dans le r駱ertoire /etc/smail (mais cela peut-黎re diff駻ent si vous utilisez une vielle distribution) ; commen輟ns par les 馘iter !

    le fichier config

    # source
    smart_path=polux
    smart_transport=uux
    
    # destination
    hostname=barberouge
    domains=linux.lmm.com
    
    visible_name=barberouge.linux.lmm.com
    uucp_name=barberouge.linux.lmm.com
    
    # max_message_size=512k
    # auth_domains=foo.bar
    

    Vous pouvez aussi utiliser postmaster_address = votre_nom, cachez la topologie du r駸eau dans les adresses sortantes (si vous 黎es un portail) en utilisant bvisible_name, choisir quelles adresses # Il existe peu de raisons d'y apporter des changements significatifs. # Leur unique raison d'黎re est de reconnaitre et de d騅elopper les # adresses de la forme : # :include:pathname # qui peuvent apparaitre dans les fichiers alias, les listes de nobody; # lorsque des violations mod駻馥s des droits # se produisent, associer aux adresses # l'identifiant nobody ; copysecure, # utiliser les droits du director alias ; copyowners, # utiliser le propri騁aire du director alias. # forwardinclude - d騅eloppe les adresses ォ :include:filename サ produites # par les fichiers forward copysecure, # utiliser les droits du director forwarding ; copyowners, # utiliser le propri騁aire du director forwarding. # aliases - cherche les d騅eloppements d'alias stock駸 dans une base de donn馥. # cette option n'est pas utile ; sender_okay, # ne pas ignorer l'exp馘iteur lors des # d騅eloppements d'adresses ; owner=owner-$user; # les probl鑪es sont dirig駸 vers # l'adresse du propri騁aire ; file=/etc/aliases, modemask=002, # l'acc鑚 en 馗riture ne doit pas 黎re # forward - cherche des d騅eloppements d'adresse selon le contenu de la base # de donn馥s ォ forwarding サ. # C'est la base des adresses des renvois utilisateurs pour tout un sous-domaine. # Les informations n馗essaires pour faire suivre le courrier des utilisateurs, # pr駸ents ou pass駸, vers leur machine pr馭駻馥 sont conserv馥s ici. # La base forward est exp馘i馥 vers les autres syst鑪es locaux lors de chaque # modification, afin de maintenir la coh駻ence du r駸eau. #forward: # cette option n'est pas utile ; # owner = real-$user; # les probl鑪es sont dirig駸 vers # l'adresse du propri騁aire ; # # file = /etc/forward, # modemask = 002, # doivent 黎re envoy駸 les courriers re輹s par cet utilisateur, au lieu (ou # en plus) d'黎re stock駸 en local. dotforward: driver = forwardfile, # le directeur g駭駻aliste forwarding ; owner = postmaster, nobody, sender_okay; file = ~/.forward, # le fichier .forward du r駱ertoire personnel ; checkowner, # l'utilisateur peut 黎re propri騁aire de ce fichier , owners = root, # ou bien root ; # Cela 駑ule le m馗hanisme de renvoi de courrier des syst鑪es V6/V7/System-V qui utilise # une ligne d'adresses de renvoi au d饕ut des fichiers boites aux lettres (BAL) utilisateur # avec comme pr馭ixe la cha?e ォ Forward to サ (avec un blanc apr鑚 to) forwardto: driver = forwardfile, owner = postmaster, nobody, sender_okay; file = /var/spool/mail/${lc:user}, # pointe sur la BAL utilisateur ; forwardto, # autoriser la fonction ォ Forward to サ ; checkowner, # l'utilisateur peut 黎re propri騁aire de ce fichier, owners = root, # ou root ; modemask = 0002, # sous System V, le groupe mail a la permission d'馗riture ; # une BAL utilisateur. Par exemple, des erreurs de d騅eloppement d'un fichier #.forward pourraient 黎re distribu馥s ici, ou des boucles dans le renvoi de courrier entre # plusieurs machines pourraient 黎re r駸olues en utilisant une adresse real-nom_d_utilisateur. driver = user; transport = local, prefix = "real-" # par exemple, reconnait real-root. # lists - d騅eloppe les listes de diffusion stock馥s dans le r駱ertoire list # Les listes de diffusions peuvent 黎re cr馥s simplement en cr饌nt un fichier # dans le r駱ertoire /etc/smail/lists. lists: driver = forwardfile, caution, # marque toutes les adresses avec l'indicateur ォ caution サ, # trop long, la taille limite des noms de # fichiers 騁ant de 14 caract鑽es ; file = lists/${lc:user} # les listes sont sous $smail_lib_dir. # owners - d騅eloppe les listes de diffusion stock馥s dans le r駱ertoire des # propri騁aires de listes (r駱ertoire ォ list owner サ). # Les listes de propri騁aires de listes de diffusion peuvent 黎re simplement cr馥s en # cr饌nt un fichier dans le r駱ertoire /etc/smail/lists/owner. Ces listes permettent # de diffuser localement les messages d'erreurs g駭駻馥s par une liste de diffusion. # Pour cr馥r une liste des propri騁aires d'une liste de diffusion, # cr馥r un fichier portant le nom de la liste dans /etc/smail/lists/owners. # Cela va cr馥r une adresse de courrier owner-nom_de_liste, # telle qu'utilis馥 par le directeur ォ lists サ plus haut. owners: driver = forwardfile, caution, # marque toutes les adresses avec l'indicateur ォ caution サ, # request - d騅eloppe les listes de diffusions stock馥s dans le r駱ertoire des listes # de requ黎es. Les listes de diffusion des requ黎es concernant une liste de diffusion # peuvent 黎re cr馥s tout simplement en cr饌nt un fichier dans le r駱ertoire # /etc/smail/lists/request. Les adresses requ黎e sont utilis馥s en g駭駻al # comme adresse standard pour les demandes concernant une liste de diffusion. # Par exemple, les demandes d'abonnement ou de d駸abonnement pour une liste seront

    Vous de devriez pas avoir besoin de changer quoi que ce soit ici, seulement les option destin馥s aux listes de diffusions si vous voulez g駻er de telles listes avec smail, ou bien les options de renvoi (forward options) si, par exemple vous voulez interdire les renvois.

    Le fichier fidopaths

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

    Cr馥z ce fichier seulement si vous utilisez ifmail et FIDO.

    Le fichier routers

      # des autres bases de donn馥s de routage. Pour changer la base, 馘iter le
      # fichier maps/force.path puis faire un ォ make サ dans le sous-r駱ertoire maps/
      forces:
              driver = pathalias,             # nom du routeur effectuant les recherches
                                              #   dans les bases de chemins ;
              method = /etc/smail/maps/table; # les transports sont dans ce fichier ;
              file = forcepaths,              # fichier contenant l'information sur
              driver=uuname,                  # utiliser un programme renvoyant les voisins ;
              transport=uux;
              cmd="/usr/bin/uuname -a",       # plus pr馗is駑ent, utiliser le programme uuname ;
      #        domain=uucp                    # enlever le suffixe ォ~.uucp~サ
    
      # smart_host - un directeur vers une ォ~machine de relais postal~サ partiellement d馭inie
      # Si l'attribut smart_path du fichier de configuration contient un
      # chemin entre l'h?e local et un h?e distant, alors les noms d'h?es
      #       local,                          # utiliser la forme locale de distribution ;
      #       from,                           # ajoute la ligne d'enveloppe ォ From_ サ ;
      #       unix_from_hack;                 # ins鑽e > avant From dans le corps du message ;
      #
      # le filtrage du courrier et permettre de sauvegarder les courriers provenant de
      # listes de diffusions dans des bo?es aux lettres s駱ar馥s s'ils le souhaitent.
    
      local:  +inet,
              -uucp,
              driver = pipe,                  # envoi du message via un tube
              return_path,                    # inclus un champ ォ Return-Path: サ ;
              local,                          # utiliser la forme locale de distribution ;
              from,                           # ajoute la ligne d'enveloppe ォ From_ サ ;
              unix_from_hack;                 # ins鑽e > avant From dans le corps du message ;
    
              cmd = "/usr/bin/procmail",      # utilise procmail pour distribuer le courrier local ;
              parent_env,                     # tire les informations d'environnement de
      #       parent_env,                     # tire les informations d'environnement de
                                              #   l'adresse du parent ;
      #       pipe_as_user,                   # utilise l'identifiant utilisateur
      # par un barre de division ォ / サ ou un tilde ォ ~ サ, comme ォ /usr/info/list_messages サ
      # ou peut 黎re ォ ~/Mail/inbox サ.
    
      #file:  driver = appendfile,
      #       return_path, local, from, unix_from_hack;
      #
      #       expand_user,                    # d騅eloppe ~ et $ dans l'adresse.
      #       check_path,
      #       suffix = "\n",
      #       mode = 0644
    
      # uux - distribue le courrier au programme rmail sur un site UUCP distant
      #
      # Il est possible, au cours d'une seule transaction UUCP, de distribuer
              max_addrs = 5,                  # au plus 5 adresses par appel ;
              max_chars = 200;                # au plus 200 caract鑽es pour une adresses ;
    
      # l'option -r 騅ite une distribution imm馘iate, les parenth鑚es autour de la variable
              from;                           # fourni une ligne d'enveloppe ォ From_ サ ;
    
              # l'option -r emp鹹he une distribution imm馘iate.
    
              cmd = "/usr/bin/uux - -r -g$grade $host!rmail (${strip:user})",
              umask = 0022,
              pipe_as_sender
    
      queueonly:
              driver = pipe;                  # envoi du message via un tube ;
              cmd = "/usr/lib/sendmail -Q -f $sender -bm $user",
                                              # utilise getmail pour les distributions locales ;
              user=root,                      # ex馗ute getmail en tant qu'utilisateur ォ root サ ;
              group=mail,                     # ex馗ute getmail sous le groupe ォ mail サ ;
              parent_env,                     # tire les informations d'environnement de
      # s'agit de la limite inf駻ieure qu'une mise en oeuvre de SMTP est tenue de
      # prendre en charge.
    
      smtp:   driver=tcpsmtp,
              inet,                           # si UUCP_ZONE n'est pas d馭ini ;
      #       uucp,                           # si UUCP_ZONE est d馭ini ;
              -max_addrs, -max_chars;         # pas de limite sur le nombre d'adresses ;
    
              short_timeout=5m,               # la dur馥 maximum des op駻ations courtes ;
      ifmail:
              from,received,max_addrs=5,max_chars=200,
              driver=pipe;
              pipe_as_sender,
              cmd="/usr/local/bin/ifmail -x9 -r$host $((${strip:user})$)"
    

    Vous ne devez inclure la partie ifmail que si vous utilisez ifmail pour les courriers FIDO. タ part cela, vous ne devriez pas avoir besoin de modifier quoi que ce soit dans ce fichier qui d馭init les agents de transport (comme UUX, SMTP, etc.)

    Il contient les fichiers map et table.

    Tout d'abord le fichier map :

    #N      foo.bar foo2.bar2
    #S      AT 486/RedHat Linux 1.2.13
    #O      organization
    #C      contact
    #E      administration (email)
    #T      phone
    #P      address
    #R
    par polux.linux.eu.org).

    Maintenant le fichier table :

     
    *       uux
    

    Vous pouvez d馭inir diff駻ents transports pour diff駻ents chemins, par exemple smtp pour les machines de votre r駸eau local, uux pour le reste du monde ou vice-versa (j'utilise UUCP pour tous les courriers sortants, donc j'utilise * !)

    Autres bons exemples

    Les fichiers pr馗馘ents sont ceux que j'utilise pour mon site ; vous ne devriez pas rencontrer de probl鑪es en les utilisant comme bases pour vos propres fichiers.

    Les fichiers suivants sont donn駸 comme de bons exemples pour configurer smail de diff駻entes mani鑽es.

    #ident "@(#) transports,v 1.2 1990/10/24 05:20:46 tron Exp"
    
      # Voir smail(5) pour une description compl鑼e du contenu de ce fichier
    
      # local - distribution du courrier aux utilisateurs locaux
      #
              return_path,                    # ajoute le champ ォ Return-Path: サ ;
              local,                          # utiliser la forme locale de distribution ;
              from,                           # ajoute la ligne d'enveloppe ォ From_ サ ;
              unix_from_hack;                 # ins鑽e > avant From dans le corps du message ;
    
              file = /usr/mail/${lc:user},    # utiliser cet emplacement pour System V ;
              group = mail,                   # groupe devant 黎re propri騁aire des fichiers
                                              #   pour le System V ;
              mode = 0660,                    # sous System V, le groupe mail doit avoir les
                                              #   droits d'acc鑚 ;
              suffix = "\n",                  # ajouter d'une ligne suppl駑entaire.
              append_as_user,
    
              cmd = "/bin/sh -c $user",       # envoyer l'adresse au shell Bourne ;
              parent_env,                     # tire les informations d'environnement de
                                              #   l'adresse du parent ;
              -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 bris駸.
    
    
      # file - distribue le courrier dans des fichiers
      #
              return_path, local, from, unix_from_hack;
    
              file = $user,                   # le nom de fichier est pris dans l'adresse 
              append_as_user,                 # utilise l'identifiant utilisateur
              from,                           # fourni une ligne d'enveloppe ォ From_ サ ;
              max_addrs = 5,                  # au plus 5 adresses par appel ;
              max_chars = 200;                # au plus 200 caract鑽es pour une adresse ;
    
              driver = pipe,
              uucp,                           # utilise le format d'adresse de style UUCP ;
              from;                           # fourni une ligne d'enveloppe ォ From_ サ ;
    
              # l'option -r emp鹹he une distribution imm馘iate ;
    
              uucp, from, max_addrs = 5, max_chars = 200;
    
              # si l'option -r est omise, essaye de contacter le site distant imm馘iatement.
              cmd = "/usr/bin/uux - -g$grade $host!rmail $(($user)$)",
              umask = 0022, pipe_as_sender
    
      # uusmtp - distribution vers un programme rsmtp sur un site UUCP distant
      #
      # Distribution via un simple protocol de transfert SMTP par lots
      # vers la machine distante.
      # Ce qui permet d'utiliser des adresses bien plus libres et qui 騅ite les
      # limitations de uux en termes de nombre d'adresses de destination.
    
      uusmtp: driver = pipe,
              bsmtp,                          # envoi des lots de commandes SMTP ;
              -max_addrs,                     # il n'y a pas de limite sur le nombre
              -max_chars;                     # et la taille des adresses de destination ;
    
        # mettre -r pour que la distribution ne soit pas imm馘iate ; les adresses de
        # destination sont stock馥s dans les donn馥s envoy馥s vers l'entr馥 standard de rsmtp.
    
              # si l'option -r est omise, essaye de contacter le site distant imm馘iatement.
              cmd = "/usr/bin/uux - -g$grade $host!rsmtp",
              umask = 0022, pipe_as_sender
    
      # smtp - distribution du courrier en utilisant SMTP sur TCP/IP
      #
      # s'agit de la limite inf駻ieure qu'une mise en oeuvre de SMTP est tenue de
      # prendre en charge.
    
      smtp:   driver = smtp,
              -max_addrs,
              -max_chars
    
      #ident "@(#) table,v 1.2 1990/10/24 05:20:31 tron Exp"
    
    

    Relancer inetd

    Pour lancer smail en tant que d駑on SMTP, ajoutez une des lignes suivantes dans votre /etc/inetd.conf :

             smtp stream tcp nowait  root  /usr/bin/smtpd smtpd
    
  • Si vous utilisez un noyau un peu moins vieux (1.2) : sendmail+IDA et la modification du code source
  • Ceux qui utilisent un noyau r馗ent (2.0) choisirons sendmail 8.x .
  • Attention, les linuxiens d饕utants et les personnes pr駮ccup馥s par la

  • Placez vous dans le r駱ertoire /usr/local/lib/mail/CF et concat駭ez les fichiers sample.m4 et local.m4 dans votre_nom_de_machine.m4.
  • ノditez hostname, aliases et smarthost et placez-y les informations touch sur les fichiers pour que le Makefile marche. ノditez ensuite le fichier .m4, lancez make sendmail.cf et testez-le.

    Si votre site utilise uniquement UUCP et que vous dialoguez avec plus de d騁ails.

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

    dnl # La cha?e ォ dnl サ est utilis馥 comme en-t黎e d'une ligne de commentaires. dnl # (Enfin pas exactement, mais utilisez-la pour cela si vous en avez dnl # besoin :-) dnl # En g駭駻al, il est pr馭駻able d'騅iter de remplacer les chemins par dnl # d馭aut dans LIBDIR dnl #define(LIBDIR,/usr/local/lib/mail)dnl # dossier contenant tous les dnl # fichiers de support~; define(LOCAL_MAILER_DEF, mailers.linux)dnl # outil de distribution locale~; define(POSTMASTERBOUNCE)dnl # les messages retourn駸 sont dnl # envoy駸 au ォ~receveur principal~サ dnl # (postmaster)~; define(PSEUDODOMAINS, BITNET UUCP)dnl # ne pas essayer le DNS sur ceux-ci. dnl # dnl #------------------------------------------------------------- dnl # dnl # noms par lesquels nous sommes connus define(PSEUDONYMS, machine.sousdomaine.domaine machine.UUCP) dnl # dnl # notre nom de machine define(HOSTNAME, machine.sousdomaine.domaine) dnl # dnl # notre nom UUCP define(UUCPNAME, machine)dnl dnl # dnl #------------------------------------------------------------- dnl # define(UUCPNODES, |uuname|sort|uniq)dnl # nos voisins UUCP~; define(BANGIMPLIESUUCP)dnl # s'assure que le courrier define(BANGONLYUUCP)dnl # UUCP est correctement trait驃; define(RELAY_HOST, mon_voisin_UUCP)dnl # notre machine-relais~; define(RELAY_MAILER, UUCP-A)dnl # on atteind notre machine- dnl # relais par UUCP dnl # dnl #-------------------------------------------------------------------- dnl # dnl # les diffentes tables dbm dnl # define(ALIASES, LIBDIR/aliases)dnl # les alias syst鑪e define(DOMAINTABLE, LIBDIR/domaintable)dnl # machines du domaine define(PATHTABLE, LIBDIR/pathtable)dnl # base de donn馥s des chemins define(GENERICFROM, LIBDIR/generics)dnl # adresses sources g駭駻iques define(MAILERTABLE, LIBDIR/mailertable)dnl # agents de courrier par machine dnl # ou par domaine define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # chemin des machines que l'on dnl # alimente define(UUCPRELAYS, LIBDIR/uucprelays)dnl # chemins rapides dnl # dnl #-------------------------------------------------------------------- dnl # dnl # inclut le ォ~v駻itable~サ code qui fait tout marcher dnl # (fournit avec le code source) dnl # include(Sendmail.mc)dnl # entr馥 n馗essaire ! dnl # dnl #------------ FIN DE L'EXEMPLE DE FICHIER SENDMAIL.M4 ------- -------

    Choisir un logiciel de distribution locale du courrier

    タ la diff駻ence de la plupart des distributions Unix, Linux n'est pas fourni avec un agent par d馭aut de distribution du courrier local.

    sendmail.m4 qui pointe vers un fichier de ce genre :

      # -- /usr/local/lib/mail/mailers.linux --
      #     (agents de distribution locaux pour Linux)
      Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u
    mailers.linux mais incluez ce qui suit dans votre fichier
    sendmail.m4 :

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

    La mise en place de comportements sp馗iaux vers certains sites et domaines est r饌lis馥 via un certain nombre de tables dbm plut? que par une modification directe du fichier sendmail.cf.

    Consultez le num駻o de juillet 1994 du Linux Journal (si vous pouvez encore le trouver :-) et r馭駻ez-vous aux docs qui se trouvent dans les sources, ou au chapitre sendmail de la nouvelle version de Networking Administration Guide du Linux Documentation Project qui sera disponible incessamment sous peu.

    • mailertable : d馭init un comportement sp馗ial pour les machines et les domaines distants.
    • uucpxtable : force la distribution de courrier via UUCP pour des machines qui sont au format DNS.
    • Quelles sont les entr馥s r馥llement n馗essaires ?

      Quand il n'utilise aucune table dbm optionnelle, sendmail distribue le courrier via le RELAY_HOST (machine de relais) et le RELAY_MAILER n'utilise qu'UUCP et fait suivre le courrier via UUCP par une machine de relais postal, n'a probablement besoin d'aucune entr馥s dans ces tables.

      Virtuellement, tous les syst鑪es devraient d馭inir les macrosi DEFAULT_HOST et PSEUDODYMS , qui d馭inissent le nom canonique du site et les alias par lesquels il est connu.

      Si vous n'avez qu'une machine de relais et un agent relais de courrier vous n'avez pas besoin de d馭inir ces macros puisque cela marche automagiquement. Les machines UUCP n馗essiteront probablement de d馭inir UUCPNAME comme leur nom officiel UUCP.

      Vous devrez probablement 馮alement d馭inir RELAY_MAILER et RELAY_HOST qui active le routage via une machine de relais postal.

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

      L'id馥 principale de sendmail v8 est que l'on veut configurer le strict minimum pour que cela marche. Ce qui suit est un exemple qui devrait vous # - tous les courriers sortants qui ne sont pas locaux passent # par la machine-relais (RELAY_HOST) via SMTP (on utilise ppp # et on laisse notre FAI faire son boulot) # # vds 3/31/95 # #--------------------------------------------------------------------- include(`../m4/cf.m4') VERSIONID(`machine Linux sans DNS transferant son courrier vers la'dnl `machine-relais d'un FAI via slip')dnl Cwmachine.mon.domaine machine.UUCP localhost OSTYPE(linux) FEATURE(nodns)dnl FEATURE(always_add_domain)dnl FEATURE(redirect) FEATURE(nocanonify) dnl MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)dnl define(`RELAY_HOST', smtp:relai.machine.domaine) define(`SMART_HOST', smtp:relai.machine.domaine) define(`UUCP_RELAY', smtp:relai.machine.domaine) define(`LOCAL_MAILER_PATH', `/bin/deliver')

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

      6.5 Agents de distribution du courrier local (LDA)

      タ la diff駻ence de la plupart des syst鑪es d'exploitation, Linux ne g鑽e pas le

      7. Administration des lecteurs de courrier 駘ectronique (MUA)

      7.1 Mutt

      Vous ne devriez pas avoir de probl鑪es pour compiler, installer et lancer mutt. Les utilisateurs de qmail peuvent r馗up駻er un correctif ou le lancer avec

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

      Les utilisateurs de qmail peuvent r馗up駻er le correctif pour utiliser les fonctionnalit駸 bien pratiques de qmail ou lancer elm avec l'option -f pour lire leurs bo?es aux lettres locales.

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

      • remplacez sous-domaine.domaine par votre nom de domaine ;
      • http://thumper.bellcore.com et bien s? via archie.

        Dans la cat馮orie ォ trop beau pour 黎re vrai サ il existe une distribution, d'Elm-2.4.24 qui sait g駻er PGP. Pour l'essayer, r馗up駻ez le fichier ftp://ftp.viewlogic.com/pub/elm-2.4pl24pgp3.tar.gz qui n'est rien d'autre que elm 2.4.24 avec l'ajout de PGP. Il se configure et se compile de trucs edmail de la SLS 1.00 et de les remplacer par mailx.

        8. G駻er le courrier distant

        Cette section d馗rit l'utilisation de POP et d'IMAP pour g駻er le courrier distant.

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

      • Soit vous utilisez une poste centrale (mail hub) machine.lambda.fr avec des r鑒les de r鳬criture pour que l'on ait l'impression que tous utilisateurs envoient leur courrier depuis la m麥e adresse quelque-soit l'ordinateur qu'ils utilisent.

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

      En utilisant rsh avec elm ? :-)

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

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

    8.3 Envoyer du courrier

    Pour cela, vous devrez utiliser un programme g駻ant SMTP comme par exemple celui que vous pr馭駻ez. Ensuite, quand vous atteindrez la section Tester, essayer d'envoyer un courrier 駘ectronique sur un compte local de votre passerelle de courrier.

    8.4 Lire le courrier

    $ telnet machine 110
    

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

    demandera pas de mot de passe, en cons駲uence, vous devrez cr馥r un fichier .shosts sur le serveur de courrier, contenant le nom du client. Pour tester la redirection de port ssh (que wgpop utilise), tapez

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

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

    8.6 Utilisation

    Maintenant vous pouvez 馘iter le script Perl gwpop pour v駻ifier que tout va bien, puis lancez gwpop :

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

    Si les ォ messages d'erreurs サ de gwpop vous parraissent normaux, le courrier sera

    Vous pouvez t駘馗harger les logiciels pop utilis駸 ici sur :

    9. Remerciements