MFen 1.76 --> 1.92

This commit is contained in:
Marc Fonvieille 2003-12-10 17:47:07 +00:00
parent a6d64e1626
commit 192111ef36
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=19128

View file

@ -3,8 +3,7 @@
The FreeBSD French Documentation Project
$FreeBSD$
$Id: chapter.sgml,v 1.10 2003-04-09 10:01:37 blackend Exp $
Original revision: 1.76
Original revision: 1.92
-->
<chapter id="mail">
@ -66,9 +65,16 @@
<listitem><para>Comment d&eacute;panner les probl&egrave;mes
courants des serveurs de courrier
&eacute;lectronique.</para></listitem>
<listitem>
<para>Comment utiliser le protocole SMTP avec UUCP.</para>
</listitem>
<listitem>
<para>Comment utiliser le courrier &eacute;lectronique avec
une connexion temporaire.</para>
</listitem>
<listitem>
<para>Comment configurer l'authentification SMTP pour une
s&eacute;curit&eacute; accrue.</para>
s&eacute;curit&eacute; accrue.</para>
</listitem>
</itemizedlist>
@ -443,7 +449,7 @@ procmail: "|/usr/local/bin/procmail"</programlisting>
l'envoi du courrier &agrave; un programme, dans le cas pr&eacute;sent
le message est &eacute;crit sur l'entr&eacute;e standard de
<filename>/usr/local/bin/procmail</filename> par
l'interm&eacute;diaire d'un tube Unix.</para>
l'interm&eacute;diaire d'un tube &unix;.</para>
<para>Quand ce fichier est mis &agrave; jour, vous devez
ex&eacute;cuter la commande <command>make</command> dans
@ -674,6 +680,7 @@ postmaster@exemple.com postmaster@noc.exemple.net
<application>sendmail</application> est disponible &agrave; partir
de la page de manuel de &man.rc.sendmail.8;.</para>
</sect3>
</sect2>
<sect2>
<title>Lancement de votre nouvel agent au d&eacute;marrage</title>
@ -734,7 +741,7 @@ postmaster@exemple.com postmaster@noc.exemple.net
<para>Le programme <application>sendmail</application> est tellement
omnipr&eacute;sent comme logiciel standard sur les
syst&egrave;mes Unix que certains programmes supposent qu'il est tout
syst&egrave;mes &unix; que certains programmes supposent qu'il est tout
simplement d&eacute;j&agrave; install&eacute; et configur&eacute;.
Pour cette raison, de nombreux agents alternatifs fournissent
leur propre impl&eacute;mentation compatible avec l'interface en
@ -874,7 +881,7 @@ purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting>
<para>La r&eacute;ponse donn&eacute;e dans la FAQ de
<application>sendmail</application> est la suivante:</para>
<programlisting>* J'ai des messages &ldquo;Local configuration
<programlisting>J'ai des messages &ldquo;Local configuration
error&rdquo;, du style:
553 relay.domain.net config error: mail loops back to myself
@ -1291,6 +1298,280 @@ freefall MX 20 who.cdrom.com</programlisting>
</sect2>
</sect1>
<sect1 id="SMTP-UUCP">
<title>SMTP avec UUCP</title>
<para>La configuration de <application>sendmail</application>
fournie avec &os; est con&ccedil;ue pour les sites directement
connect&eacute;s &agrave; l'Internet. Les sites d&eacute;sirant
&eacute;changer leur courrier &eacute;lectronique par
l'interm&eacute;diaire d'UUCP doivent installer un autre fichier
de configuration pour
<application>sendmail</application>.</para>
<para>Modifier manuellement le fichier
<filename>/etc/mail/sendmail.cf</filename> est un sujet
r&eacute;serv&eacute; aux sp&eacute;cialistes. Dans version 8
de <application>sendmail</application> la
g&eacute;n&eacute;ration des fichiers de configuration se fait
par l'interm&eacute;diaire du processeur &man.m4.1;, o&ugrave;
la configuration se fait &agrave; un haut niveau d'abstraction.
Les fichiers de configuration &man.m4.1; se trouvent dans le
r&eacute;pertoire <filename
role="directory">/usr/src/usr.sbin/sendmail/cf</filename>.</para>
<para>Si vous n'avez pas install&eacute; toutes les sources du
syst&egrave;me, l'ensemble des fichiers de configuration de
<application>sendmail</application> a &eacute;t&eacute;
regroup&eacute; dans une archive s&eacute;par&eacute;e des
autres sources. En supposant que vous avez mont&eacute; votre
CDROM &os; contenant les sources, faites:</para>
<screen>&prompt.root; <userinput>cd /cdrom/src</userinput>
&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail</userinput></screen>
<para>Cette extraction ne donne lieu qu'&agrave; une centaine de
kilo-octets. Le fichier <filename>README</filename> dans le
r&eacute;pertoire <filename role="directory">cf</filename>
pourra faire office d'une introduction &agrave; la configuration
&man.m4.1;.</para>
<para>La meilleure fa&ccedil;on d'ajouter le support UUCP est
d'utiliser la fonctionnalit&eacute;
<literal>mailertable</literal>. Cela cr&eacute;&eacute; une
base de donn&eacute;es que <application>sendmail</application>
utilise pour d&eacute;cider de la mani&egrave;re dont il va
router le courrier &eacute;lectronique.</para>
<para>Tout d'abord, vous devez cr&eacute;er votre fichier
<filename>.mc</filename>. Le r&eacute;pertoire <filename
role="directory">/usr/src/usr.sbin/sendmail/cf/cf</filename>
contient quelques exemples. En supposant que vous avez
appel&eacute; votre fichier <filename>foo.mc</filename>, tout ce
dont vous avez besoin de faire pour le convertir en un fichier
<filename>sendmail.cf</filename> valide est:</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
&prompt.root; <userinput>make foo.cf</userinput>
&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
<para>Un fichier <filename>.mc</filename> classique devrait
ressembler &agrave; ceci:</para>
<programlisting>VERSIONID(`<replaceable>Votre num&eacute;ro de version</replaceable>') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', <replaceable>votre.relai.uucp</replaceable>)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw <replaceable>alias.de.votre.nom.de.machine</replaceable>
Cw <replaceable>votrenomdenoeuduucp.UUCP</replaceable></programlisting>
<para>Les lignes contenant les directives
<literal>accept_unresolvable_domains</literal>,
<literal>nocanonify</literal>, et
<literal>confDONT_PROBE_INTERFACES</literal> emp&ecirc;cheront
l'utilisation du DNS lors de l'envoi du courrier
&eacute;lectronique. La directive <literal>UUCP_RELAY</literal>
est n&eacute;cessaire pour le support de l'UUCP. Mettez juste
un nom de machine Internet capable de g&eacute;rer des adresses
d'un pseudo-domaine .UUCP; la plupart du temps, vous mettrez le
nom du serveur de messagerie de votre fournisseur
d'acc&egrave;s.</para>
<para>Apr&egrave;s avoir d&eacute;fini tout ceci, vous avez besoin
d'un fichier <filename>/etc/mail/mailertable</filename>. Si
vous n'avez qu'un seul lien avec l'ext&eacute;rieur qui est
utilis&eacute; pour votre courrier &eacute;lectronique, le
fichier suivant devrait suffire:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
. uucp-dom:<replaceable>your.uucp.relay</replaceable></programlisting>
<para>Un exemple plus complexe ressemblerait &agrave; ceci:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:</programlisting>
<para>Les trois premi&egrave;res lignes g&egrave;rent les cas
sp&eacute;cifiques o&ugrave; les courriers &eacute;lectroniques
pour l'ext&eacute;rieur ne devraient pas &ecirc;tre
envoy&eacute;s au serveur par d&eacute;faut, mais plut&ocirc;t
&agrave; des serveurs UUCP voisins afin de
&ldquo;raccourcir&rdquo; le chemin &agrave; parcourir. La ligne
suivante g&egrave;re le courrier &eacute;lectronique
destin&eacute; au domaine Ethernet local et qui peut &ecirc;tre
distribu&eacute; en utilisant le protocole SMTP. Et enfin, les
voisins UUCP sont mentionn&eacute;s dans la notation de
pseudo-domaine UUCP, pour permettre &agrave; un courrier du type
<literal><replaceable>voisin-uucp
</replaceable>!<replaceable>destinataire</replaceable></literal>
de passer outre les r&egrave;gles par d&eacute;faut. La
derni&egrave;re ligne doit toujours &ecirc;tre un point, ce qui
correspond &agrave; tout le reste, avec la distribution UUCP
vers un voisin UUCP qui sert de passerelle universelle de
courrier &eacute;lectronique vers le reste du monde. Tous les
noms de noeuds plac&eacute;s apr&egrave;s le mot cl&eacute;
<literal>uucp-dom:</literal> doivent &ecirc;tre des noms valides
de voisins UUCP, que vous pouvez v&eacute;rifier en utilisant la
commande <literal>uuname</literal>.</para>
<para>Pour vous rappeler que ce fichier doit &ecirc;tre converti
en un fichier de base de donn&eacute;es DBM avant d'&ecirc;tre
utilisable. La ligne de commande pour accomplir cette
conversion est rappel&eacute;e dans les commentaires au
d&eacute;but du fichier <filename>mailertable</filename>. Vous
devez lancer cette commande &agrave; chaque fois que vous
modifiez votre fichier
<filename>mailertable</filename>.</para>
<para>Pour finir: si vous n'&ecirc;tes pas certain du bon
fonctionnement de certaines configurations de routage du
courrier &eacute;lectronique, rappellez-vous de l'option
<option>-bt</option> de <application>sendmail</application>.
Cela lance <application>sendmail</application> dans le
<emphasis>mode test d'adresse</emphasis>; entrez simplement
<literal>3,0</literal>, suivi de l'adresse que vous
d&eacute;sirez tester. La derni&egrave;re ligne vous indiquera
le type d'agent utilis&eacute; pour l'envoi, la machine de
destination &agrave; laquelle l'agent doit envoyer le message,
et l'adresse (peut-&ecirc;tre traduite) &agrave; laquelle il
l'enverra. Pour quitter ce mode tapez <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>.</para>
<screen>&prompt.user; <userinput>sendmail -bt</userinput>
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter &lt;ruleset&gt; &lt;address&gt;
<prompt>&gt;</prompt> <userinput>3,0 foo@example.com</userinput>
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo &lt; @ example . com . &gt;
<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
</sect1>
<sect1 id="SMTP-dialup">
<title>Utiliser le courrier &eacute;lectronique avec une connexion
temporaire</title>
<para>Si vous disposez d'une adresse IP statique, vous ne devez
rien changer du param&eacute;trage par d&eacute;faut.
D&eacute;finissez votre nom de machine pour qu'il corresponde
&agrave; celui qui vous a &eacute;t&eacute; assign&eacute; pour
l'Internet et <application>sendmail</application> s'occupera du
reste.</para>
<para>Si votre adresse IP vous est attribu&eacute;e dynamiquement
et que vous utilisez une connexion PPP par modem pour
acc&egrave;der &agrave; l'Internet, vous disposez probablement
d'une boite aux lettres chez votre fournisseur d'acc&egrave;s.
Supposons que le domaine de votre fournisseur d'acc&egrave;s
soit <hostid role="domainname">example.net</hostid>, que votre
nom d'utilisateur soit <username>user</username>, que vous
avez appel&eacute; votre machine <hostid
role="fqdn">bsd.home</hostid>, et que votre fournisseur vous ait
demand&eacute; d'utiliser la machine <hostid
role="fqdn">relay.example.net</hostid> comme serveur relai de
messagerie &eacute;lectronique.</para>
<para>Pour pouvoir rapatrier votre courrier depuis votre boite aux
lettres, vous devez installer un agent de rapatriement.
L'utilitaire <application>fetchmail</application> est un bon
choix car il supporte la plupart des protocoles de messagerie.
Ce programme est disponible sous forme de paquetage ou &agrave;
partir du catalogue des logiciels port&eacute;s (<filename
role="package">mail/fetchmail</filename>). La plupart du temps,
votre fournisseur d'acc&egrave;s fournit l'acc&egrave;s aux
boites aux lettre par le protocole POP3. Si vous utilisez PPP
en mode utilisateur, vous pouvez automatiquement
r&eacute;cup&eacute;rer votre courrier quand une connexion
Internet est &eacute;tablie avec l'entr&eacute;e suivante dans
le fichier <filename>/etc/ppp/ppp.linkup</filename>:</para>
<programlisting>MYADDR:
!bg su user -c fetchmail</programlisting>
<para>Si vous utilisez <application>sendmail</application> (comme
montr&eacute; ci-dessous) pour distribuer le courrier aux
comptes non-locaux, vous voudrez probablement que
<application>sendmail</application> s'occupe de transmettre les
messages en attente d&egrave;s que votre connexion Internet est
&eacute;tablie. Pour cela, ajoutez la commande suivante
apr&egrave;s la commande <command>fetchmail</command> dans le
fichier <filename>/etc/ppp/ppp.linkup</filename>:</para>
<programlisting>!bg su user -c "sendmail -q"</programlisting>
<para>En supposant que vous avez un compte
<username>user</username> sur <hostid
role="fqdn">bsd.home</hostid>. Dans le r&eacute;pertoire de
l'utilisateur <username>user</username> sur <hostid
role="fqdn">bsd.home</hostid>, cr&eacute;ez un fichier
<filename>.fetchmailrc</filename> contenant:</para>
<programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
<para>Ce fichier ne devrait &ecirc;tre lisible que par
l'utilisateur <username>user</username> car il contient le mot
de passe <literal>MySecret</literal>.</para>
<para>Afin de pouvoir envoyer du courrier avec l'ent&ecirc;te
<literal>from:</literal> correcte, vous devez configurer
<application>sendmail</application> pour utiliser l'adresse
<literal>user@example.net</literal> plut&ocirc;t que
<literal>user@bsd.home</literal>. Vous pouvez &eacute;galement
dire &agrave; <application>sendmail</application> d'envoyer le
courrier via le serveur <hostid
role="fqdn">relay.example.net</hostid>, permettant une
transmission du courrier plus rapide.</para>
<para>Le fichier <filename>.mc</filename> suivant devrait
suffire:</para>
<programlisting>VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
<para>R&eacute;f&eacute;rez-vous &agrave; la section
pr&eacute;c&eacute;dente pour des d&eacute;tails sur la
conversion de ce fichier <filename>.mc</filename> en un fichier
<filename>sendmail.cf</filename>. N'oubliez pas
&eacute;galement de red&eacute;marrer
<application>sendmail</application> apr&egrave;s la mise
&agrave; jour du fichier
<filename>sendmail.cf</filename>.</para>
</sect1>
<sect1 id="SMTP-Auth">
<title>Authentification SMTP</title>
@ -1424,6 +1705,18 @@ define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting>
<filename>/var/log/maillog</filename> &agrave; la recherche
d'une erreur.</para>
<para>Vous pourrez rajouter les lignes suivantes au fichier
<filename>/etc/rc.conf</filename> afin de rendre ce service
disponible apr&egrave;s chaque d&eacute;marrage du
syst&egrave;me:</para>
<programlisting>sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
<para>Cela assurera l'initialisation de
<acronym>SMTP_AUTH</acronym>, l'authentification SMTP, au
d&eacute;marrage du syst&egrave;me.</para>
<para>Pour plus d'informations, veuillez consulter la page de la
documentation de <application>sendmail</application> concernant
<ulink url="http://www.sendmail.org/~ca/email/auth.html">