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.
Exemple 27-1. Configuration de la base de données d'accès de sendmail
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
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:
Exemple 27-2. Exemple de base de données d'alias
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
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:
exemple.com mail.exemple.com
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.
Exemple 27-3. Exemple de correspondance de domaine virtuel de courrier
root@exemple.com root postmaster@exemple.com postmaster@noc.exemple.net @exemple.com joe
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.
Précédent | Sommaire | Suivant |
Utilisation du courrier électronique | Niveau supérieur | Changer votre agent de transfert de courrier |
Ce document, ainsi que d'autres peut être téléchargé sur 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>.