sendmail(8) est l'agent de transfert de courrier (Mail Transfert Agent—MTA) par défaut sous FreeBSD. Le rôle de sendmail est d'accepter le courrier en provenance des agents de courrier utilisateur (Mail User Agents—MUA) et de délivrer le courrier aux programmes de gestion du courrier définis dans son fichier de configuration. sendmail peut également accepter les connexions réseau et délivrer le courrier dans des boîtes aux lettres locales ou le transmettre à un autre programme.
sendmail utilise les fichiers de configuration suivants:
Fichier | Fonction |
---|---|
/etc/mail/access
| Fichier de la base de données d'accès de sendmail |
/etc/mail/aliases
| Alias de boîte aux lettres |
/etc/mail/local-host-names
| Liste des machines pour lesquelles sendmail accepte du courrier |
/etc/mail/mailer.conf
| Configuration du programme de gestion du courrier |
/etc/mail/mailertable
| Table de livraison du courrier |
/etc/mail/sendmail.cf
| Fichier de configuration principal de sendmail |
/etc/mail/virtusertable
| Table des domaines et utilisateurs virtuels |
La base de données d'accès définit
quelle(s) machine(s) ou adresses IP ont accès au serveur de
courrier local et quel type d'accès ils ont.
Les machines peuvent être listées avec OK
,
REJECT
, RELAY
ou simplement
transférées à la routine de gestion des erreurs
sendmail avec une erreur donnée.
Les machines qui sont listées avec OK
, qui est le
comportement par défaut, sont autorisées à envoyer du
courrier à cette machine dès que la destination finale
du courrier est la machine locale. Les machines listées avec
REJECT
se verront rejeter pour toute connexion
au serveur. Les machines présentes avec l'option
RELAY
sont autorisées à envoyer du
courrier à n'importe quelle destination par
l'intermédiaire de ce serveur de courrier.
Dans cet exemple nous avons cinq entrées.
Les émetteurs de courrier qui correspondent à la partie
gauche de la table sont affectés par l'action donnée
sur la partie droite de la table. Les deux premiers
exemples donnent un code d'erreur à la routine de gestion
d'erreur de sendmail.
Le message est affiché sur la machine distante quand un courrier
électronique correspond à la partie gauche de la table.
L'entrée suivante rejette le courrier en provenance
d'une machine précise de l'Internet,
another.source.of.spam
. L'entrée suivante
accepte les connexions à partir de la machine
okay.cyberspammer.com
, qui est plus précis
que le cyberspammer.com
de la ligne
précédente. Les correspondances plus spécifiques
priment sur les moins précises. La dernière
entrée autorise le relais du courrier électronique en
provenance de machines avec une adresse IP qui commence par
128.32
. Ces machines seront en mesure
d'envoyer du courrier destiné à d'autres
serveurs de courrier par l'intermédiaire de ce serveur de
courrier.
Quand ce fichier est mis à jour, vous devez exécuter
la commande make
dans
/etc/mail/
pour mettre à jour la base
de données.
La base de données d'alias contient une liste
de boîtes aux lettres virtuelles dont le contenu sera transmis
à d'autres utilisateurs, fichiers, programmes ou d'autres
alias. Voici quelques exemples qui peuvent être
utilisés dans /etc/mail/aliases
:
Le format du fichier est simple; le nom de la boîte
aux lettres à gauche et la cible sur la droite.
Le premier exemple transfère la boîte aux lettres
root
vers la boîte aux lettres
localuser
, qui est ensuite recherchée
dans la base de données d'alias. Si aucune correspondance n'est
trouvée alors le message est délivré à
l'utilisateur locale
localuser
. L'exemple suivant montre une
liste de correspondance. Un courrier envoyé à la
boîte aux lettres ftp-bugs
sera
délivré aux trois boites locales joe
,
eric
, et paul
. Notez
qu'une boîte aux lettres distante comme user@exemple.com
/procmail
pourra
être spécifiée. L'exemple suivant montre comment
transférer le courrier dans un fichier, dans notre cas
/dev/null
. Le dernier exemple montre
l'envoi du courrier à un programme, dans le cas présent
le message est écrit sur l'entrée standard de
/usr/local/bin/procmail
par
l'intermédiaire d'un tube UNIX®.
Quand ce fichier est mis à jour, vous devez
exécuter la commande make
dans
/etc/mail/
pour mettre à jour
la base de données.
C'est la liste des machines pour lesquelles sendmail(8)
accepte du courrier comme s'il était destiné
à la machine locale.
Placez-y tous les domaines ou machines pour lesquels
sendmail doit recevoir du courrier.
Par exemple, si le serveur de courrier devait accepter du
courrier pour le domaine exemple.com
et la machine
mail.exemple.com
, sont
local-host-names
ressemblera à quelque
chose comme ceci:
Quand ce fichier est mis à jour, sendmail(8) doit être relancé pour lire les changements.
Fichier principal de configuration de
sendmail,
sendmail.cf
contrôle le comportement
général de sendmail,
y compris tout depuis la réécriture des adresses
de courrier jusqu'à l'envoi de message de rejet aux
serveurs de courrier distants. Naturellement, avec tant de
différentes activités, ce fichier de configuration
est relativement complexe et son étude détaillée
n'est pas le but de cette section. Heureusement, ce fichier a
rarement besoin d'être modifié pour les serveurs de courrier
standards.
Le fichier de configuration principal de
sendmail peut être
créé à partir de macros m4(1) qui
définissent les fonctions
et le comportement de sendmail.
Veuillez consulter
/usr/src/contrib/sendmail/cf/README
pour
plus de détails.
Quand des modifications à ce fichier sont apportées, sendmail doit être redémarré pour que les changements prennent effet.
La table virtusertable
fait
correspondre les adresses de courrier électronique pour des
domaines virtuels et les boîtes aux lettres avec des
boîtes aux lettres réelles. Ces boîtes aux lettres
peuvent être locales, distantes, des alias définis dans
/etc/mail/aliases
ou des fichiers.
Dans l'exemple ci-dessus, nous avons une correspondance pour
un domaine exemple.com
. Ce fichier est traité
jusqu'à trouver la première correspondance.
Le premier élément fait correspondre root@exemple.com
à la boîte aux lettres root locale. L'entrée
suivante fait correspondre postmaster@exemple.com
à la
boîte aux lettres postmaster sur la machine noc.exemple.net
.
Et enfin, si un courrier en provenance de exemple.com
n'a pas
trouvé de correspondance, il correspondra à la
dernière ligne, qui régira tous les autres messages
adressés à
quelqu'un du domaine exemple.com
.
La correspondance sera la boîte aux lettres locale
joe
.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.