<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: 1.116
-->

<chapter id="mail">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Bill</firstname>
	<surname>Lloyd</surname>
	<contrib>Contribution originale de </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Jim</firstname>
	<surname>Mock</surname>
	<contrib>R&eacute;&eacute;crit par </contrib>
	<!-- 2 Dec 1999 -->
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Courrier &eacute;lectronique</title>
  &trans.a.fonvieille;

  <sect1 id="mail-synopsis">
    <title>Synopsis</title>
    <indexterm><primary>email</primary></indexterm>
    <indexterm><primary>courrier &eacute;lectronique</primary></indexterm>

    <para>Le &ldquo;courrier &eacute;lectronique&rdquo;, plus connu sous le nom d'email,
      est une des formes de communication les plus utilis&eacute;es
      aujourd'hui.  Ce chapitre fournit une introduction sur comment
      faire fonctionner un serveur de courrier &eacute;lectronique sous
      FreeBSD, et comment envoyer et recevoir du courrier &eacute;lectronique sous &os;.  Cependant, cela n'est pas un document de
      r&eacute;f&eacute;rence, en fait de nombreux
      &eacute;l&eacute;ments importants ont &eacute;t&eacute; omis.
      Pour une couverture plus compl&egrave;te du sujet, le lecteur doit
      se r&eacute;f&eacute;rer aux nombreux ouvrages excellents
      list&eacute;s dans l'<xref linkend="bibliography">.</para>

    <para>Apr&egrave;s la lecture de ce chapitre, vous
      conna&icirc;trez:</para>
    <itemizedlist>
      <listitem>
	<para>Quels composants logiciel sont impliqu&eacute;s dans
	  l'envoi et la r&eacute;ception du courrier
	  &eacute;lectronique.</para>
      </listitem>

      <listitem>
	<para>O&ugrave; se trouvent sous FreeBSD les fichiers de
	  configuration de base de
	  <application>sendmail</application>.</para>
      </listitem>

      <listitem>
	<para>La diff&eacute;rence entre bo&icirc;tes aux lettres
	  distantes et bo&icirc;tes aux lettres locale.</para>
      </listitem>

      <listitem>
	<para>Comment emp&ecirc;cher les personnes &agrave; l'origine
	  de courriers non sollicit&eacute;s (spam) d'utiliser votre
	  serveur de courrier comme relais.</para>
      </listitem>

      <listitem>
	<para>Comment installer et configurer un agent de transfert de
	  courrier alternatif sur votre syst&egrave;me, en remplacement
	  de <application>sendmail</application>.</para>
      </listitem>

      <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>
      </listitem>

      <listitem>
        <para>Comment installer et utiliser un client de messagerie,
	  comme <application>mutt</application> pour envoyer et lire
	  du courrier &eacute;lectronique.</para>
      </listitem>

      <listitem>
	<para>Comme r&eacute;cup&eacute;rer votre courrier
	  &eacute;lectronique &agrave; partir d'un serveur
	  <acronym>POP</acronym> ou <acronym>IMAP</acronym>
	  distant.</para>
      </listitem>

      <listitem>
	<para>Comment appliquer automatiquement des r&egrave;gles de
	  filtrage au courrier entrant.</para>
      </listitem>
    </itemizedlist>
    <para>Avant de lire ce chapitre, vous devrez:</para>

    <itemizedlist>
      <listitem><para>Configurer correctement votre connexion r&eacute;seau
	(<xref linkend="advanced-networking">).</para>
      </listitem>
      <listitem><para>Configurer correctement les informations DNS
	pour votre serveur de courrier (<xref
	linkend="advanced-networking">).</para>
      </listitem>
      <listitem><para>Savoir comment installer des logiciels tiers
	(<xref linkend="ports">).</para></listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="mail-using">
    <title>Utilisation du courrier &eacute;lectronique</title>
    <indexterm><primary>POP</primary></indexterm>
    <indexterm><primary>IMAP</primary></indexterm>
    <indexterm><primary>DNS</primary></indexterm>

    <para>Il y a cinq &eacute;l&eacute;ments majeurs impliqu&eacute;s
      dans un &eacute;change de courrier.  Ce sont:
      <link linkend="mail-mua">le programme utilisateur</link>,
      <link linkend="mail-mta">le &ldquo;daemon&rdquo; serveur de
      courrier</link>, <link linkend="mail-dns">le serveur DNS</link>,
      <link linkend="mail-receive">une bo&icirc;te aux lettres distante ou locale</link>, et
      bien s&ucirc;r le <link linkend="mail-host">le serveur
      de courrier lui-m&ecirc;me </link>.</para>

    <sect2 id="mail-mua">
      <title>Le programme utilisateur</title>

      <para>Cela inclut des programmes en ligne de commande comme
	<application>mutt</application>, <application>pine</application>,
	<application>elm</application>, et
	<application>mail</application>, et des programmes graphiques
	comme <application>balsa</application>,
	<application>xfmail</application> pour juste en nommer
	quelques-uns, ou quelque chose de plus
	<quote>sophisticated</quote> comme un navigateur WWW.  Ces
	programmes transmettent simplement toutes les transactions
	concernant le courrier &eacute;lectronique au <link
	linkend="mail-host">serveur de courrier local</link>, soit en
	invoquant un des <link
	linkend="mail-mta">&ldquo;daemons&rdquo; serveurs</link>
	(Agents de transfert de courrier) disponibles, soit via
	<acronym>TCP</acronym>.</para>
    </sect2>

    <sect2 id="mail-mta">
      <title>Le &ldquo;daemon&rdquo; serveur de courrier</title>
      <indexterm>
        <primary>daemons serveurs de courrier</primary>
        <secondary><application>sendmail</application></secondary>
      </indexterm>
      <indexterm>
        <primary>daemons serveurs de courrier</primary>
        <secondary><application>postfix</application></secondary>
      </indexterm>
      <indexterm>
        <primary>daemons serveurs de courrier</primary>
        <secondary><application>qmail</application></secondary>
      </indexterm>
      <indexterm>
        <primary>daemons serveurs de courrier</primary>
        <secondary><application>exim</application></secondary>
      </indexterm>

      <para>&os; est fourni par d&eacute;faut avec
	<application>sendmail</application>, mais supporte
	&eacute;galement de nombreux autres &ldquo;daemons&rdquo;
	serveurs de courrier, parmi lesquels:</para>

      <itemizedlist>
	<listitem>
	  <para><application>exim</application>;</para>
	</listitem>

	<listitem>
	  <para><application>postfix</application>;</para>
	</listitem>

	<listitem>
	  <para><application>qmail</application>.</para>
	</listitem>
      </itemizedlist>

      <para>Le serveur a g&eacute;n&eacute;ralement deux
	fonctions&mdash;il est responsable de la r&eacute;ception du
	courrier comme celle de son envoi.  Il n'est cependant
	<emphasis>pas</emphasis> responsable de la
	r&eacute;cup&eacute;ration du courrier &eacute;lectronique en
	utilisant des protocoles comme <acronym>POP</acronym> ou
	<acronym>IMAP</acronym> pour lire votre courrier, il ne vous
	permet pas non plus la connexion &agrave; des bo&icirc;tes aux
	lettres locales de type <filename>mbox</filename> ou maildir.
	Vous avez besoin d'un <link
	linkend="mail-receive">&ldquo;daemon&rdquo;</link>
	suppl&eacute;mentaire pour cela.</para>

      <warning>
	<para>Les anciennes version de
	  <application>sendmail</application> ont de s&eacute;rieux
	  probl&egrave;mes de s&eacute;curit&eacute; qui peuvent avoir
	  pour cons&eacute;quence l'obtention d'un acc&egrave;s local
	  et/ou &agrave; distance &agrave; votre machine pour une
	  personne malveillante.  V&eacute;rifiez que vous utilisez
	  une version &agrave; jour pour &eacute;viter de tels
	  probl&egrave;mes.  Vous avez cependant toujours la
	  possibilit&eacute; d'installer un autre
	  <acronym>MTA</acronym> &agrave; partir du <link
	  linkend="ports">catalogue des logiciels port&eacute;s de
	  &os;</link>.</para>
      </warning>
    </sect2>

    <sect2 id="mail-dns">
      <title>Courrier &eacute;lectronique et DNS</title>

      <para>Le syst&egrave;me de noms de domaines (DNS) et son
	&ldquo;daemon&rdquo; <command>named</command> jouent un r&ocirc;le
	important dans la transmission du courrier &eacute;lectronique.
	Afin de d&eacute;livrer du courrier de votre site &agrave; un autre,
	le serveur recherchera le site distant dans la base de donn&eacute;es DNS
	pour d&eacute;terminer la machine qui recevra le courrier
	&eacute;lectronique pour le destinataire.  Ce processus
	intervient &eacute;galement quand un courrier
	&eacute;lectronique est envoy&eacute; &agrave; partir d'une
	machine distante vers votre serveur de courrier.</para>

      <indexterm>
	<primary>enregistrement MX</primary>
      </indexterm>

      <para>Le <acronym>DNS</acronym> g&egrave;re la correspondance
	entre nom de machine et adresse IP, et le stockage des
	informations sp&eacute;cifiques &agrave; la distribution du
	courrier &eacute;lectronique, connues sous le nom
	d'enregistrements MX.  L'enregistrement MX (&ldquo;Mail
	eXchanger&rdquo;) d&eacute;finit la machine, ou les machines,
	qui recevra le courrier pour un domaine particulier.  Si vous
	n'avez pas d'enregistrement MX pour votre machine ou votre
	domaine, le courrier sera directement envoy&eacute; &agrave;
	votre machine &agrave; condition que vous ayez un
	enregistrement A faisant correspondre &agrave; votre nom de
	machine votre adresse IP.</para>

      <para>Vous pouvez obtenir les enregistrements MX pour n'importe
	quel domaine en utilisant la commande &man.host.1; est
	pr&eacute;sent&eacute;e ci-dessous:</para>

      <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
    </sect2>

    <sect2 id="mail-receive">
      <title>R&eacute;ception de courrier</title>
      <indexterm>
        <primary>courrier &eacute;lectronique</primary>
        <secondary>r&eacute;ception</secondary>
      </indexterm>

      <para>La r&eacute;ception du courrier pour votre domaine se fait par le
	serveur de courrier.  Il collectera le courrier qui est
	envoy&eacute; &agrave; destination de votre domaine et le
	stockera soit sous le format <filename>mbox</filename> (la
	m&eacute;thode par d&eacute;faut de stockage du courrier
	&eacute;lectronique) ou le format Maildir, en fonction de
	votre configuration.  Une fois le courrier stock&eacute;, il
	peut &ecirc;tre lu localement en utilisant des applications
	comme &man.mail.1; ou <application>mutt</application>, ou lu
	&agrave; distance et r&eacute;cup&eacute;r&eacute; en
	utilisant des protocoles tels que <acronym>POP</acronym> ou
	<acronym>IMAP</acronym>.  Cela signifie que si vous
	d&eacute;sirez uniquement lire votre courrier
	&eacute;lectroniquement en local, vous n'avez pas besoin
	d'installer un serveur <acronym>POP</acronym> ou
	<acronym>IMAP</acronym>.</para>

      <sect3 id="pop-and-imap">
	<title>Acc&egrave;s aux bo&icirc;tes aux lettres distantes en
	  utilisant <acronym>POP</acronym> et
	  <acronym>IMAP</acronym></title>

	<indexterm><primary>POP</primary></indexterm>
	<indexterm><primary>IMAP</primary></indexterm>

	<para>Pour acc&eacute;der &agrave; des bo&icirc;tes aux
	  lettres distantes, vous devez avoir un acc&egrave;s &agrave;
	  un serveur <acronym>POP</acronym> ou
	  <acronym>IMAP</acronym>.  Ces protocoles permettent aux
	  utilisateurs de se connecter ais&eacute;ment &agrave; leurs
	  bo&icirc;tes aux lettes &agrave; partir de machines
	  distantes.  Bien que <acronym>POP</acronym> et
	  <acronym>IMAP</acronym> permettent, tous les deux,
	  l'acc&egrave;s aux bo&icirc;tes aux lettres pour les
	  utilisateurs, <acronym>IMAP</acronym> offre de nombreux
	  avantages, parmi lesquels:</para>

        <itemizedlist>
	  <listitem>
	    <para><acronym>IMAP</acronym> peut stocker les messages
	      sur un serveur distant et les
	      r&eacute;cup&eacute;rer.</para>
	  </listitem>

	  <listitem>
	    <para><acronym>IMAP</acronym> supporte les mises &agrave;
	      jour concourantes.</para>
	  </listitem>

	  <listitem>
	    <para><acronym>IMAP</acronym> peut &ecirc;tre
	      extr&ecirc;mement utile pour les connexions lentes car il
	      permet aux utilisateurs de r&eacute;cup&eacute;rer la
	      structure des messages sans les t&eacute;l&eacute;charger.
	      Il peut &eacute;galement effectuer des t&acirc;ches comme
	      la recherche sur le serveur pour r&eacute;duire les
	      transferts de donn&eacute;es entre clients et
	      serveurs.</para>
	  </listitem>
        </itemizedlist>

        <para>Pour installer un serveur <acronym>POP</acronym> ou
	  <acronym>IMAP</acronym>, les &eacute;tapes suivantes doivent
	  &ecirc;tre suivies:</para>

        <procedure>
	  <step>
	    <para>Choisissez un serveur <acronym>IMAP</acronym> ou
	      <acronym>POP</acronym> correspondant &agrave; vos
	      besoins.  Les serveurs <acronym>POP</acronym> et
	      <acronym>IMAP</acronym> suivants sont connus et sont de
	      bons exemples:</para>

	      <itemizedlist>
		<listitem>
		  <para><application>qpopper</application>;</para>
		</listitem>

		<listitem>
		  <para><application>teapop</application>;</para>
		</listitem>

		<listitem>
		  <para><application>imap-uw</application>;</para>
		</listitem>

		<listitem>
		  <para><application>courier-imap</application>;</para>
		</listitem>
	      </itemizedlist>
	  </step>

          <step>
	    <para>Installez le &ldquo;daemon&rdquo;
	      <acronym>POP</acronym> ou <acronym>IMAP</acronym> de votre
	      choix &agrave; partir du catalogue des logiciels
	      port&eacute;s.</para>
	  </step>

	  <step>
	    <para>Si cela est n&eacute;cessaire, modifiez le fichier
	      <filename>/etc/inetd.conf</filename> pour charger le
	      serveur <acronym>POP</acronym> ou
	      <acronym>IMAP</acronym>.</para>
	  </step>
        </procedure>

	<warning>
	  <para>Il doit &ecirc;tre not&eacute; que
	    <acronym>POP</acronym> et <acronym>IMAP</acronym>
	    transmettent les donn&eacute;es, y compris les noms
	    d'utilisateurs et mot de passe d'authentification en clair.
	    Cela signifie que si vous d&eacute;sirez s&eacute;curiser la
	    transmission des donn&eacute;es avec ces protocoles, vous
	    devriez consid&eacute;rer l'utilisation de de tunnels
	    &man.ssh.1;.  L'utilisation de tels tunnels est
	    d&eacute;crite dans la <xref
	    linkend="security-ssh-tunneling">.</para>
        </warning>
      </sect3>

      <sect3 id="local">
	<title>Acc&egrave;s aux bo&icirc;tes aux lettres
	  locales</title>

	<para>Les bo&icirc;tes aux lettres peuvent &ecirc;tre
	  accessibles localement en utilisant un client de messagerie
	  sur le serveur o&ugrave; se trouve la bo&icirc;te.  Cela
	  peut &ecirc;tre fait en employant des applications telles
	  que <application>mutt</application> ou &man.mail.1;.</para>
      </sect3>
    </sect2>

    <sect2 id="mail-host">
      <title>Le serveur de courrier</title>
      <indexterm><primary>serveur de courrier</primary></indexterm>

      <para>Le serveur de courrier est le nom donn&eacute; au
	serveur qui est responsable de la transmission et la
	r&eacute;ception du courrier pour votre machine, et
	probablement votre r&eacute;seau.</para>
    </sect2>
  </sect1>

  <sect1 id="sendmail">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Christopher</firstname>
          <surname>Shumway</surname>
          <contrib>Contribution de </contrib>
        </author>
      </authorgroup>
    </sect1info>
    <title>Configuration de <application>sendmail</application></title>

    <indexterm>
      <primary><application>sendmail</application></primary>
    </indexterm>

    <para>&man.sendmail.8; est l'agent de transfert de courrier (Mail
      Transfert Agent&mdash;MTA) par d&eacute;faut sous FreeBSD.  Le r&ocirc;le
      de <application>sendmail</application> est d'accepter le
      courrier en provenance des agents de courrier utilisateur (Mail
      User Agents&mdash;MUA) et de d&eacute;livrer le courrier aux programmes de
      gestion du courrier d&eacute;finis dans son fichier de configuration.
      <application>sendmail</application> peut &eacute;galement accepter
      les connexions r&eacute;seau et d&eacute;livrer le courrier dans des
      bo&icirc;tes aux lettres locales ou le transmettre &agrave; un autre
      programme.</para>

    <para><application>sendmail</application> utilise les fichiers de
      configuration suivants:</para>

    <indexterm>
      <primary><filename>/etc/mail/access</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/aliases</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/local-host-names</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/mailer.conf</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/mailertable</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/sendmail.cf</filename></primary>
    </indexterm>
    <indexterm>
      <primary><filename>/etc/mail/virtusertable</filename></primary>
    </indexterm>
    <informaltable>
      <tgroup cols="2">
	<thead>
	  <row>
	    <entry>Fichier</entry>
	    <entry>Fonction</entry>
	  </row>
	</thead>
	<tbody>
	  <row>
	    <entry>
	      <filename>/etc/mail/access</filename>
	    </entry>
	    <entry>Fichier de la base de donn&eacute;es d'acc&egrave;s
	      de <application>sendmail</application></entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/aliases</filename>
	    </entry>
	    <entry>Alias de bo&icirc;te aux lettres</entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/local-host-names</filename>
	    </entry>
	    <entry>Liste des machines pour lesquelles
	      <application>sendmail</application> accepte du
	      courrier</entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/mailer.conf</filename>
	    </entry>
	    <entry>Configuration du programme de gestion du
	      courrier</entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/mailertable</filename>
	    </entry>
	    <entry>Table de livraison du courrier</entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/sendmail.cf</filename>
	    </entry>
	    <entry>Fichier de configuration principal
	      de <application>sendmail</application></entry>
	  </row>
	  <row>
	    <entry>
	      <filename>/etc/mail/virtusertable</filename>
	    </entry>
	    <entry>Table des domaines et utilisateurs virtuels</entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

  <sect2>
    <title><filename>/etc/mail/access</filename></title>

    <para>La base de donn&eacute;es d'acc&egrave;s d&eacute;finit
      quelle(s) machine(s) ou adresses IP ont acc&egrave;s au serveur de
      courrier local et quel type d'acc&egrave;s ils ont.
      Les machines peuvent &ecirc;tre list&eacute;es avec <option>OK</option>,
      <option>REJECT</option>, <option>RELAY</option> ou simplement
      transf&eacute;r&eacute;es &agrave; la routine de gestion des erreurs
      <application>sendmail</application> avec une erreur donn&eacute;e.
      Les machines qui sont list&eacute;es avec <option>OK</option>, qui est le
      comportement par d&eacute;faut, sont autoris&eacute;es &agrave; envoyer du
      courrier &agrave; cette machinee d&egrave;s que la destination finale
      du courrier est la machine locale.  Les machines list&eacute;es avec
      <option>REJECT</option> se verront rejeter pour toute connexion
      au serveur.  Les machines pr&eacute;sentes avec l'option
      <option>RELAY</option> sont autoris&eacute;es &agrave; envoyer du
      courrier &agrave; n'importe quelle destination par
      l'interm&eacute;diaire de ce serveur de courrier.</para>

      <example>
	<title>Configuration de la base de donn&eacute;es d'acc&egrave;s
	de <application>sendmail</application>

    <programlisting>cyberspammer.com                550 We don't accept mail from spammers
