Sendmail et serveur SMTP

De Wiki de la famille Lambelet
Révision datée du 2 juin 2021 à 14:49 par 85.218.102.151 (discussion) (→‎Configuration du relais SMTP)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Nous allons configurer Sendmail sur Debian 10 pour utiliser un serveur SMTP.

Installation de sendmail

$ sudo apt install sendmail

Dès lors, quand vous utilisez la commande "sudo sendmailconfig", vous devriez avoir un message qui vous demande de confirmer que vous avez configuré sendmail.

Configuration de sendmail

Si vous voulez configurer manuellement sendmail alors vous avez trois fichiers à disposition:

  • /etc/mail/sendmail.conf
  • /etc/cron.d/sendmail
  • /etc/mail/sendmail.mc

Vous pouvez tester sendmail pour voir si cela fonctionne en utilisant la commande suivante :

$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com

Configuration du relais SMTP

Allez dans le répertoire de configutation de sendmail :

$ cd /etc/mail

Créez un sous-répertoire "auth" :

$ sudo mkdir auth
$ cd auth

Créez un fichier qui contiendra votre login SMTP :

$ sudo touch client-info

Dans ce fichier ajoutez la ligne suivante en modifiant votre identifiant et mot de passe :

AuthInfo:serveur_smtp.com "U:root" "I:utilisateur" "P:mot_de_passe"

Maintenant nous allons utiliser "Authentication database" pour permettre a sendmail de lire ce fichier de configuration :

sudo makemap hash client-info < client-info

Puis nous protégeons ces fichiers pour que seul root puisse les lire :

$ sudo chmod 600 client-info
$ cd ..
$ sudo chmod 700 auth

Maintenant il faut ajouter les ligne suivante dans le fichier sendmail.mc juste avant MAILERDEFINITIONS. Indiquez ici le nom de domaine de votre serveur SMTP :

define(`SMART_HOST',`serveur_smtp.com')dnl
MASQUERADE_AS(`mon_domain.com')
FEATURE(masquerade_envelope)
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

On va maintenant regénérer le fichier sendmail.cf

$ sudo m4 sendmail.mc | sudo tee sendmail.cf > /dev/null

Redémarrez le service sendmail:

$ sudo service sendmail restart

Testez sendmail :

$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com

Si vous ne recevez pas le message, allez voir le fichier de log /var/log/mail.info

J'espère que ce tuto vous sera utile.