Sendmail

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Agent de transport de courrier (MTA)
Paquets sendmail · sendmail-cf
Config /etc/mail/sendmail.mc (source) → /etc/mail/sendmail.cf (généré)
Voir aussi Mail · Sendmail (AIX)

sendmail est un agent de transport de courrier (MTA) historique, capable de faire office de serveur SMTP local, de relayer les mails sortants vers un relais SMTP externe (« smart host »), et de gérer une file d'attente de livraison. Cette page couvre l'usage sous Linux (RHEL/CentOS) ; pour le pilotage du service sous AIX via le System Resource Controller, voir Sendmail (AIX).

Installation

yum install sendmail sendmail-cf

Fichiers de configuration

Le fichier utilisé par le démon est sendmail.cf, mais il ne doit pas être édité directement : il est régénéré à partir de la source macro sendmail.mc à chaque (re)démarrage du service.

vi /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
LOCAL_DOMAIN(`example.com')dnl
dnl define(`SMART_HOST', `192.0.2.1')dnl

Régénérer sendmail.cf à partir de la macro, puis relancer le service :

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
systemctl restart sendmail

Relais SMTP (smart host)

La directive DS de sendmail.cf définit le relais vers lequel tout le courrier sortant est envoyé (peut être vide pour une livraison directe) :

# "Smart" relay host (may be null)
DS<nom-ou-ip-du-relais>
grep '^DS' /etc/mail/sendmail.cf

Authentification vers un relais externe

vi /etc/mail/authinfo
AuthInfo:smtp.exemple.com "U:utilisateur" "P:mot-de-passe" "M:PLAIN"
makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo

Dans sendmail.mc, activer l'authentification et référencer la table :

define(`confAUTH_OPTIONS', `A')dnl
FEATURE(`authinfo', `hash /etc/mail/authinfo.db')dnl

Régénérer sendmail.cf (voir plus haut) puis tester :

echo "Test de courriel" | sendmail -v destinataire@exemple.com

⚠️ Le mot de passe est stocké en clair dans /etc/mail/authinfo — restreindre les droits du fichier (chmod 600) et de authinfo.db.

Gestion de la file d'attente

mailq                # affiche le contenu de la file d'attente

sendmail -q -v       # tente de livrer les mails en file, en arrière-plan
sendmail -qf -v      # idem, en premier plan (foreground)

sendmail -bp -qQ     # liste tous les messages en quarantaine
sendmail -bp         # liste tous les messages en file

Autres fichiers utiles

  • access — contrôle d'accès par hôte/réseau/utilisateur : REJECT (avec message d'erreur), DISCARD (sans message) ou RELAY (accepte et relaie).
  • domaintable — réécriture de domaine, ex. lors d'une migration ancien-domaine.example → nouveau-domaine.example.
  • local-host-names — alias supplémentaires du serveur, un par ligne.
  • mailertable — table de routage utilisée à la place d'une résolution DNS classique.
  • trusted-users — utilisateurs autorisés à envoyer du courrier sans avertissement (usurpation d'expéditeur possible pour ces comptes).
  • virtusertable — redirection de courrier entre domaines virtuels.
  • statistics — fichier binaire de statistiques d'usage, consultable avec mailstats ; n'existe qu'une fois le service démarré.

Voir aussi

  • Mail — envoi de courrier côté client (mail/mailx, mutt, swaks)
  • Sendmail (AIX) — équivalent AIX, piloté par le System Resource Controller (SRC)