FREE.STEALTH.MAILER@            550 We don't accept mail from spammers
another.source.of.spam          REJECT
okay.cyberspammer.com           OK
128.32                          RELAY</programlisting>
      </example>

   <para>Dans cet exemple nous avons cinq entr&eacute;es.
     Les &eacute;metteurs de courrier qui correspondent &agrave; la partie
     gauche de la table sont affect&eacute;s par l'action donn&eacute;e
     sur la partie droite de la table.  Les deux premiers
     exemples donnent un code d'erreur &agrave; la routine de gestion
     d'erreur de <application>sendmail</application>.
     Le message est affich&eacute; sur la machine distante quand un courrier
     &eacute;lectronique correspond &agrave; la partie gauche de la table.
     L'entr&eacute;e suivante rejette le courrier en provenance
     d'une machine pr&eacute;cise de l'Internet,
     <hostid>another.source.of.spam</hostid>.  L'entr&eacute;e suivante
     accepte les connexions &agrave; partir de la machine
     <hostid role="fqdn">okay.cyberspammer.com</hostid>, qui est plus pr&eacute;cis
     que le <hostid role="domainname">cyberspammer.com</hostid> de la ligne
     pr&eacute;c&eacute;dente.  Les correspondances plus sp&eacute;cifiques
     priment sur les moins pr&eacute;cises.  La derni&egrave;re
     entr&eacute;e autorise le relais du courrier &eacute;lectronique en
     provenance de machines avec une adresse IP qui commence par
     <hostid>128.32</hostid>.  Ces machines seront en mesure
     d'envoyer du courrier destin&eacute; &agrave; d'autres
     serveurs de courrier par l'interm&eacute;diaire de ce serveur de
     courrier.</para>

   <para>Quand ce fichier est mis &agrave; jour, vous devez ex&eacute;cuter
     la commande <command>make</command> dans
     <filename>/etc/mail/</filename> pour mettre &agrave; jour la base
     de donn&eacute;es.</para>

  </sect2>
  <sect2>
    <title><filename>/etc/mail/aliases</filename></title>

    <para>La base de donn&eacute;es d'alias contient une liste
      de bo&icirc;tes aux lettres virtuelles dont le contenu sera transmis
      &agrave; d'autres utilisateurs, fichiers, programmes ou d'autres
      alias.  Voici quelques exemples qui peuvent &ecirc;tre
      utilis&eacute;s dans <filename>/etc/mail/aliases</filename>:</para>

      <example>
	<title>Exemple de base de donn&eacute;es d'alias</title>
    <programlisting>root: localuser
ftp-bugs: joe,eric,paul
bit.bucket:  /dev/null
procmail: "|/usr/local/bin/procmail"</programlisting>
      </example>

    <para>Le format du fichier est simple; le nom de la bo&icirc;te
      aux lettres &agrave; gauche et la cible sur la droite.
      Le premier exemple transf&egrave;re la bo&icirc;te aux lettres
      <username>root</username> vers la bo&icirc;te aux lettres
      <username>localuser</username>, qui est ensuite recherch&eacute;e
      dans la base de donn&eacute;es d'alias.  Si aucune correspondance n'est
      trouv&eacute;e alors le message est d&eacute;livr&eacute; &agrave;
      l'utilisateur locale
      <username>localuser</username>.  L'exemple suivant montre une
      liste de correspondance.  Un courrier envoy&eacute; &agrave; la
      bo&icirc;te aux lettres <username>ftp-bugs</username> sera
      d&eacute;livr&eacute; aux trois boites locales <username>joe</username>,
      <username>eric</username>, et <username>paul</username>.  Notez
      qu'une bo&icirc;te aux lettres distante comme <literal>user@exemple.com</literal>/procmail
      pourra
      &ecirc;tre sp&eacute;cifi&eacute;e.  L'exemple suivant montre comment
      transf&eacute;rer le courrier dans un fichier, dans notre cas
      <filename>/dev/null</filename>.  Le dernier exemple montre
      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>

    <para>Quand ce fichier est mis &agrave; jour, vous devez
      ex&eacute;cuter la commande <command>make</command> dans
      <filename>/etc/mail/</filename> pour mettre &agrave; jour
      la base de donn&eacute;es.</para>
  </sect2>
  <sect2>
    <title><filename>/etc/mail/local-host-names</filename></title>

    <para>C'est la liste des machines pour lesquelles &man.sendmail.8;
      accepte du courrier comme s'il &eacute;tait destin&eacute;
      &agrave; la machine locale.
      Placez-y tous les domaines ou machines pour lesquels
      <application>sendmail</application> doit recevoir du courrier.
      Par exemple, si le serveur de courrier devait accepter du
      courrier pour le domaine <hostid
      role="domainname">exemple.com</hostid> et la machine
      <hostid role="domainname">mail.exemple.com</hostid>, sont
      <filename>local-host-names</filename> ressemblera &agrave; quelque
      chose comme ceci:</para>

    <programlisting>exemple.com
