/usr/share/doc/HOWTO/fr-html/Sendmail-Address-Rewrite.html is in doc-linux-fr-html 2013.01-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.71">
<title>sendmail address rewriting mini-HOWTO</title>
</head>
<body>
<h1>sendmail address rewriting mini-HOWTO</h1>
<h2>Thomas Roessler, roessler@guug.de</h2>
v0.0, 6 May 1998
<hr>
<em>Ce document décrit briévement la mise en place du
fichier de configuration de sendmail pour un accés
individuel à l'Internet via le réseau
téléphonique commuté.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>On suppose que votre accés à l'Internet repose sur
le principe le plus couramment rencontré de nos jours : une
connexion au réseau d'un fournisseur d'accés via une
liaison PPP au dessus d'une liaison série. Le courrier qui
vous est destiné est récupéré
auprés d'un serveur POP ou IMAP tandis que le courrier
sortant est transmis via SMTP. Comme vous ne possédez pas de
nom de domaine, tout doit transiter par la <em>même</em>
adresse.</p>
<p>On suppose vous avez déjà installé une
version récente du sendmail d'Eric Allman. A
l'écriture de ces lignes, la version courante est la 8.8.8.
Elle devrait fonctionner sans problèmes.</p>
<p>Le texte fait parfois référence à certaines
spécificités des distributions GNU/Linux de Debian.
Les utilisateurs de systèmes différents
adapteront.</p>
<p>Vérifiez que vous disposez bien des informations
suivantes :</p>
<ul>
<li>Le nom du serveur de courrier de votre Fournisseur
d'Accés Internet</li>
<li>Votre adresse électronique</li>
</ul>
<p>On attend de la configuration à venir :</p>
<ol>
<li>que l'envoi de courrier entre utilisateurs locaux soit
possible,</li>
<li>que le reste de l'Internet voit les adresses des utilisateurs
telles qu'elles sont définies au niveau du FAI ( et non les
adresses locales ! ).</li>
</ol>
<p>Pour atteindre cet objectif, on utilisera la
fonctionnalité <code>genericstable</code> de sendmail.</p>
<h2><a name="s2">2. Fichiers impliqués</a></h2>
<p>On regroupe tous les fichiers de configuration de sendmail dans
un répertoire particulier sous <code>/etc</code> :
<code>/etc/mail</code>. Sendmail s'attendant à les trouver
en <code>/etc</code>, <code>/etc/sendmail.cf</code> sera un lien
symbolique vers <code>/etc/mail/sendmail.cf</code>.</p>
<p>On trouvera dans <code>/etc/mail</code> :</p>
<ul>
<li><code>aliases</code> - des adresses supplémentaires</li>
<li><code>genericsdomain</code> - diverses informations sur la
configuration du système</li>
<li><code>genericstable</code> - règles de traduction</li>
<li><code>sendmail.cf</code> - fichier de configuration de
sendmail</li>
<li><code>sendmail.mc</code> - la matrice du
<code>sendmail.cf</code>.</li>
</ul>
<p>Certains de ces fichiers s'accompagnent de fichiers
<code>.db</code> contenant les bases de données
hachées que sendmail utilise directement.</p>
<p>L'arborescence d'origine de sendmail est censée se
trouver en <code>/usr/lib/sendmail.cf</code> ainsi que c'est le cas
avec les distributions GNU/Linux Debian. Reportez vous à la
documentation de votre distribution si celle-ci diffère.</p>
<h2><a name="s3">3. Configuration de sendmail</a></h2>
<h2><a name="ss3.1">3.1 Le fichier de configuration
principal</a></h2>
<p>La configuration de Sendmail repose sur un ensemble de
règles assez complexes. Bien que cela puisse s'avérer
trés puissant, il n'est pas courant de fabriquer ex-nihilo
un <code>sendmail.cf</code>. 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.</p>
<p>Au lieu de forger à la main les règles, on utilise
le pré-processeur de macros <code>m4</code> pour fabriquer
un fichier de configuration à partir des
éléments préts à l'emploi qui sont
fournis avec sendmail.</p>
<p>Jetons un oeil sur les premières lignes du
<code>sendmail.mc</code> :</p>
<hr>
<pre>
include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(`sendmail.mc - roessler@guug.de')
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')
</pre>
<hr>
<p>Tout d'abord, on inclut <code>cf.m4</code>. Ce fichier m4
contient de nombreuses macros utiles pour la suite. Ne vous trompez
pas dans les chemins d'accès. Ceux que nous donnons ici
correspondent typiquement à un système GNU/Linux
Debian. La macro <code>OSTYPE</code> positionne les valeurs par
défaut de certaines variables. Si vous n'utilisez pas une
Debian, remplacez ici "debian" par "linux". <code>ALIAS_FILE</code>
fournit à sendmail l'emplacement du fichier d'alias.</p>
<p>Les lignes suivantes forcent l'utilisation des
fonctionnalités <code>genericstable</code> et
précisent où trouver les fichiers nécessaires
:</p>
<hr>
<pre>
FEATURE(masquerade_envelope)
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
</pre>
<hr>
<code>masquerade_envelope</code> réclame qu'une mise en
forme du type en-tête soit appliquée à
l'enveloppe des messages à expédier. Est
concernée l'adresse vers laquelle les agents de transport
extérieurs dirigeront leurs messages d'avertissement ou
leurs avis d'échecs. Les fichiers <code>generics*</code>
seront détaillés plus loin.
<p>A présent, on définit un hôte intelligent (
"smart agent" ), c'est à dire une machine capable de
gérer le courrier sortant à notre place. Il ne s'agit
pas nécessairement des serveurs POP ou IMAP de l'ISP. La
hotline vous aidera le cas échéant à dissiper
les doutes.</p>
<hr>
<pre>
define(`SMART_HOST',`relai-de-sortie.mon.fournisseur')
</pre>
<hr>
Remplacez <em>relai-de-sortie.mon.fournisseur</em> par le nom
complet ( FQDN ) correspondant à votre fournisseur
d'accés.
<p>Les deux dernières lignes incluent les définitions
des "mailer" grâce auxquels sendmail détermine comment
manipuler les différents types de courrier :</p>
<hr>
<pre>
MAILER(local)
MAILER(smtp)
</pre>
<hr>
<p>Pour générer le fichier <code>sendmail.cf</code>
à partir du <code>sendmail.mc</code>, exécutez les
commandes suivantes en tant qu'utilisateur root :</p>
<hr>
<pre>
# m4 sendmail.mc > _sendmail.cf
# mv -f _sendmail.cf sendmail.cf
</pre>
<hr>
Notez la technique qui consiste à enregistrer la sortie de
<code>m4</code> dans un fichier temporaire avant de l'installer au
bon endroit. On évite ainsi que sendmail ne lise des
fichiers de configuration incomplets !
<h2><a name="ss3.2">3.2 Modification des adresses</a></h2>
<p>On commence par préciser à sendmail les adresses
à considérer comme locales. Pas de difficultés
: rentrez le nom complet de votre machine dans le fichier
<code>/etc/mail/genericsdomain</code>. Pour obtenir ce nom,
exécutez la commande suivante :</p>
<hr>
<pre>
$ hostname -f
</pre>
<hr>
.
<p>Passons aux règles de reécriture proprement dites
: <code>/etc/mail/genericstable</code>. Ce fichier est formé
de deux colonnes séparées par des blancs. La
première contient les adresses locales et la seconde les
adresses électroniques qui doivent être
employées à la place. Le fichier devrait ressembler
à ça :</p>
<hr>
<pre>
harry harryx@mon.fai
maude maudey@son.fai
root francois@mon.fai
news francois@mon.fai
</pre>
<hr>
<p>Il devrait y avoir une entrée pour <em>chaque</em> compte
sur la machine isolée de façon à ce que le
courrier sortant du système comporte des informations
d'en-tête correctes.</p>
<p>Afin d'améliorer les performances, sendmail n'utilise pas
directement ce fichier mais une version hachée. Pour la
créer, exécutez la commande suivante :</p>
<hr>
<pre>
# makemap -r hash genericstable.db < genericstable
</pre>
<hr>
<p>Notez que les règles issues de <code>genericstable</code>
ne s'appliquent <em>pas</em> au courrier local ni à celui
que vous recevez de l'extérieur. La traduction n'a lieu que
si un message est transmis au relai de votre FAI.</p>
<h2><a name="ss3.3">3.3 Alias</a></h2>
<p>Le fichier d'alias contient des adresses supplémentaires
qui ne sont valables que pour les messages locaux. Ceci
s'avère utile pour les comptes de maintenance tels
<code>root</code> qui reçoivent des messages
créés automatiquement par le système
d'exploitation.</p>
<p>Le point de départ d'un <code>/etc/mail/aliases</code>
pourrait ressembler à ça :</p>
<hr>
<pre>
root: francois
news: root
postmaster: root
mail: root
www: root
nobody: /dev/null
MAILER-DAEMON: nobody
</pre>
<hr>
<p>Dans l'exemple ci-dessus, le courrier à destination des
utilisateurs <code>root</code>, <code>news</code>,
<code>postmaster</code>, <code>mail</code>, et <code>www</code>
sont renvoyés vers <code>francois</code>, tandis que ceux
pour <code>nobody</code> et <code>MAILER-DAEMON</code> seront
redirigés vers le <code>/dev/null</code>.</p>
<p>De même que le <code>genericstable</code>, le fichier
<code>aliases</code> peut contenir <em>beaucoup</em> de
données. Comme il serait inefficace que sendmail utilise le
fichier texte tel quel, le mécanisme employé pour le
<code>genericstable</code> s'applique encore : on
génère une base de données hachée. Au
lieu de la commande <code>makemap</code>, rentrez cette fois la
commande <code>newaliases</code>. Tout fonctionne
automagiquement.</p>
<h2><a name="s4">4. Références</a></h2>
<p>Les sources de sendmail sont fournies avec une documentation
abondante. Lisez la donc, et étudiez plus
particulièrement le fichier <code>/cf/README</code>.</p>
<p>Si vous souhaitez explorer davantage les options de
configuration de sendmail, procurez vous la référence
en la matière par Bryan Costales, Eric Allman et Neil
Rickert : "Sendmail" ( O'Reilly, 1993 ).</p>
</body>
</html>
|