  sendmail address rewriting mini-HOWTO
  Thomas Roessler, roessler@guug.de
  v0.0, 6 May 1998

  Ce document dcrit brivement la mise en place du fichier de configu
  ration de sendmail pour un accs individuel  l'Internet via le rseau
  tlphonique commut.

  11..  IInnttrroodduuccttiioonn

  On suppose que votre accs  l'Internet repose sur le principe le plus
  couramment rencontr de nos jours : une connexion au rseau d'un
  fournisseur d'accs via une liaison PPP au dessus d'une liaison srie.
  Le courrier qui vous est destin est rcupr auprs d'un serveur POP
  ou IMAP tandis que le courrier sortant est transmis via SMTP. Comme
  vous ne possdez pas de nom de domaine, tout doit transiter par la
  _m__m_e adresse.


  On suppose vous avez dj install une version rcente du sendmail
  d'Eric Allman. A l'criture de ces lignes, la version courante est la
  8.8.8.  Elle devrait fonctionner sans problmes.


  Le texte fait parfois rfrence  certaines spcificits des
  distributions GNU/Linux de Debian. Les utilisateurs de systmes
  diffrents adapteront.


  Vrifiez que vous disposez bien des informations suivantes :


    Le nom du serveur de courrier de votre Fournisseur d'Accs Internet

    Votre adresse lectronique



  On attend de la configuration  venir :


  1. que l'envoi de courrier entre utilisateurs locaux soit possible,

  2. que le reste de l'Internet voit les adresses des utilisateurs
     telles qu'elles sont dfinies au niveau du FAI ( et non les
     adresses locales ! ).


  Pour atteindre cet objectif, on utilisera la fonctionnalit
  genericstable de sendmail.


  22..  FFiicchhiieerrss iimmpplliiqquuss

  On regroupe tous les fichiers de configuration de sendmail dans un
  rpertoire particulier sous /etc : /etc/mail. Sendmail s'attendant 
  les trouver en /etc, /etc/sendmail.cf sera un lien symbolique vers
  /etc/mail/sendmail.cf.


  On trouvera dans /etc/mail :

    aliases - des adresses supplmentaires

    genericsdomain - diverses informations sur la configuration du
     systme
    genericstable - rgles de traduction

    sendmail.cf - fichier de configuration de sendmail

    sendmail.mc - la matrice du sendmail.cf.

  Certains de ces fichiers s'accompagnent de fichiers .db contenant les
  bases de donnes haches que sendmail utilise directement.


  L'arborescence d'origine de sendmail est cense se trouver en
  /usr/lib/sendmail.cf ainsi que c'est le cas avec les distributions
  GNU/Linux Debian. Reportez vous  la documentation de votre
  distribution si celle-ci diffre.


  33..  CCoonnffiigguurraattiioonn ddee sseennddmmaaiill

  33..11..  LLee ffiicchhiieerr ddee ccoonnffiigguurraattiioonn pprriinncciippaall

  La configuration de Sendmail repose sur un ensemble de rgles assez
  complexes. Bien que cela puisse s'avrer trs puissant, il n'est pas
  courant de fabriquer ex-nihilo un sendmail.cf. Il faudrait de surcroit
  y passer pas mal de temps. Si vous tes motiv, lancez vous dans la
  lecture de la bible disponible chez O'Reilly.


  Au lieu de forger  la main les rgles, on utilise le pr-processeur
  de macros m4 pour fabriquer un fichier de configuration  partir des
  lments prts  l'emploi qui sont fournis avec sendmail.


  Jetons un oeil sur les premires lignes du sendmail.mc :


  ______________________________________________________________________
  include(/usr/lib/sendmail.cf/m4/cf.m4)
  VERSIONID(`sendmail.mc - roessler@guug.de')
  OSTYPE(debian)
  define(`ALIAS_FILE',`/etc/mail/aliases')
  ______________________________________________________________________



  Tout d'abord, on inclut cf.m4. Ce fichier m4 contient de nombreuses
  macros utiles pour la suite. Ne vous trompez pas dans les chemins
  d'accs.  Ceux que nous donnons ici correspondent typiquement  un
  systme GNU/Linux Debian. La macro OSTYPE positionne les valeurs par
  dfaut de certaines variables. Si vous n'utilisez pas une Debian,
  remplacez ici "debian" par "linux". ALIAS_FILE fournit  sendmail
  l'emplacement du fichier d'alias.


  Les lignes suivantes forcent l'utilisation des fonctionnalits
  genericstable et prcisent o trouver les fichiers ncessaires :

  ______________________________________________________________________
  FEATURE(masquerade_envelope)
  FEATURE(genericstable, `hash -o /etc/mail/genericstable')
  GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
  ______________________________________________________________________


  masquerade_envelope rclame qu'une mise en forme du type en-tte soit
  applique  l'enveloppe des messages  expdier. Est concerne
  l'adresse vers laquelle les agents de transport extrieurs dirigeront
  leurs messages d'avertissement ou leurs avis d'checs. Les fichiers
  generics* seront dtaills plus loin.


  A prsent, on dfinit un hte intelligent ( "smart agent" ), c'est 
  dire une machine capable de grer le courrier sortant  notre place.
  Il ne s'agit pas ncessairement des serveurs POP ou IMAP de l'ISP. La
  hotline vous aidera le cas chant  dissiper les doutes.

  ______________________________________________________________________
  define(`SMART_HOST',`relai-de-sortie.mon.fournisseur')
  ______________________________________________________________________


  Remplacez _r_e_l_a_i_-_d_e_-_s_o_r_t_i_e_._m_o_n_._f_o_u_r_n_i_s_s_e_u_r par le nom complet ( FQDN )
  correspondant  votre fournisseur d'accs.


  Les deux dernires lignes incluent les dfinitions des "mailer" grce
  auxquels sendmail dtermine comment manipuler les diffrents types de
  courrier :

  ______________________________________________________________________
  MAILER(local)
  MAILER(smtp)
  ______________________________________________________________________




  Pour gnrer le fichier sendmail.cf  partir du sendmail.mc, excutez
  les commandes suivantes en tant qu'utilisateur root :

  ______________________________________________________________________
  # m4 sendmail.mc > _sendmail.cf
  # mv -f _sendmail.cf sendmail.cf
  ______________________________________________________________________


  Notez la technique qui consiste  enregistrer la sortie de m4 dans un
  fichier temporaire avant de l'installer au bon endroit. On vite ainsi
  que sendmail ne lise des fichiers de configuration incomplets !


  33..22..  MMooddiiffiiccaattiioonn ddeess aaddrreesssseess

  On commence par prciser  sendmail les adresses  considrer comme
  locales. Pas de difficults : rentrez le nom complet de votre machine
  dans le fichier /etc/mail/genericsdomain. Pour obtenir ce nom,
  excutez la commande suivante :

  ______________________________________________________________________
   $ hostname -f
  ______________________________________________________________________




  Passons aux rgles de recriture proprement dites :
  /etc/mail/genericstable. Ce fichier est form de deux colonnes
  spares par des blancs. La premire contient les adresses locales et
  la seconde les adresses lectroniques qui doivent tre employes  la
  place.  Le fichier devrait ressembler  a :



  ______________________________________________________________________
  harry   harryx@mon.fai
  maude   maudey@son.fai
  root    francois@mon.fai
  news    francois@mon.fai
  ______________________________________________________________________



  Il devrait y avoir une entre pour _c_h_a_q_u_e compte sur la machine isole
  de faon  ce que le courrier sortant du systme comporte des
  informations d'en-tte correctes.


  Afin d'amliorer les performances, sendmail n'utilise pas directement
  ce fichier mais une version hache. Pour la crer, excutez la
  commande suivante :


  ______________________________________________________________________
  # makemap -r hash genericstable.db < genericstable
  ______________________________________________________________________




  Notez que les rgles issues de genericstable ne s'appliquent _p_a_s au
  courrier local ni  celui que vous recevez de l'extrieur. La
  traduction n'a lieu que si un message est transmis au relai de votre
  FAI.


  33..33..  AAlliiaass

  Le fichier d'alias contient des adresses supplmentaires qui ne sont
  valables que pour les messages locaux. Ceci s'avre utile pour les
  comptes de maintenance tels root qui reoivent des messages crs
  automatiquement par le systme d'exploitation.


  Le point de dpart d'un /etc/mail/aliases pourrait ressembler  a :


  ______________________________________________________________________
  root: francois
  news: root
  postmaster: root
  mail: root
  www: root

  nobody: /dev/null
  MAILER-DAEMON: nobody
  ______________________________________________________________________



  Dans l'exemple ci-dessus, le courrier  destination des utilisateurs
  root, news, postmaster, mail, et www sont renvoys vers francois,
  tandis que ceux pour nobody et MAILER-DAEMON seront redirigs vers le
  /dev/null.


  De mme que le genericstable, le fichier aliases peut contenir
  _b_e_a_u_c_o_u_p de donnes. Comme il serait inefficace que sendmail utilise
  le fichier texte tel quel, le mcanisme employ pour le genericstable
  s'applique encore : on gnre une base de donnes hache. Au lieu de
  la commande makemap, rentrez cette fois la commande newaliases. Tout
  fonctionne automagiquement.


  44..  RRffrreenncceess

  Les sources de sendmail sont fournies avec une documentation
  abondante.  Lisez la donc, et tudiez plus particulirement le fichier
  /cf/README.


  Si vous souhaitez explorer davantage les options de configuration de
  sendmail, procurez vous la rfrence en la matire par Bryan Costales,
  Eric Allman et Neil Rickert : "Sendmail" ( O'Reilly, 1993 ).




















