mail.exemple.com</programlisting>

    <para>Quand ce fichier est mis &agrave; jour, &man.sendmail.8; doit
      &ecirc;tre relanc&eacute; pour lire les changements.</para>

  </sect2>

  <sect2>
    <title><filename>/etc/mail/sendmail.cf</filename></title>

    <para>Fichier principal de configuration de
      <application>sendmail</application>,
      <filename>sendmail.cf</filename> contr&ocirc;le le comportement
      g&eacute;n&eacute;ral de <application>sendmail</application>,
      y compris tout depuis la r&eacute;&eacute;criture des adresses
      de courrier jusqu'&agrave; l'envoi de message de rejet aux
      serveurs de courrier distants.  Naturellement, avec tant de
      diff&eacute;rentes activit&eacute;s, ce fichier de configuration
      est relativement complexe et son &eacute;tude d&eacute;taill&eacute;e
      n'est pas le but de cette section.  Heureusement, ce fichier a
      rarement besoin d'&ecirc;tre modifi&eacute; pour les serveurs de courrier
      standards.</para>

    <para>Le fichier de configuration principal de
      <application>sendmail</application> peut &ecirc;tre
      cr&eacute;&eacute; &agrave; partir de macros &man.m4.1; qui
      d&eacute;finissent les fonctions
      et le comportement de <application>sendmail</application>.
      Veuillez consulter
      <filename>/usr/src/contrib/sendmail/cf/README</filename> pour
      plus de d&eacute;tails.</para>

    <para>Quand des modifications &agrave; ce fichier sont apport&eacute;es,
      <application>sendmail</application> doit &ecirc;tre
      red&eacute;marr&eacute; pour que les changements prennent effet.</para>

  </sect2>
  <sect2>
    <title><filename>/etc/mail/virtusertable</filename></title>

    <para>La table <filename>virtusertable</filename> fait
      correspondre les adresses de courrier &eacute;lectronique pour des
      domaines virtuels et les bo&icirc;tes aux lettres avec des
      bo&icirc;tes aux lettres r&eacute;elles.  Ces bo&icirc;tes aux lettres
      peuvent &ecirc;tre locales, distantes, des alias d&eacute;finis dans
      <filename>/etc/mail/aliases</filename> ou des fichiers.</para>

    <example>
      <title>Exemple de correspondance de domaine virtuel de
	courrier</title>

    <programlisting>root@exemple.com                root
postmaster@exemple.com          postmaster@noc.exemple.net
@exemple.com                    joe</programlisting>
      </example>

    <para>Dans l'exemple ci-dessus, nous avons une correspondance pour
      un domaine <hostid role="domainname">exemple.com</hostid>.  Ce fichier est trait&eacute;
      jusqu'&agrave; trouver la premi&egrave;re correspondance.
      Le premier &eacute;l&eacute;ment fait correspondre <literal>root@exemple.com</literal>
      &agrave; la bo&icirc;te aux lettres root locale.  L'entr&eacute;e
      suivante fait correspondre <literal>postmaster@exemple.com</literal> &agrave; la
      bo&icirc;te aux lettres postmaster sur la machine <hostid role="fqdn">noc.exemple.net</hostid>.
      Et enfin, si un courrier en provenance de <hostid role="domainname">exemple.com</hostid> n'a pas
      trouv&eacute; de correspondance, il correspondra &agrave; la
      derni&egrave;re ligne, qui regira tous les autres messages
      adress&eacute;s &agrave;
      quelqu'un du domaine <hostid role="domainname">exemple.com</hostid>.
      La correspondance sera la bo&icirc;te aux lettres locale
      <username>joe</username>.</para>

  </sect2>
  </sect1>

  <sect1 id="mail-changingmta">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Andrew</firstname>
          <surname>Boothman</surname>
          <contrib>Ecrit par </contrib>
        </author>
      </authorgroup>
      <authorgroup>
        <author>
          <firstname>Gregory</firstname>
          <surname>Neil Shapiro</surname>
          <contrib>Information provenant de courriers &eacute;lectroniques
	    &eacute;crit par </contrib>
        </author>
      </authorgroup>
    </sect1info>
    <title>Changer votre agent de transfert de courrier</title>
    <indexterm>
      <primary>courrier &eacute;lectronique</primary>
      <secondary>changer d'agent de transfert de courrier</secondary>
    </indexterm>

    <para>Comme mentionn&eacute; pr&eacute;c&eacute;demment,
      FreeBSD est fournit avec <application>sendmail</application>
      comme agent de transfert du courrier (MTA - Mail Transfert
      Agent).  Il est donc par d&eacute;faut
      en charge de votre courrier sortant et entrant.</para>

    <para>Cependant, pour une vari&eacute;t&eacute; de raison,
      certains administrateurs syst&egrave;me d&eacute;sirent
      changer le MTA de leur syst&egrave;me.  Ces raisons vont de la
      simple envie d'essayer un autre agent au besoin d'une fonction
      ou ensemble sp&eacute;cifique qui d&eacute;pend d'un autre gestionnaire de
      courrier.  Heureusement, quelle qu'en soit la raison, FreeBSD
      rend le changement ais&eacute;.</para>

    <sect2>
      <title>Installer un nouveau MTA</title>

      <para>Vous avez un vaste choix d'agent disponible.  Un bon
	point de d&eacute;part est le <link linkend="ports">catalogue des
	logiciels port&eacute;s de FreeBSD</link> o&ugrave; vous pourrez
	en trouver un grand nombre.
	Bien &eacute;videmment vous &ecirc;tes libres
	d'utiliser n'importe quel agent de n'importe quelle origine,
	d&egrave;s que vous pouvez le faire fonctionner sous FreeBSD.</para>

      <para>Commencez par installer votre nouvel agent.  Une fois ce
	dernier install&eacute;, il vous donne une chance de d&eacute;cider s'il
	remplit vraiment vos besoins, et vous donne l'opportunit&eacute;
	de configurer votre nouveau logiciel avant de remplacer
	<application>sendmail</application>.  Quand vous faites cela,
	vous devez &ecirc;tre s&ucirc;r que l'installation du nouveau
	logiciel ne tentera pas de remplacer des binaires du syst&egrave;me
	comme <filename>/usr/bin/sendmail</filename>.  Sinon, votre
	nouveau logiciel sera mis en service avant d'avoir pu
	le configurer.</para>

      <para>Veuillez vous r&eacute;f&eacute;rer &agrave; la documentation de l'agent choisi
	pour de l'information sur comment configurer le logiciel que
	vous avez choisi.</para>
    </sect2>

    <sect2>
      <title>D&eacute;sactiver <application>sendmail</application></title>

      <para>La proc&eacute;dure utilis&eacute;e pour lancer
	<application>sendmail</application> a chang&eacute; de fa&ccedil;on
	significative entre la 4.5-RELEASE et la 4.6-RELEASE.
	Par cons&eacute;quent, la proc&eacute;dure utilis&eacute;e pour
	la d&eacute;sactiver est l&eacute;g&egrave;rement
	diff&eacute;rente.</para>

      <sect3>
	<title>FreeBSD 4.5-STABLE d'avant le 2002/4/4 et plus ancienne
	  (y compris 4.5-RELEASE et pr&eacute;c&eacute;dentes)</title>

	<para>Ajoutez:</para>

	  <programlisting>sendmail_enable="NO"</programlisting>

	  <para>dans <filename>/etc/rc.conf</filename>.  Cela
	    d&eacute;sactivera le service de courrier entrant de
	    <application>sendmail</application> mais si
	    <filename>/etc/mail/mailer.conf</filename> (voir plus bas)
	    n'est pas modifi&eacute;, <application>sendmail</application>
	    sera toujours utilis&eacute; pour envoyer du courrier
	    &eacute;lectronique.</para>
      </sect3>

      <sect3>
	<title>FreeBSD 4.5-STABLE d'apr&egrave;s le 2002/4/4
	  (y compris 4.6-RELEASE et suivantes)</title>

	<para>Afin de compl&egrave;tement d&eacute;sactiver
	  <application>sendmail</application> vous devez utiliser</para>

	  <programlisting>sendmail_enable="NONE"</programlisting>

	  <para>dans <filename>/etc/rc.conf.</filename></para>

	<warning>
	  <para>Si vous d&eacute;sactivez le service d'envoi de courrier de
	    <application>sendmail</application> de cette mani&egrave;re, il
	    est important que vous le remplaciez par un syst&egrave;me de
	    courrier alternatif fonctionnant parfaitement.  Si vous
	    choisissez de ne pas le faire, des fonctions du syst&egrave;me
	    comme &man.periodic.8; ne seront pas en mesure de d&eacute;livrer
	    leur r&eacute;sultat par courrier &eacute;lectronique comme elles
	    s'attendent normalement &agrave; le faire.  De nombreux
	    composants de votre syst&egrave;me s'attendent &agrave;
	    avoir un syst&egrave;me
	    compatible &agrave; <application>sendmail</application> en
	    fonctionnement.  Si des applications continuent &agrave; utiliser
	    les binaires de <application>sendmail</application> pour
	    essayer d'envoyer du courrier &eacute;lectronique apr&egrave;s la
	    d&eacute;sactivation, le courrier pourra aller dans une file
	    d'attente inactive, et pourra n'&ecirc;tre jamais
	    livr&eacute;.</para>
	</warning>

	<para>Si vous voulez uniquement d&eacute;sactiver le service de
	  r&eacute;ception de courrier de <application>sendmail</application>
	  vous devriez fixer</para>

	  <programlisting>sendmail_enable="NO"</programlisting>

	<para>dans <filename>/etc/rc.conf</filename>.  Plus
	  d'information sur les options de d&eacute;marrage de
	  <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>

      <para>Vous pourrez avoir le choix entre deux m&eacute;thodes pour
	lancer votre nouvel agent au d&eacute;marrage, encore une fois en
	fonction de la version de FreeBSD dont vous disposez.</para>

      <sect3>
	<title>FreeBSD 4.5-STABLE d'avant le 2002/4/11
	  (y compris 4.5-RELEASE et pr&eacute;c&eacute;dentes)</title>

	<para>Ajouter une proc&eacute;dure dans
	  <filename>/usr/local/etc/rc.d/</filename> qui
	  se termine en <filename>.sh</filename> et qui est
	  ex&eacute;cutable par <username>root</username>.  La
	  proc&eacute;dure devrait accepter les param&egrave;tres
	  <literal>start</literal> et <literal>stop</literal>.
	  Au moment du d&eacute;marrage les proc&eacute;dures
	  syst&egrave;me ex&eacute;cuteront la commande</para>

	<programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting>

	<para>que vous pouvez &eacute;galement utiliser pour d&eacute;marrer le
	  serveur.  Au moment de l'arr&ecirc;t du syst&egrave;me, les
	  proc&eacute;dures syst&egrave;me utiliseront l'option
	  <literal>stop</literal> en ex&eacute;cutant la commande</para>

	<programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting>

	<para>que vous pouvez &eacute;galement utiliser manuellement pour
	  arr&ecirc;ter le serveur quand le syst&egrave;me est en
	  fonctionnement.</para>

      </sect3>

      <sect3>
	<title>FreeBSD 4.5-STABLE d'apr&egrave;s le 2002/4/11
	  (y compris 4.6-RELEASE et suivantes)</title>

	<para>Avec les versions suivantes de FreeBSD, vous pouvez
	  utiliser la m&eacute;thode ci-dessus ou fixer</para>

	<programlisting>mta_start_script="nomfichier"</programlisting>

	<para>dans <filename>/etc/rc.conf</filename>, o&ugrave;
	  <replaceable>nomfichier</replaceable> est le nom
	  d'une proc&eacute;dure que vous voulez ex&eacute;cuter
	  au d&eacute;marrage pour lancer votre agent.</para>
      </sect3>

    </sect2>

    <sect2>
      <title>Remplacer <application>sendmail</application> comme
	gestionnaire du courrier du syst&egrave;me par
	d&eacute;faut</title>

      <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
	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
	ligne de commande de <application>sendmail</application>;
	cela facilite leur utilisation comme rempla&ccedil;ant pour
	<application>sendmail</application>.</para>

      <para>Donc, si vous utilisez un programme alternatif, vous
	devrez v&eacute;rifier que le logiciel essayant d'ex&eacute;cuter
	les binaires standards de <application>sendmail</application>
	comme <filename>/usr/bin/sendmail</filename> ex&eacute;cute
	r&eacute;ellement l'agent que vous avez choisi &agrave; la place.
	Heureusement, FreeBSD fournit un syst&egrave;me appel&eacute;
	&man.mailwrapper.8; qui remplit ce travail pour vous.</para>

      <para>Quand <application>sendmail</application> fonctionne tel
	qu'il a &eacute;t&eacute; install&eacute;, vous
	trouverez quelque chose comme ce qui suit dans
	<filename>/etc/mail/mailer.conf</filename>:</para>

