Sendmail gmail debian13
Configuration complète, propre et fonctionnelle de Sendmail avec Gmail sur Debian 13 — incluant l’authentification, le chiffrement TLS et un test d’envoi via la commande mail
🚀 Objectif
Configurer Sendmail pour envoyer des mails via Gmail SMTP (port 587), avec mot de passe d’application, puis tester avec la commande :
echo "Message test" | mail -s "Sujet" tonmail@gmail.com
🧰 1. Installation des paquets nécessaires
sudo apt update
sudo apt install sendmail sendmail-bin sendmail-cf mailutils libsasl2-modules
✅ Ce que ça fait :
sendmail→ le serveur SMTPsendmail-cf→ permet d’utiliserm4pour générersendmail.cfmailutils→ fournit la commandemaillibsasl2-modules→ indispensable pour l’authentification Gmail
📁 2. Créer le fichier d’authentification Gmail
Créer le fichier /etc/mail/authinfo/gmail-auth :
sudo mkdir -p /etc/mail/authinfo
sudo nano /etc/mail/authinfo/gmail-auth
Contenu :
AuthInfo:smtp.gmail.com "U:root" "I:tonmail@gmail.com" "P:mot_de_passe_application" "M:LOGIN"
⚠️ Remplace :
tonmail@gmail.com→ ton adresse Gmailmot_de_passe_application→ mot de passe d’application Gmail (pas ton mot de passe normal)
Ensuite, créer la base de données Sendmail :
sudo makemap hash /etc/mail/authinfo/gmail-auth < /etc/mail/authinfo/gmail-auth
Puis sécuriser les permissions :
sudo chmod 600 /etc/mail/authinfo/gmail-auth*
⚙️ 3. Modifier la configuration Sendmail
Édite le fichier /etc/mail/sendmail.mc :
sudo nano /etc/mail/sendmail.mc
Ajoute (ou vérifie) les lignes suivantes avant MAILER_DEFINITIONS :
define(`SMART_HOST', `smtp.gmail.com')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl define(`confAUTH_OPTIONS', `A p')dnl TRUST_AUTH_MECH(`LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo/gmail-auth.db')dnl
💡 Astuce : laisse les autres lignes par défaut (notamment MAILER_DEFINITIONS et MAILER(local) MAILER(smtp) à la fin du fichier).
🧱 4. Générer le fichier de configuration actif
Compile le fichier .mc en .cf :
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
🔁 5. Redémarrer Sendmail
sudo systemctl restart sendmail
sudo systemctl status sendmail
Tu dois voir active (running) ✅
📤 6. Test d’envoi de mail
Teste un envoi avec mail :
echo "Ceci est un test d'envoi via Gmail." | mail -s "Test Sendmail Gmail" tonmail@gmail.com
Tu peux vérifier les logs :
sudo tail -f /var/log/mail.log
Si tout est correct, tu verras :
... to=<tonmail@gmail.com>, relay=smtp.gmail.com [173.194.xxx.xxx], dsn=2.0.0, stat=Sent (OK)
Et tu recevras le mail 🎉
🧠 Notes importantes
Pour Gmail, tu dois utiliser un mot de passe d’application : 👉 https://myaccount.google.com/apppasswords
Si tu changes le mot de passe d’application, n’oublie pas de mettre à jour
/etc/mail/authinfo/gmail-authpuis de relancer :sudo makemap hash /etc/mail/authinfo/gmail-auth < /etc/mail/authinfo/gmail-auth sudo systemctl restart sendmail
Pour tester manuellement avec
sendmail -v:echo "Subject: Test direct Sendmail" | sendmail -v tonmail@gmail.com