Page suivante Page précédente Table des matières

12. Courrier

12.1 La chaîne : envoi, transmission, livraison, consultation

Une fois livré, le courrier peut être consulté

12.2 Structure d'un serveur de courrier

En entrée :

En sortie :

Stockage:

12.3 Décisions d'acheminement

Pour un serveur simple, les décisions sont basées sur la provenance et la destination du courrier.


ProvenanceDestinationAction local ou distant locallivraison dans boite aux lettres,ouredirection localdistantenvoi par SMTP à l'échangeur de courrierdu destinataire (consultation DNS) distantdistantrelaying (interdit en principe)

12.4 Situation fréquentes

Client bête

Refile tout le courrier à expédier à un smart host, qui s'en occupera.

Cas des portables, accès chez fournisseurs, etc.

Smart Host

Relaie le courrier pour ses clients. En général, change les entêtes pour faire croire qu'il en est l'expéditeur (masquerading), pour que les retours de courriers se fassent bien.

Serveur de courrier pour plusieurs domaines

Vu de l'extérieur, est l'échangeur de courrier pour plusieurs domaines.

En interne, redirige le courrier vers d'autres serveurs

12.5 La configuration d'un logiciel de courrier

Les logiciels les plus connus : Sendmail, Postfix, Exim, Smail, ...

Un fichier sendmail.cf standard fait un bon millier de lignes. C'est normal, parce qu'il y a théoriquement des quantités de paramètres à régler.

La complexité vient également des formats d'adresses qu'il convient de traiter. De nos jours, on n'emploie quasiment plus que les adresses de la forme nom@machine.domaine, mais il y en a beaucoup d'autres.

D'où la réputation de complexité des logiciels de courrier comme sendmail.

En réalité :

12.6 Exemple : client stupide

Ci-dessous le fichier de configuration sendmail.mc pour un poste de travail qui se contente de transmettre tout son courrier à un échangeur de courrier (mail.boutique.fr):

divert(-1)
#  
# client stupide pour domaine boutique.fr
# Adapté de /usr/share/sendmail/sendmail.cf/cf/clientproto.mc 
#
divert(0)dnl
VERSIONID(@(#)stupide.mc')

OSTYPE(debian)
FEATURE(nullclient,mail.boutique.fr)

12.7 Exemple : Serveur permanent indépendant sur Internet

Cette machine expédie son courrier directement.

divert(0)dnl
VERSIONID(@(#)tcpproto.mc      8.10 (Berkeley) 5/19/1998')
OSTYPE(debian)
FEATURE(nouucp)
MAILER(local)
MAILER(smtp)

12.8 Macros utiles

Documentation : fichier cf.README livré avec sendmail.

Pour savoir si le courrier doit être livré sur place ou non :

Pour le déguisement de provenance (masquerading) :

Des macros similaires s'appliquent au contrôle du relaying : RELAY_DOMAIN(host.domain), FEATURE(`relay_entire_domain'), FEATURE(`relay_based_on_MX') ...

Voir documentation pour les détails.


Page suivante Page précédente Table des matières