<programlisting>sendmail	 /usr/libexec/sendmail/sendmail
send-mail	/usr/libexec/sendmail/sendmail
mailq		/usr/libexec/sendmail/sendmail
newaliases	/usr/libexec/sendmail/sendmail
hoststat	/usr/libexec/sendmail/sendmail
purgestat	/usr/libexec/sendmail/sendmail</programlisting>

      <para>Cela signifie que lorsque l'une des commandes courantes
	(comme <filename>sendmail</filename> lui-m&ecirc;me) est
	lanc&eacute;e, le syst&egrave;me invoque en fait une copie de
	&ldquo;mailwrapper&rdquo; appel&eacute;e
	<filename>sendmail</filename>, qui lit
	<filename>mailer.conf</filename> et
	ex&eacute;cute <filename>/usr/libexec/sendmail/sendmail</filename>
	&agrave; la place.  Ce syst&egrave;me rend ais&eacute; le changement
	des binaires qui sont r&eacute;ellement ex&eacute;cut&eacute;s
	quand les fonctions de <filename>sendmail</filename> par
	d&eacute;faut sont invoqu&eacute;es.</para>

      <para>Donc si vous avez voulu que
	<filename>/usr/local/supermailer/bin/sendmail-compat</filename>
	soit lanc&eacute; en place de <application>sendmail</application>,
	vous pourrez modifier <filename>/etc/mail/mailer.conf</filename>
	de cette fa&ccedil;on:</para>

<programlisting>sendmail	 /usr/local/supermailer/bin/sendmail-compat
send-mail	/usr/local/supermailer/bin/sendmail-compat
mailq		/usr/local/supermailer/bin/mailq-compat
newaliases	/usr/local/supermailer/bin/newaliases-compat
hoststat	/usr/local/supermailer/bin/hoststat-compat
purgestat	/usr/local/supermailer/bin/purgestat-compat</programlisting>

      </sect2>

      <sect2>
	<title>Pour en terminer</title>

	<para>Une fois que vous avez tout configur&eacute; de la fa&ccedil;on
	  dont vous le d&eacute;sirez, vous devriez soit tuer les processus de
	  <application>sendmail</application> dont vous n'avez plus
	  besoin et lancer les processus appartenant &agrave; votre
	  nouveau logiciel, ou tout simplement red&eacute;marrer.  Le
	  red&eacute;marrage vous donnera l'opportunit&eacute; de vous assurer
	  que vous avez correctement configur&eacute; votre syst&egrave;me
	  pour le lancement automatique de votre nouvel agent au
	  d&eacute;marrage.</para>

      </sect2>
    </sect1>

  <sect1 id="mail-trouble">
    <title>D&eacute;pannage</title>
    <indexterm>
      <primary>courrier &eacute;lectronique</primary>
      <secondary>d&eacute;pannage</secondary>
    </indexterm>

    <qandaset>
      <qandaentry>
        <question>
	<para>Pourquoi faut-il que j'utilise le FQDN (&ldquo;Fully
	  Qualified Domain Name&rdquo; - nom complet de machine) pour
	  les machines de mon site?</para>
	</question>

	<answer>
	<para>Vous vous rendrez probablement compte que la machine est
	  en fait dans un domaine diff&eacute;rent; par exemple, si vous
	  &ecirc;tes dans le domaine <hostid role="fqdn">foo.bar.edu</hostid>
	  et que vous voulez atteindre la machine <hostid>mumble</hostid>
	  du domaine <hostid role="domainname">bar.edu</hostid>,
	  vous devrez utiliser son nom de machine complet,
	  <hostid role="fqdn">mumble.bar.edu</hostid>, au lieu de
	  juste <hostid>mumble</hostid>.</para>

	<indexterm><primary>BIND</primary></indexterm>
	<para>C'&eacute;tait traditionnellement autoris&eacute; par les
	  r&eacute;solveurs <application>BIND</application> BSD.
	  N&eacute;anmoins, la version de <application>BIND</application>
	  qui est maintenant livr&eacute;e avec FreeBSD ne sait pas
	  compl&eacute;ter les noms de machines abr&eacute;g&eacute;s autrement
	  qu'avec le nom de votre domaine.  Donc le nom non
	  qualifi&eacute; <hostid>mumble</hostid> doit correspondre
	  &agrave; <hostid role="fqdn">mumble.foo.bar.edu</hostid>,
	  sans quoi il sera recherch&eacute; dans le domaine racine.</para>

	<para>Cela diff&egrave;re du comportement pr&eacute;c&eacute;dent,
	  o&ugrave; la recherche se prolongeait &agrave;
	  <hostid role="domainname">mumble.bar.edu</hostid>, puis
	  <hostid role="domainname">mumble.edu</hostid>.
	  Consultez la RFC 1535 pour savoir pourquoi cela &eacute;tait
	  consid&eacute;r&eacute; comme une mauvaise pratique, voire
	  m&ecirc;me un trou de s&eacute;curit&eacute;.</para>

	<para>Comme solution, vous pouvez mettre la ligne:

	  <programlisting>search foo.bar.edu bar.edu</programlisting>

	  &agrave; la place de:

	  <programlisting>domain foo.bar.edu</programlisting>

	  dans votre fichier <filename>/etc/resolv.conf</filename>.
	  Cependant, assurez-vous que la recherche ne franchit pas la
	  &ldquo;limite entre l'administration locale et
	  publique&rdquo;, selon l'expression de la RFC 1535.</para>
	</answer>
      </qandaentry>

      <indexterm>
	<primary>MX record</primary>
      </indexterm>

      <qandaentry>
	<question>
	<para><application>sendmail</application> affiche le message
	  <errorname>mail loops back to myself</errorname></para>
	</question>

	<answer>
	<para>La r&eacute;ponse donn&eacute;e dans la FAQ de
	  <application>sendmail</application> est la suivante:</para>

        <programlisting>J'obtiens les messages d'erreur suivant:

553 MX list for domain.net points back to relay.domain.net
554 &lt;user@domain.net&gt;... Local configuration error

Comment puis-je r&eacute;soudre ce probl&egrave;me?

Vous avez demand&eacute; que le courrier pour un domaine (e.g., domain.net)
soit transmis &agrave; une machine donn&eacute;e (dans ce cas pr&eacute;cis, relay.domain.net)
en utilisant un enregistrement MX, mais la machine relais ne se
conna&icirc;t pas elle-m&ecirc;me comme domain.net.  Ajoutez domain.net &agrave;
/etc/mail/local-host-names [connu sous le nom /etc/sendmail.cw dans les versionsant&eacute;rieure &agrave; 8.10] (si vous utilisez FEATURE(use_cw_file))
ou ajoutez &ldquo;Cw domain.net&rdquo; &agrave;
/etc/mail/sendmail.cf.</programlisting>

        <para>La FAQ de <application>sendmail</application> peut &ecirc;tre trouv&eacute;e
	  &agrave; l'adresse <ulink url="http://www.sendmail.org/faq/"></ulink> et
	  sa lecture est recommand&eacute;e si vous voulez
	  &ldquo;bidouiller&rdquo; votre configuration du courrier
	  &eacute;lectronique.</para>
	</answer>
      </qandaentry>

      <indexterm><primary>PPP</primary></indexterm>
      <qandaentry>
        <question>
	<para>Comment puis-je faire tourner un serveur de courrier
	  &eacute;lectronique avec une connexion
	  t&eacute;l&eacute;phonique PPP</para>
	</question>

	<answer>
	<para>Vous voulez connecter une machine FreeBSD du r&eacute;seau
	  local &agrave; l'Internet.  Cette machine servira de passerelle de
	  courrier &eacute;lectronique pour le r&eacute;seau local.
	  La connexion PPP n'est pas d&eacute;di&eacute;e.</para>

	<indexterm><primary>UUCP</primary></indexterm>
	<indexterm>
	  <primary>MX record</primary>
	</indexterm>

	<para>Il y a au moins deux fa&ccedil;ons de faire.  L'une d'elle
	  est d'utiliser UUCP.</para>

	<para>L'autre m&eacute;thode &eacute;tant d'obtenir un serveur Internet
	  constamment connect&eacute; pour qu'il vous fournisse les services
	  MX pour votre domaine.  Par exemple, si le domaine de votre
	  compagnie est <hostid role="domainname">exemple.com</hostid> et votre
	  fournisseur d'acc&egrave;s a configur&eacute;
	  <hostid role="domainname">exemple.net</hostid> pour fournir un MX secondaire
	  pour votre domaine:</para>

	<programlisting>exemple.com.            MX        10      exemple.com.
                      MX        20      exemple.net.</programlisting>

	<para>Une seule machine devrait &ecirc;tre
	  sp&eacute;cifi&eacute;e comme destinataire final (ajoutez
	  <literal>Cw exemple.com</literal> au fichier
	  <filename>/etc/mail/sendmail.cf</filename> de
	  <hostid role="domainname">exemple.com</hostid>).</para>

	<para>Quand le <command>sendmail</command> exp&eacute;diteur tente
	  de vous d&eacute;livrer du courrier, il essaiera de se connecter
	  &agrave; votre serveur (<hostid role="domainname">exemple.com</hostid>)
	  via votre liaison par modem.  Ce qui &eacute;chouera tr&egrave;s
	  probablement par d&eacute;passement de d&eacute;lai puisque
	  vous n'&ecirc;tes pas en ligne.  Le programme
	  <application>sendmail</application> enverra automatiquement
	  le courrier au site MX secondaire, i.e. votre fournisseur
	  d'acc&egrave;s (<hostid role="domainname">exemple.net</hostid>).
	  Le site MX secondaire essayera p&eacute;riodiquement de se
	  connecter &agrave; votre machine pour exp&eacute;dier le
	  courrier au site MX primaire (<hostid
	  role="domainname">exemple.com</hostid>).</para>

	<para>Vous pourrez vouloir utiliser quelque chose comme ceci
	  comme proc&eacute;dure de connexion:</para>

	<programlisting>#!/bin/sh
# Mettez-moi dans /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
/usr/sbin/ppp -direct pppmyisp</programlisting>

	<para>Si vous avez l'intention de d&eacute;finir une
	  proc&eacute;dure de connexion particuli&egrave;re pour un
	  utilisateur, vous pourrez utiliser
	  <command>sendmail -qRexemple.com</command> &agrave; la place
	  de la proc&eacute;dure ci-dessus.  Cela forcera le traitement
	  imm&eacute;diat de tout le courrier dans votre file d'attente
	  pour <hostid role="domainname">exemple.com</hostid>.</para>

	<para>On peut encore affiner la configuration comme
	  suit:</para>

	<para>Message emprunt&eacute; &agrave; la &a.isp;.</para>

	<programlisting>&gt; Nous fournissons un MX secondaire &agrave; un
client.  Le client se connecte
&gt; &agrave; notre service automatiquement plusieurs fois par jour pour acheminer
&gt; le courrier sur son MX primaire (nous n'appelons pas son site lorsque
&gt; du courrier pour ses domaines arrive).  Notre sendmail envoie le courrier de la
&gt; file d'attente toutes les demi-heures.  Pour l'instant, il doit rester
&gt; une demi-heure en ligne pour &ecirc;tre s&ucirc;r que tout le courrier soit
&gt; arriv&eacute; au MX primaire.
&gt;
&gt; Y-a-t-il une commande qui permette de dire &agrave; sendmail d'envoyer
&gt; sur-le-champ tout le courrier? L'utilisateur n'a &eacute;videmment pas
&gt; les droits super-utilisateur sur la machine.

Dans la section &ldquo;privacy flags&rdquo; (indicateurs de
confidentialit&eacute;) de sendmail.cf, il y a la d&eacute;finition Opgoaway,restrictqrun

Supprimer restrictqrun permet &agrave; d'autres utilisateurs que le
super-utilisateur de lancer le traitement de la file d'attente.  Vous
pouvez aussi red&eacute;finir les MXs.  Nous sommes le premier MX pour les
utilisateurs de ce type, et nous avons d&eacute;fini:

# Si nous sommes le meilleur MX pour une machine, essayer directement
# au lieu d'&eacute;mettre des messages d'erreur de configuration locale.
OwTrue

De cette fa&ccedil;on, un site distant vous enverra directement le courrier,
sans essayer de se connecter chez votre client.  Vous le lui
transmettez ensuite.  Cela ne marche qu'avec les &ldquo;machines&rdquo;,
votre client doit nommer son serveur de courrier
&ldquo;client.com&rdquo; aussi bien que
&ldquo;machine.client.com&rdquo; dans le DNS.  Mettez seulement un
enregistrement A pour &ldquo;client.com&rdquo;.</programlisting>
        </answer>
      </qandaentry>

      <qandaentry>
        <question>
	  <para>Pourquoi j'obtiens le message d'erreur
	    <errorname>Relaying Denied</errorname> &agrave; chaque
	    fois que j'envoie du courrier &agrave; partir d'autres
	    machines?</para>
	</question>

	<answer>
	  <para>Dans l'installation par d&eacute;faut de FreeBSD,
	    <application>sendmail</application> est configur&eacute; pour
	    envoyer du courrier uniquement &agrave; partir de la machine
	    sur laquelle il tourne.  Par exemple, si un serveur <acronym>POP</acronym>
	    est disponible, alors les utilisateurs pourront retirer leur
	    courrier depuis l'&eacute;cole, le travail, ou toute autre
	    machine distante mais ils ne seront toujours pas en mesure
	    d'envoyer du courrier &eacute;lectronique &agrave; partir de machines
	    ext&eacute;rieures.  G&eacute;n&eacute;ralement, quelques
	    instants apr&egrave;s une tentative, un courrier
	    &eacute;lectronique sera envoy&eacute; par le
	    <application>MAILER-DAEMON</application> avec un message
	    <errorname>5.7 Relaying Denied</errorname>.</para>

	  <para>Il y a plusieurs fa&ccedil;ons d'y rem&eacute;dier.
	    La solution la plus directe est de mettre l'adresse
	    de votre fournisseur d'acc&egrave;s dans un fichier de domaine
	    &agrave; relayer <filename>/etc/mail/relay-domains</filename>.
	    Une fa&ccedil;on rapide de le faire serait:</para>

	  <screen>&prompt.root; <userinput>echo "votre.fai.exemple.com" &gt; /etc/mail/relay-domains</userinput></screen>

	  <para>Apr&egrave;s avoir cr&eacute;&eacute; ou &eacute;dit&eacute;
	    ce fichier vous devez
	    red&eacute;marrer <application>sendmail</application>.
	    Cela fonctionne parfaitement si vous &ecirc;tes
	    l'administrateur d'un serveur et vous ne d&eacute;sirez pas
	    envoyer de courrier localement, ou que vous d&eacute;siriez
	    utiliser un syst&egrave;me ou un client &ldquo;clic-bouton&rdquo;
	    sur une autre machine ou un autre FAI.  C'est &eacute;galement
	    tr&egrave;s utile si vous avez uniquement qu'un ou deux
	    comptes de courrier &eacute;lectronique configur&eacute;s.
	    S'il y a un grand nombre d'adresses &agrave; ajouter, vous
	    pouvez tout simplement ouvrir ce fichier dans votre
	    &eacute;diteur de texte favori et ensuite ajouter les domaines,
	    un par ligne:</para>

	  <programlisting>votre.fai.exemple.com
autre.fai.exemple.net
utilisateurs-fai.exemple.org
www.exemple.org</programlisting>

	  <para>D&eacute;sormais tout courrier envoy&eacute; vers votre
	    syst&egrave;me, par n'importe quelle machine de cette liste
	    (en supposant que l'utilisateur poss&egrave;de un compte sur
	    votre syst&egrave;me), sera accept&eacute;.  C'est un bon
	    moyen d'autoriser aux utilisateurs d'envoyer du courrier
	    &eacute;lectronique &agrave; distance depuis votre syst&egrave;me
	    sans autoriser l'utilisation de votre syst&egrave;me pour l'envoi de
	    courrier &eacute;lectronique non sollicit&eacute; (SPAM).</para>

	</answer>
      </qandaentry>
    </qandaset>
  </sect1>

  <sect1 id="mail-advanced">
    <title>Sujets avanc&eacute;s</title>

    <para>LA fonction suivante couvre des sujets plus avanc&eacute;s
      comme la configuration du courrier &eacute;lectronique pour
      l'int&eacute;gralit&eacute; de votre domaine.</para>

    <sect2 id="mail-config">
      <title>Basic Configuration</title>
      <indexterm>
        <primary>courrier &eacute;lectronique</primary>
        <secondary>configuration</secondary>
      </indexterm>

      <para>Sans aucune configuration, vous devrez &ecirc;tre en
	mesure d'envoyer du courrier &eacute;lectronique &agrave; des machines
	ext&eacute;rieures &agrave; partir du moment o&ugrave; vous avez
	configur&eacute; <filename>/etc/resolv.conf</filename> ou que
	vous avez votre propre serveur de noms.  Si vous d&eacute;sirez
	que le courrier pour votre machine soit d&eacute;livr&eacute; au
	serveur de courrier (e.g., <application>sendmail</application>) sur
	votre propre machine FreeBSD, il y a deux m&eacute;thodes:</para>

      <itemizedlist>
	<listitem>
          <para>Faites tourner votre propre serveur de noms et
	    poss&eacute;dez votre propre domaine.  Par exemple <hostid
	    role="domainname">FreeBSD.org</hostid></para>
	</listitem>

	<listitem>
          <para>Faire d&eacute;livrer le courrier directement sur votre
	    machine.  Cela est possible en d&eacute;livrant directement le
	    courrier &agrave; la machine sur lequel pointe le DNS pour le
	    courrier qui vous est destin&eacute;.  Par exemple <hostid
	    role="fqdn">exemple.FreeBSD.org</hostid>.</para>
	</listitem>
      </itemizedlist>

      <indexterm><primary>SMTP</primary></indexterm>
      <para>Ind&eacute;pendamment de la m&eacute;thode que vous choisissez, afin
	d'avoir le courrier d&eacute;livr&eacute; directement
	&agrave; votre machine, elle doit avoir une adresse IP statique
	permanente (et non pas une adresse dynamique, comme avec la
	plupart des connexions PPP par modem).  Si vous &ecirc;tes
	derri&egrave;re un coupe-feu, il doit autoriser le trafic SMTP en
	votre direction.  Si vous voulez recevoir directement le
	courrier sur votre machine, vous devez &ecirc;tre s&ucirc;rs
	de l'une de ces deux choses:</para>

      <itemizedlist>
        <indexterm><primary>enregistrement MX</primary></indexterm>
        <listitem>
          <para>Assurez-vous que l'enregistrement MX (le nombre le
	    plus bas) de votre DNS pointe sur l'adresse IP de votre
	    machine.</para>
        </listitem>

        <listitem>
          <para>Assurez-vous qu'il n'y a pas d'entr&eacute;e MX pour votre
	    machine dans votre DNS.</para>
        </listitem>
      </itemizedlist>

      <para>Une des deux conditions pr&eacute;c&eacute;dentes vous
	permettra de recevoir directement le courrier pour votre
	machine.</para>

      <para>Essayez:</para>

      <screen>&prompt.root; <userinput>hostname</userinput>
exemple.FreeBSD.org
&prompt.root; <userinput>host exemple.FreeBSD.org</userinput>
exemple.FreeBSD.org has address 204.216.27.XX</screen>

      <para>Si c'est la r&eacute;ponse que vous obtenez, le courrier
	adress&eacute; &agrave;
	<email>votreindentifiant@exemple.FreeBSD.org</email>
	arrivera sans probl&egrave;me (en supposant que
	<application>sendmail</application> fonctionne correctement
	sur <hostid role="fqdn">exemple.FreeBSD.org</hostid>).</para>

      <para>Si au lieu de cela vous obtenez quelque chose de similaire
	&agrave; ceci:</para>

      <screen>&prompt.root; <userinput>host exemple.FreeBSD.org</userinput>
exemple.FreeBSD.org has address 204.216.27.XX
exemple.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen>

      <para>Tout le courrier adress&eacute; &agrave; votre machine
	(<hostid role="fqdn">exemple.FreeBSD.org</hostid>)
	arrivera sur <hostid>hub</hostid> adress&eacute; au m&ecirc;me
	utilisateur au lieu d'&ecirc;tre directement
	envoy&eacute; &agrave; votre machine.</para>

      <para>L'information pr&eacute;c&eacute;dente est
	g&eacute;r&eacute;e par votre serveur DNS.  L'enregistrement du
	DNS qui contient l'information de routage de courrier est
	l'entr&eacute;e MX (<emphasis>M</emphasis>ail
	e<emphasis>X</emphasis>change).  S'il n'y pas d'enregistrement MX,
	le courrier sera directement envoy&eacute; &agrave; la machine
	en utilisant son adresse IP.</para>

      <para>Voici ce que fut &agrave; un moment donn&eacute;
	l'entr&eacute;e MX pour <hostid
	role="fqdn">freefall.FreeBSD.org</hostid>:</para>

      <programlisting>freefall		MX	30	mail.crl.net
freefall		MX	40	agora.rdrop.com
freefall		MX	10	freefall.FreeBSD.org
freefall		MX	20	who.cdrom.com</programlisting>

      <para>Comme vous pouvez le voir, <hostid>freefall</hostid>
	avait plusieurs entr&eacute;es MX.  L'entr&eacute;e MX dont le
	num&eacute;ro est le plus bas est la machine qui re&ccedil;oit
	directement le courrier si elle est disponible; si elle n'est
	pas accessible pour diverses raisons, les autres (parfois
	appel&eacute;es &ldquo;MX de secours&rdquo;) acceptent
	temporairement les messages, et les transmettent &agrave; une
	machine de num&eacute;ro plus faible quand elle devient
	disponible, et par la suite &agrave; la machine de num&eacute;ro le
	plus bas.</para>

      <para>Les sites MX alternatifs devraient avoir une connexion
	Internet s&eacute;par&eacute;e de la votre afin d'&ecirc;tre
	les plus utiles.  Votre fournisseur d'acc&egrave;s ou tout autre
	site amical ne devrait pas avoir de probl&egrave;me pour vous
	fournir ce service.</para>
    </sect2>

    <sect2 id="mail-domain">
      <title>Courrier pour votre domaine</title>

      <para>Pour configurer un serveur de courrier vous devez faire
	en sorte que tout le courrier &agrave; destination des diverses
	stations de travail lui soit envoy&eacute;.  Concr&egrave;tement,
	vous voulez &ldquo;revendiquer&rdquo; tout courrier pour
	n'importe quelle machine de votre domaine (dans ce cas
	<hostid role="fqdn">*.FreeBSD.org</hostid>) et le d&eacute;tourner
	vers votre serveur de courrier de sorte que vos utilisateurs
	puissent recevoir leur courrier sur le serveur de courrier
	principal.</para>

      <indexterm><primary>DNS</primary></indexterm>
      <para>Pour rendre les choses plus ais&eacute;es, un compte
	utilisateur avec le m&ecirc;me <emphasis>nom
	d'utilisateur</emphasis> devrait exister sur les deux
	machines.  Utilisez &man.adduser.8; pour ce
	faire.</para>

      <para>Le serveur de courrier que vous utiliserez sera
	d&eacute;fini comme &ldquo;mail exchanger&rdquo; pour chaque
	station de travail du r&eacute;seau.  Cela est fait dans votre
	configuration de DNS de cette mani&egrave;re:</para>

      <programlisting>exemple.FreeBSD.org	A	204.216.27.XX		; Station de travail
			MX	10 hub.FreeBSD.org	; Serveur de courrier</programlisting>

      <para>Cela redirigera le courrier pour votre station de travail
	au serveur de courrier quelque soit la machine sur laquelle
	pointe l'enregistrement A.  Le courrier est envoy&eacute; sur la
	machine MX.</para>

      <para>Vous ne pouvez le faire vous-m&ecirc;me que si vous
	g&eacute;rez un serveur de noms.  Si ce n'est pas le cas, ou que vous
	ne pouvez avoir votre propre serveur DNS, parlez-en &agrave;
	votre fournisseur d'acc&egrave;s ou &agrave; celui qui fournit
	votre DNS.</para>

      <para>Si vous faites de l'h&eacute;bergement virtuel du courrier
	&eacute;lectronique, l'information suivante sera utile.  Pour cet
	exemple, nous supposerons que vous avez un client qui poss&egrave;de
	son propre domaine, dans notre cas <hostid
	role="domainname">client1.org</hostid>, et vous voulez
	que tout le courrier pour <hostid
	role="domainname">client1.org</hostid> arrive sur votre
	serveur de courrier, <hostid role="fqdn">mail.mamachine.com</hostid>.
	L'entr&eacute;e dans votre DNS devrait ressembler &agrave; ceci:</para>

      <programlisting>client1.org		MX	10	mail.mamachine.com</programlisting>

      <para>Vous n'avez <emphasis>pas</emphasis> besoin d'un
	enregistrement A pour <hostid
	role="domainname">client1.org</hostid> si vous ne voulez
	g&eacute;rer que le courrier pour ce domaine.</para>

      <note>
	<para>Soyez conscient que &ldquo;pinger&rdquo;
	  <hostid role="domainname">client1.org</hostid> ne
	  fonctionnera pas &agrave; moins qu'un enregistrement A existe pour
	  cette machine.</para>
      </note>

      <para>La derni&egrave;re chose que vous devez faire est d'indiquer &agrave;
	<application>sendmail</application> sur le serveur de courrier
	quels sont les domaines et/ou machines pour lesquels il
	devrait accepter du courrier.  Il y a peu de fa&ccedil;ons
	diff&eacute;rentes de le faire.  L'une des deux m&eacute;thodes
	suivantes devrait fonctionner:</para>

      <itemizedlist>
	<listitem>
	  <para>Ajoutez les machines &agrave; votre fichier
	    <filename>/etc/mail/local-host-names</filename> si vous
	    utilisez la fonction <literal>FEATURE(use_cw_file)</literal>.
	    Si vous utilisez une version de
	    <application>sendmail</application> ant&eacute;rieure &agrave;
	    la version 8.10, le fichier sera
	    <filename>/etc/sendmail.cw</filename>.</para>
	</listitem>

	<listitem>
	  <para>Ajoutez une ligne <literal>Cwyour.host.com</literal>
	    &agrave; votre fichier
	    <filename>/etc/sendmail.cf</filename> ou
	    <filename>/etc/mail/sendmail.cf</filename> si vous utilisez
	    <application>sendmail</application> 8.10 ou sup&eacute;rieur.</para>
	</listitem>
      </itemizedlist>
    </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="outgoing-only">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Bill</firstname>
	  <surname>Moran</surname>
	  <contrib>Contribution de </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>Configuration pour l'envoi seul</title>

    <para>Il existe de nombreux cas o&ugrave; vous d&eacute;sirez
      &ecirc;tre capable d'uniquement envoyer du courrier
      &eacute;lectronique par l'interm&eacute;diaire d'un relais.
      Quelques exemples:</para>

    <itemizedlist>
      <listitem>
	<para>Votre ordinateur est une machine de bureau, mais vous
	  voulez utilisez des programmes comme &man.send-pr.1;.
	  Pour cela vous devez utiliser le relais de courrier
	  &eacute;lectronique de votre FAI.</para>
      </listitem>

      <listitem>
	<para>L'ordinateur est un serveur qui ne g&egrave;re pas le
	  courrier &eacute;lectronique localement, mais a besoin de
	  soumettre tout le courrier &agrave; un relais pour qu'il soit
	  transmis.</para>
      </listitem>
    </itemizedlist>

    <para>N'importe quel <acronym>MTA</acronym> est capable d'assurer
      cette fonction.  Malheureusement, il peut &ecirc;tre tr&egrave;s
      compliqu&eacute; de configurer correctement un
      <acronym>MTA</acronym> complet pour juste g&eacute;rer le
      courrier sortant.  Des logiciels comme
      <application>sendmail</application> et
      <application>postfix</application> sont largement
      surdimensionn&eacute;s pour cette utilisation.</para>

    <para>De plus, si vous utilisez un acc&egrave;s Internet
      classique, votre contrat peut vous interdire de faire tourner un
      &ldquo;serveur de courrier &eacute;lectronique&rdquo;.</para>

    <para>La mani&egrave;re la plus simple pour r&eacute;pondre
      &agrave; ce besoin est d'installer le logiciel port&eacute;
      <filename role="package">mail/ssmtp</filename>.  Ex&eacute;cutez
      les commandes suivantes en tant que
      <username>root</username>:</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
&prompt.root; <userinput>make install replace clean</userinput></screen>

    <para>Une fois install&eacute;, <filename
      role="package">mail/ssmtp</filename> peut &ecirc;tre
      configur&eacute; avec un fichier de quatre lignes,
      <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para>

    <programlisting>root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_</programlisting>

    <para>Assurez-vous d'employer votre adresse &eacute;lectronique
      r&eacute;elle pour l'utilisateur <username>root</username>.
      Utilisez le relais de courrier &eacute;lectronique sortant de
      votre FAI &agrave; la place de <hostid
      role="fqdn">mail.example.com</hostid> (certains FAIs appellent
      cela le &ldquo;serveur de courrier sortant&rdquo; ou le
      &ldquo;serveur SMTP&rdquo;).</para>

    <para>Assurez-vous &eacute;galement d'avoir
      d&eacute;sactiv&eacute; <application>sendmail</application> en
      fixant <literal>sendmail_enable="NONE"</literal> dans le fichier
      <filename>/etc/rc.conf</filename>.</para>

    <para><filename role="package">mail/ssmtp</filename> dispose
      d'autres options.  Consultez le fichier de configuration
      d'exemple dans le r&eacute;pertoire <filename
      role="directory">/usr/local/etc/ssmtp</filename> ou la page de
      manuel de <application>ssmtp</application> pour quelques
      exemples et plus d'informations.</para>

    <para>Configurer <application>ssmtp</application> de cette
      mani&egrave;re permettra &agrave; toute application tournant sur
      votre ordinateur et ayant besoin d'envoyer un courrier
      &eacute;lectronique de fonctionner correctement, tout en
      n'outrepassant pas la politique de votre FAI ou en ne permettant
      pas l'utilisation de votre ordinateur comme base arri&egrave;re
      pour &ldquo;spammers&rdquo;.</para>
  </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 &agrave; l'aide du protocole <acronym>POP</acronym>.  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">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>James</firstname>
	  <surname>Gorham</surname>
	  <contrib>Ecrit par </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>Authentification SMTP</title>

    <para>Disposer de l'authentification <acronym>SMTP</acronym>
      sur votre serveur de courrier pr&eacute;sente un certain
      nombre d'avantages.  L'authentification <acronym>SMTP</acronym>
      peut ajouter une autre couche de s&eacute;curit&eacute; &agrave;
      <application>sendmail</application>, et a l'avantage
      de donner aux utilisateurs mobiles la possibilit&eacute;
      d'utiliser le m&ecirc;me serveur de courrier sans avoir
      besoin de reconfigurer les param&egrave;tres de leur client
      courrier &agrave; chaque d&eacute;placement.</para>

    <procedure>
      <step>
	<para>Installez <filename
	  role="package">security/cyrus-sasl</filename> &agrave;
	  partir du catalogue des logiciels port&eacute;s.  Vous
	  pouvez trouver ce logiciel port&eacute; dans
	  <filename role="package">security/cyrus-sasl</filename>.
	  <filename role="package">security/cyrus-sasl</filename>
	  dispose de nombreuses options de compilation possibles,
	  pour la m&eacute;thode que nous allons utiliser ici,
	  assurez-vous de s&eacute;lectionner l'option
	  <option>pwcheck</option>.</para>
      </step>


      <step>
	<para>Apr&egrave;s avoir install&eacute;
	  <filename role="package">security/cyrus-sasl</filename>,
	  &eacute;ditez
	  <filename>/usr/local/lib/sasl/Sendmail.conf</filename>
	  (ou cr&eacute;ez-le s'il n'existe pas) et ajoutez la ligne
	  suivante:</para>

	<programlisting>pwcheck_method: passwd</programlisting>

	<para>Cette m&eacute;thode activera au niveau de
	  <application>sendmail</application> l'authentification par
	  l'interm&eacute;diaire de votre base de donn&eacute;es
	  FreeBSD <filename>passwd</filename>.  Cela nous &eacute;pargne
	  le probl&egrave;me de la cr&eacute;ation d'un nouvel ensemble
	  de nom d'utilisateur et de mot de passe pour chaque
	  utilisateur ayant besoin de recourir &agrave;
	  l'authentification <acronym>SMTP</acronym>, et conserve le
	  m&ecirc;me nom d'utilisateur et mot de passe pour le
	  courrier.</para>
      </step>

      <step>
	<para>Maintenant &eacute;ditez <filename>/etc/make.conf</filename>
	  et ajoutez les lignes suivantes:</para>

	<programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl</programlisting>

	<para>Ces lignes passeront &agrave;
	<application>sendmail</application> les bonnes options de
	configuration au moment de la compilation pour lier
	<filename role="package">cyrus-sasl</filename>.
	Assurez-vous que <filename role="package">cyrus-sasl</filename>
	a &eacute;t&eacute; install&eacute; avant de recompiler
	<application>sendmail</application>.</para>
      </step>

      <step>
	<para>Recompilez <application>sendmail</application> en
	  lan&ccedil;ant les commandes suivantes:</para>

	<screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
&prompt.root; <userinput>make cleandir</userinput>
&prompt.root; <userinput>make obj</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install</userinput></screen>

	<para>La compilation de <application>sendmail</application>
	  ne devrait pas pr&eacute;senter de probl&egrave;mes si le
	  r&eacute;pertoire <filename>/usr/src</filename> n'a pas subi
	  d'&eacute;normes changements et si les biblioth&egrave;ques
	  partag&eacute;s n&eacute;cessaires sont disponibles.</para>
      </step>

      <step>
	<para>Une fois que <application>sendmail</application> a
	  &eacute;t&eacute; compil&eacute; et r&eacute;install&eacute;,
	  &eacute;ditez votre fichier <filename>/etc/mail/freebsd.mc</filename>
	  (ou tout autre fichier que vous utilisez comme fichier
	  <filename>.mc</filename>.  De nombreux administrateurs
	  utilisent la sortie de &man.hostname.1; comme nom de fichier
	  <filename>.mc</filename> par unicit&eacute;).  Ajoutez-y les
	  lignes qui suivents:</para>

	<programlisting>dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting>

	<para>Ces options configurent les diff&eacute;rentes m&eacute;thodes
	  disponibles pour <application>sendmail</application>
	  pour l'authentification des utilisateurs.  Si vous
	  d&eacute;sirez utiliser une m&eacute;thode autre que
	  <application>pwcheck</application>, veuillez consulter
	  la documentation fournie.</para>
      </step>

      <step>
	<para>Enfin, ex&eacute;cutez &man.make.1; quand vous &ecirc;tes
	  dans <filename>/etc/mail</filename>.  Cela prendra votre
	  nouveau fichier <filename>.mc</filename> et cr&eacute;era un
	  fichier <filename>.cf</filename> appel&eacute;
	  <filename>freebsd.cf</filename> (ou selon tout autre nom que
	  vous avez utilis&eacute; pour votre fichier
	  <filename>.mc</filename>).  Ensuite utilisez la commande
	  <command>make install restart</command>, qui copiera le
	  fichier en <filename>sendmail.cf</filename>, et
	  red&eacute;marrera proprement
	  <application>sendmail</application>.  Pour plus
	  d'informations sur ce processus, vous devriez vous
	  r&eacute;ferrer au fichier
	  <filename>/etc/mail/Makefile</filename>.</para>
      </step>
    </procedure>

    <para>Si tout s'est bien pass&eacute;, vous devriez &ecirc;tre
      en mesure d'entrer votre identifiant dans votre programme
      de courrier et d'envoyer un message de test.  Pour plus
      d'investigation, fixez le <option>LogLevel</option> de
      <application>sendmail</application> &agrave; 13 et scrutez
      <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">
      l'authentification <acronym>SMTP</acronym></ulink>.</para>
  </sect1>

  <sect1 id="mail-agents">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Silver</surname>
	  <contrib>Contribution de </contrib>
	</author>
      </authorgroup>
    </sect1info>
    <title>Clients de messagerie</title>

    <indexterm>
      <primary>Client de messagerie</primary>
    </indexterm>

    <para>Un client de messagerie (&ldquo;Mail User
      Agent&rdquo;&mdash;<acronym>MUA</acronym>) est une application
      qui est utilis&eacute;e pour envoyer et recevoir du courrier
      &eacute;lectronique.  En outre, au fur et &agrave; mesure que le
      syst&egrave;me du courrier &eacute;lectronique
      &ldquo;&eacute;volue&rdquo; et devient plus complexe, les
      <acronym>MUA</acronym> deviennent de plus en plus puissants,
      offrant aux utilisateurs plus de fonctionnalit&eacute;s et de
      flexibilit&eacute;.  &os; offre le support pour de nombreux
      clients de messagerie, ils peuvent tous &ecirc;tre
      ais&eacute;ment install&eacute;s &agrave; partir du <link
      linkend="ports">catalogue des logiciels port&eacute;s de
      &os;</link>.  Les utilisateurs pourront choisir entre des
      clients de messagerie graphiques comme
      <application>evolution</application> ou
      <application>balsa</application>, des clients en mode console
      tels que <application>mutt</application>,
      <application>pine</application> ou <command>mail</command>, ou
      encore les interfaces Web utilis&eacute;es par certaines
      organisations importantes.</para>

    <sect2 id="mail-command">
      <title>mail</title>

      <para>&man.mail.1; est le client de messagerie (&ldquo;Mail User
	Agent&rdquo;&mdash;<acronym>MUA</acronym>) par d&eacute;faut
	de &os;.  C'est un <acronym>MUA</acronym> en mode console qui
	offre toutes les fonctionnalit&eacute;s de base
	n&eacute;cessaires pour envoyer et lire son courrier
	&eacute;lectronique en mode texte, cependant il est
	limit&eacute; en ce qui concerne les possibilit&eacute;s de
	pi&egrave;ces jointes et ne supporte que les bo&icirc;tes aux
	lettres locales.</para>

      <para>Bien que <command>mail</command> ne supporte pas
	l'int&eacute;raction avec les serveurs <acronym>POP</acronym>
	ou <acronym>IMAP</acronym>, ces bo&icirc;tes aux lettres
	peuvent &ecirc;tre t&eacute;l&eacute;charg&eacute;es vers un
	fichier <filename>mbox</filename> local en utilisant une
	application telle que <application>fetchmail</application>,
	qui sera abord&eacute;e plus tard dans ce chapitre (<xref
	linkend="mail-fetchmail">).</para>

      <para>Afin d'envoyer et de recevoir du courrier
	&eacute;lectronique, invoquez simplement la commande
	<command>mail</command> comme le montre l'exemple
	suivant:</para>

      <screen>&prompt.user; <userinput>mail</userinput></screen>

      <para>Le contenu de la bo&icirc;te aux lettres de l'utilisateur
	dans <filename role="directory">/var/mail</filename> est
	automatiquement lu par l'utilitaire <command>mail</command>.
	Si la bo&icirc;te est vide, l'utilitaire rend la main avec un
	message indiquant qu'aucun courrier &eacute;lectronique ne
	peut &ecirc;tre trouv&eacute;.  Une fois que la bo&icirc;te
	aux lettres a &eacute;t&eacute; lue, l'interface de
	l'application est lanc&eacute;e, et une liste de messages sera
	affich&eacute;e.  Les messages sont automatiquement
	num&eacute;rot&eacute;s, comme on peut le voir dans l'exemple
	suivant:</para>

      <screen>Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N  1 root@localhost        Mon Mar  8 14:05  14/510   "test"
 N  2 root@localhost        Mon Mar  8 14:05  14/509   "user account"
 N  3 root@localhost        Mon Mar  8 14:05  14/509   "sample"</screen>

      <para>Les messages peuvent d&eacute;sormais &ecirc;tre lus en
	utilisant la commande <keycap>t</keycap> de
	<command>mail</command>, suivie du num&eacute;ro du message
	qui devra &ecirc;tre affich&eacute;.  Dans cet exemple, nous
	lirons le premier courrier &eacute;lectronique:</para>

      <screen>& <userinput>t 1</userinput>
Message 1:
From root@localhost  Mon Mar  8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon,  8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)

This is a test message, please reply if you receive it.</screen>

      <para>Comme nous pouvons le constater dans l'exemple ci-dessus,
	l'appuie sur la touche <keycap>t</keycap> fera afficher le
	message avec les ent&ecirc;tes compl&egrave;tes.  Pour
	afficher &agrave; nouveau la liste des messages, la touche
	<keycap>h</keycap> doit &ecirc;tre utilis&eacute;e.</para>

      <para>Si le message n&eacute;cessite une r&eacute;ponse, vous
	pouvez utiliser <command>mail</command> pour cela, en entrant
	soit la touche <keycap>R</keycap>, soit la touche
	<keycap>r</keycap>.  La touche <keycap>R</keycap> demande
	&agrave; <command>mail</command> de ne r&eacute;pondre
	qu'&agrave; l'exp&eacute;diteur du message, alors que
	<keycap>r</keycap> r&eacute;pond &agrave; l'exp&eacute;diteur
	mais &eacute;galement aux autres destinataires du message.
	Vous pouvez ajouter &agrave; la suite de ces commandes le
	num&eacute;ro du courrier auquel vous d&eacute;sirez
	r&eacute;pondre.  Une fois cela effectu&eacute;, la
	r&eacute;ponse doit &ecirc;tre tap&eacute;e, et la fin du
	message doit &ecirc;tre indiqu&eacute;e par un
	<keycap>.</keycap> sur une nouvelle ligne.  Ci-dessous est
	pr&eacute;sent&eacute; un exemple:</para>

      <screen>& <userinput>R 1</userinput>
To: root@localhost
Subject: Re: test

<userinput>Thank you, I did get your email.
.</userinput>
EOT</screen>

      <para>Afin d'envoyer un nouveau courrier &eacute;lectronique, la
	touche <keycap>m</keycap> doit &ecirc;tre utilis&eacute;e,
	suivie de l'adresse &eacute;lectronique du destinataire.
	Plusieurs destinataires peuvent &eacute;galement &ecirc;tre
	sp&eacute;cifi&eacute;s en s&eacute;parant chaque adresse par
	une <keycap>,</keycap>.  Le sujet du message peut alors
	&ecirc;tre entr&eacute;, suivi du corps du message.  La fin
	d'un message doit &ecirc;tre indiqu&eacute;e en mettant un
	<keycap>.</keycap> seul sur une nouvelle ligne.</para>

      <screen>& <userinput>mail root@localhost</userinput>
Subject: <userinput>I mastered mail

Now I can send and receive email using mail ... :)
.</userinput>
EOT</screen>

      <para>Bien qu'&agrave; partir de l'utilitaire
	<command>mail</command>, la commande <keycap>?</keycap> puisse
	&ecirc;tre utilis&eacute;e &agrave; tout instant pour afficher
	l'aide, la page de manuel &man.mail.1; devrait &ecirc;tre
	consult&eacute;e pour plus d'aide sur
	<command>mail</command>.</para>

      <note>
	<para>Comme indiqu&eacute; pr&eacute;c&eacute;demment, la
	  commande &man.mail.1; &agrave; l'origine n'a pas
	  &eacute;t&eacute; con&ccedil;ue pour g&eacute;rer les
	  pi&egrave;ces jointes, et par cons&eacute;quent ne s'en sort
	  pas tr&egrave;s bien &agrave; ce niveau.  Les
	  <acronym>MUA</acronym>s plus r&eacute;cents comme
	  <application>mutt</application> g&eacute;rent les
	  pi&egrave;ces jointes de mani&egrave;re plus intelligente.
	  Mais si vous souhaitez toujours utiliser
	  <command>mail</command>, le logiciel port&eacute; <filename
	  role="package">converters/mpack</filename> vous sera d'une
	  grande aide.</para>
      </note>
    </sect2>

    <sect2 id="mutt-command">
      <title>mutt</title>

      <para><application>mutt</application> est un client de
	messagerie l&eacute;ger mais tr&egrave;s puissant, avec de
	nombreuses fonctionnalit&eacute;s, parmi lesquelles:</para>

      <itemizedlist>
        <listitem>
	  <para>la possibilit&eacute; de g&eacute;rer les fils
	    (&ldquo;threads&rdquo;) de discussions;</para>
        </listitem>

        <listitem>
	  <para>le support PGP pour la signature &eacute;lectronique
	    et le chiffrage de courriers &eacute;lectroniques;</para>
        </listitem>

        <listitem>
	  <para>le support MIME;</para>
        </listitem>

        <listitem>
	  <para>le support du format maildir;</para>
        </listitem>

        <listitem>
	  <para>application hautement configurable et
	    personnalisable.</para>
        </listitem>
      </itemizedlist>

      <para>Toutes ces caract&eacute;ristiques font de
	<application>mutt</application> un des clients de messagerie
	les plus avanc&eacute;s.  Consultez <ulink
	url="http://www.mutt.org"></ulink> pour plus d'informations
	sur <application>mutt</application>.</para>

      <para>La version stable de <application>mutt</application> peut
	&ecirc;tre install&eacute;e en utilisant le logiciel
	port&eacute; <filename role="package">mail/mutt</filename>,
	tandis que la version actuellement en d&eacute;veloppement
	peut &ecirc;tre install&eacute;e par l'interm&eacute;diaire du
	logiciel port&eacute; <filename
	role="package">mail/mutt-devel</filename>.  Une fois
	install&eacute;, <application>mutt</application> peut
	&ecirc;tre lanc&eacute; en tapant la commande suivante:</para>

      <screen>&prompt.user; <userinput>mutt</userinput></screen>

      <para><application>mutt</application> lira automatiquement le
	contenu de la bo&icirc;te aux lettres de l'utilisateur dans
	<filename role="directory">/var/mail</filename> et en affiche
	le contenu le cas &eacute;ch&eacute;ant.  Si aucun message
	n'est trouv&eacute; dans cette bo&icirc;te, alors
	<application>mutt</application> attendra une commande de
	l'utilisateur.  L'exemple ci-dessous montre
	<application>mutt</application> affichant une liste de
	messages:</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/mutt1" format="PNG">
	</imageobject>
      </mediaobject>

      <para>Afin de lire un message, s&eacute;lectionnez-le en
	utilisant les touches fl&eacute;ch&eacute;es, et appuyez sur
	<keycap>Entr&eacute;e</keycap>.  Un exemple montrant
	<application>mutt</application> affichant le contenu d'un
	message est donn&eacute; ci-dessous:</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/mutt2" format="PNG">
	</imageobject>
      </mediaobject>

      <para>Comme avec la commande &man.mail.1;,
	<application>mutt</application> permet aux utilisateurs de
	r&eacute;pondre uniquement &agrave; l'exp&eacute;diteur du
	message comme &eacute;galement &agrave; l'ensemble de ses
	destinataires.  Pour r&eacute;pondre uniquement &agrave;
	l'exp&eacute;diteur du courrier &eacute;lectronique, utilisez
	le raccourci clavier <keycap>r</keycap>.  Pour faire une
	r&eacute;ponse group&eacute;e, qui sera envoy&eacute;e
	&agrave; l'exp&eacute;diteur comme &agrave; tous les
	destinataires du message, utilisez la touche
	<keycap>g</keycap>.</para>

      <note>
	<para><application>mutt</application> emploie &man.vi.1; comme
	  &eacute;diteur pour la cr&eacute;ation et la r&eacute;ponse
	  aux courriers &eacute;lectronique.  Cela peut &ecirc;tre
	  modifi&eacute; par l'utilisateur en cr&eacute;ant son propre
	  fichier <filename>.muttrc</filename> dans leur
	  r&eacute;pertoire personnel et en positionnant la variable
	  <literal>editor</literal>.</para>
      </note>

      <para>Pour r&eacute;diger un nouveau message, appuyez sur la
	touche <keycap>m</keycap>.  Apr&egrave;s avoir donn&eacute; un
	sujet valide, <application>mutt</application> lancera
	&man.vi.1; et l'int&eacute;gralit&eacute; du message pourra
	&ecirc;tre &eacute;crite.  Une fois le courrier
	&eacute;lectronique r&eacute;dig&eacute;, sauvegardez et
	quittez <command>vi</command> et
	<application>mutt</application> r&eacute;appara&icirc;tra
	affichant un &eacute;cran r&eacute;sumant le courrier devant
	&ecirc;tre envoy&eacute;.  Pour envoyer le message, appuyez
	sur <keycap>y</keycap>.  Un exemple de r&eacute;sum&eacute;
	peut &ecirc;tre vu ci-dessous:</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/mutt3" format="PNG">
	</imageobject>
      </mediaobject>

      <para><application>mutt</application> propose &eacute;galement
	une aide compl&egrave;te, qui peut &ecirc;tre consult&eacute;e
	&agrave; partir de la plupart des menus en appuyant sur la
	touche <keycap>?</keycap>.  La ligne situ&eacute;e en haut de
	l'&eacute;cran affiche &eacute;galement les raccourcis clavier
	appropri&eacute;s.</para>
    </sect2>

    <sect2 id="pine-command">
      <title>pine</title>

      <para><application>pine</application> est destin&eacute; aux
	d&eacute;butants, mais il dispose &eacute;galement de
	fonctions avanc&eacute;es.</para>

      <warning>
	<para>Plusieurs vuln&eacute;rabilit&eacute;s exploitables
	  &agrave; distance ont &eacute;t&eacute; d&eacute;couvertes
	  dans le logiciel <application>pine</application> par le
	  pass&eacute;, autorisant &agrave; un agresseur distant
	  d'ex&eacute;cuter un programme arbitraire en tant
	  qu'utilisateur local du syst&egrave;me, en envoyant un
	  courrier &eacute;lectronique particulier.  Tous les
	  probl&egrave;mes <emphasis>connus</emphasis> ont
	  &eacute;t&eacute; corrig&eacute;s, mais le code source de
	  <application>pine</application> est &eacute;crit d'une
	  mani&egrave;re assez peu s&eacute;curis&eacute;e et l'officier
	  de s&eacute;curit&eacute; de &os; pense qu'il existe d'autres
	  failles qui ne sont pas encore d&eacute;couvertes.  Vous
	  installez donc <application>pine</application> &agrave; vos
	  propres risques.</para>
      </warning>

      <para>La version actuelle de <application>pine</application>
	peut &ecirc;tre install&eacute;e en utilisant le logiciel
	port&eacute; <filename role="package">mail/pine4</filename>.
	Une fois install&eacute;, <application>pine</application> peut
	&ecirc;tre lanc&eacute; en tapant la commande suivante:</para>

      <screen>&prompt.user; <userinput>pine</userinput></screen>

      <para>Lors du premier lancement de
	<application>pine</application>, ce dernier affiche une page
	de pr&eacute;sentation avec une br&egrave;ve introduction,
	ainsi qu'un message de la part de l'&eacute;quipe de
	d&eacute;veloppement de <application>pine</application>
	demandant l'envoi d'un courrier &eacute;lectronique anonyme
	pour leur permettre d'&eacute;valuer le nombre d'utilisateurs
	de leur client de messagerie.  Pour envoyer ce courrier
	anonyme, appuyez sur <keycap>Entr&eacute;e</keycap>, ou sinon
	appuyez sur <keycap>E</keycap> pour quitter la
	pr&eacute;sentation sans envoyer de message anonyme.  Un
	exemple de page de pr&eacute;sentation peut &ecirc;tre vu
	ci-dessous:</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/pine1" format="PNG">
	</imageobject>
      </mediaobject>

      <para>Le menu principal est ensuite affich&eacute;, menu dans
	lequel il est ais&eacute; de naviguer avec les touches
	fl&eacute;ch&eacute;es.  Ce menu principal fournit les
	raccourcis pour la r&eacute;daction de nouveaux messages, la
	navigation dans les r&eacute;pertoires de messages, et
	m&ecirc;me la gestion des entr&eacute;es du carnet d'adresses.
	Sous le menu principal, les raccourcis clavier correspondants
	pour effectuer les diff&eacute;rentes t&acirc;ches sont
	donn&eacute;s.</para>

      <para>Le r&eacute;pertoire ouvert par d&eacute;faut par
	<application>pine</application> est <filename
	role="directory">inbox</filename>.  Pour afficher l'index des
	messages, appuyez sur <keycap>I</keycap>, ou
	s&eacute;lectionnez l'option <guimenuitem>MESSAGE
	INDEX</guimenuitem> comme montr&eacute; ci-dessous:</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/pine2" format="PNG">
	</imageobject>
      </mediaobject>

      <para>L'index des messages montre les messages dans le
	r&eacute;pertoire courant, on peut se d&eacute;placer dans
	l'index en utilisant les touches fl&eacute;ch&eacute;es.  Les
	messages en surbrillance peuvent &ecirc;tre lus en appuyant
	sur la touche <keycap>Enter</keycap>.</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/pine3" format="PNG">
	</imageobject>
      </mediaobject>

      <para>Dans la capture d'&eacute;cran ci-dessous, un message
	d'exemple est affich&eacute; par
	<application>pine</application>.  Les raccourcis clavier sont
	affich&eacute;s au bas de l'&eacute;cran.  Un exemple de
	raccourci est la touche <keycap>r</keycap>, qui demande au
	programme de r&eacute;pondre au message actuellement &agrave;
	l'&eacute;cran.</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/pine4" format="PNG">
	</imageobject>
      </mediaobject>

      <para>La r&eacute;daction d'une r&eacute;ponse &agrave; un
	courrier &eacute;lectronique avec
	<application>pine</application> se fait en utilisant
	l'&eacute;diteur <application>pico</application>, qui est
	install&eacute; par d&eacute;faut avec
	<application>pine</application>.  L'utilitaire
	<application>pico</application> rend ais&eacute; les
	d&eacute;placements dans le message et est plus indulgent avec
	les novices que &man.vi.1; ou &man.mail.1;.  Une fois la
	r&eacute;ponse r&eacute;dig&eacute;e, le message peut
	&ecirc;tre envoy&eacute; en appuyant sur <keycombo
	action="simul"><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>.
	<application>pine</application> vous demandera de confirmer
	votre action.</para>

      <mediaobject>
	<imageobject>
	  <imagedata fileref="mail/pine5" format="PNG">
	</imageobject>
      </mediaobject>

      <para>Le programme <application>pine</application> peut
	&ecirc;tre personnalis&eacute; en utilisant l'option
	<guimenuitem>SETUP</guimenuitem> du menu principal.  Consultez
	<ulink url="http://www.washington.edu/pine/"></ulink> pour
	plus d'information.</para>
    </sect2>
  </sect1>

  <sect1 id="mail-fetchmail">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Silver</surname>
	  <contrib>Contribution de </contrib>
	</author>
      </authorgroup>
    </sect1info>
    <title>Utiliser fetchmail</title>

    <indexterm>
      <primary>Utiliser fetchmail</primary>
    </indexterm>

    <para><application>fetchmail</application> est un client
      <acronym>IMAP</acronym> et <acronym>POP</acronym> complet qui
      offre aux utilisateurs le t&eacute;l&eacute;chargement
      automatiquement de leur courrier &eacute;lectronique &agrave;
      partir de serveurs <acronym>IMAP</acronym> et
      <acronym>POP</acronym> distants et sa sauvegarde dans des
      bo&icirc;tes aux lettres locales; ainsi, le courrier
      &eacute;lectronique pourra &ecirc;tre consult&eacute; plus
      facilement.  <application>fetchmail</application> peut
      &ecirc;tre install&eacute; en utilisant le logiciel port&eacute;
      <filename role="package">mail/fetchmail</filename>, et offre
      diverses fonctionnalit&eacute;s, dont:</para>

    <itemizedlist>
      <listitem>
	<para>le support des protocoles <acronym>POP3</acronym>,
	  <acronym>APOP</acronym>, <acronym>KPOP</acronym>,
	  <acronym>IMAP</acronym>, <acronym>ETRN</acronym> et
	  <acronym>ODMR</acronym>;</para>
      </listitem>

      <listitem>
	<para>la capacit&eacute; de faire suivre le courrier
	  &eacute;lectronique en utilisant <acronym>SMTP</acronym>, ce
	  qui autorise le filtrage, le transfert, et la gestion des
	  alias de fonctionner correctement;</para>
      </listitem>

      <listitem>
	<para>la possibilit&eacute; de fonctionner en mode
	  &ldquo;daemon&rdquo; pour contr&ocirc;ler
	  p&eacute;riodiquement si il y a de nouveaux messages;</para>
      </listitem>

      <listitem>
	<para>la possibilit&eacute; de r&eacute;cup&eacute;rer le
	  courrier de plusieurs bo&icirc;tes aux lettres et de le
	  transf&eacute;rer en fonction d'une configuration bien
	  pr&eacute;cise aux diff&eacute;rents utilisateurs
	  locaux.</para>
      </listitem>
    </itemizedlist>

    <para>Bien qu'expliquer l'int&eacute;gralit&eacute;s de fonctions
      de <application>fetchmail</application> d&eacute;passe le cadre
      de ce document, certaines fonctions de base seront
      abord&eacute;es.  L'utilitaire
      <application>fetchmail</application> n&eacute;cessite un fichier
      de configuration nomm&eacute; <filename>.fetchmailrc</filename>,
      afin de fonctionner correctement.  Ce fichier comprend les
      informations concernant les serveurs ainsi que les
      accr&eacute;ditations d'acc&egrave;s.  En raison du
      caract&egrave;re sensible du contenu de ce fichier, il est
      recommand&eacute; de ne le rendre lisible que par l'utilisateur,
      avec la commande suivante:</para>

    <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
    <para>Le fichier <filename>.fetchmailrc</filename> suivant
      sert d'exemple pour r&eacute;cup&eacute;rer le courrier
      &eacute;lectronique pour un seul utilisateur &agrave; partir
      d'une bo&icirc;te aux lettres utilisant le protocole
      <acronym>POP</acronym>.  Il demande &agrave;
      <application>fetchmail</application> de se connecter &agrave;
      <hostid role="fqdn">example.com</hostid> en utilisant le nom
      d'utilisateur <username>joesoap</username> et le mot de passe
      <literal>XXX</literal>.  Dans cet exemple on suppose que
      l'utilisateur <username>joesoap</username> est &eacute;galement
      un utilisateur sur le syst&egrave;me local.</para>

    <programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting>

    <para>L'exemple suivant pr&eacute;sente la connexion &agrave;
      plusieurs serveurs <acronym>POP</acronym> et
      <acronym>IMAP</acronym> et la redirection vers diff&eacute;rents
      utilisateurs locaux quand c'est n&eacute;cessaire:</para>

    <programlisting>poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;</programlisting>

    <para>L'utilitaire <application>fetchmail</application> peut
      &ecirc;tre ex&eacute;cut&eacute; en mode &ldquo;daemon&rdquo; en
      le lan&ccedil;ant avec le param&egrave;tre <option>-d</option>,
      suivi par l'intervalle de temps (en secondes) que
      <application>fetchmail</application> doit respecter entre chaque
      consultation des serveurs list&eacute;s dans le fichier
      <filename>.fetchmailrc</filename>.  L'exemple suivant demandera
      &agrave; <application>fetchmail</application> de
      r&eacute;cup&eacute;rer le courrier toutes les 60
      secondes:</para>

    <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen>

    <para>Plus d'informations concernant
      <application>fetchmail</application> peuvent &ecirc;tre
      trouv&eacute;es sur <ulink
      url="http://www.catb.org/~esr/fetchmail/"></ulink>.</para>
  </sect1>

  <sect1 id="mail-procmail">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Silver</surname>
	  <contrib>Contribution de </contrib>
	</author>
      </authorgroup>
    </sect1info>
    <title>Utiliser procmail</title>

    <indexterm>
      <primary>Utiliser procmail</primary>
    </indexterm>

    <para>L'utilitaire <application>procmail</application> est une
      application extr&ecirc;mement puissante utilis&eacute;e pour
      filtrer le courrier &eacute;lectronique entrant.  Il permet aux
      utilisateurs de d&eacute;finir des &ldquo;r&egrave;gles&rdquo;
      qui seront utilis&eacute;es sur le courrier entrant pour
      effectuer des op&eacute;rations particuli&egrave;res ou pour
      transf&eacute;rer le courrier vers d'autres bo&icirc;tes aux
      lettres et/ou adresses &eacute;lectroniques.
      <application>procmail</application> peut &ecirc;tre
      install&eacute; en utilisant le logiciel port&eacute; <filename
      role="package">mail/procmail</filename>.  Une fois
      install&eacute;, il peut &ecirc;tre int&eacute;gr&eacute; dans
      la plupart des <acronym>MTA</acronym>s, consultez la
      documentation de votre <acronym>MTA</acronym> pour plus
      d'information.  Alternativement,
      <application>procmail</application> peut &ecirc;tre
      int&eacute;gr&eacute; en ajoutant la ligne suivante &agrave; un
      fichier <filename>.forward</filename> dans le r&eacute;pertoire
      personnel de l'utilisateur employant les fonctionnalit&eacute;s
      de <application>procmail</application>:</para>

    <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>

    <para>La suite de cette section pr&eacute;sentera quelques
      r&egrave;gles de base pour <application>procmail</application>,
      avec une br&egrave;ve description de ce qu'elles font.  Ces
      r&egrave;gles, ainsi que d'autres, doivent &ecirc;tre
      ajout&eacute;es dans le fichier
      <filename>.procmailrc</filename>, qui doit r&eacute;sider dans
      le r&eacute;pertoire personnel de l'utilisateur.</para>

    <para>La majorit&eacute; de ces r&egrave;gles peut
      &eacute;galement &ecirc;tre trouv&eacute;e dans la page de
      manuel de &man.procmailex.5;.</para>

    <para>Transf&eacute;rer tout courrier en provenance de
      <literal>user@example.com</literal> vers l'adresse externe
      <literal>goodmail@example2.com</literal>:</para>

    <programlisting>:0
* ^From.*user@example.com
! goodmail@example2.com</programlisting>

    <para>Transf&eacute;rer tous les courriers d'une taille
      inf&eacute;rieure &agrave; 1000 octets vers l'adresse externe
      <literal>goodmail@example2.com</literal>:</para>

    <programlisting>:0
* < 1000
! goodmail@example2.com</programlisting>

    <para>Mettre tout le courrier &agrave; destination de
      <literal>alternate@example.com</literal> dans une bo&icirc;te
      aux lettres appel&eacute;e
      <filename>alternate</filename>:</para>

    <programlisting>:0
* ^TOalternate@example.com
alternate</programlisting>

    <para>Envoyer tous les courriers avec pour sujet
      &ldquo;Spam&rdquo; vers <filename>/dev/null</filename>:</para>

    <programlisting>:0
^Subject:.*Spam
/dev/null</programlisting>

    <para>Une recette utile pour trier les courriers en provenance des
      listes de diffusion <hostid role="domainname">&os;.org</hostid>
      et placer chaque liste dans sa propre bo&icirc;te aux
      lettres:</para>

    <programlisting>:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
	LISTNAME=${MATCH}
	:0
	* LISTNAME??^\/[^@]+
	FreeBSD-${MATCH}
}</programlisting>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
