15/11/2024

Services

Envoi de mail avec Nullmailer

I. Présentation

logo-mail1L'envoi de mail est un point incontournable dans l’administration d’un serveur. Les outils de sécurisations ou de monitoring que nous mettons en place ont besoin d’émettre des alertes ou des rapports. Il existe de nombres outils permettant l'envoi d'email, les plus connus sont Sendmail et Postfix. Cependant, ils sont lourds et compliqués à mettre en place. Je vous propose donc d'utiliser Nullmailer, un petit logiciel très peu gourmand pour l'envoi de notification sur votre boîte mail.

II. Installation et configuration

Au préalable il faut supprimer exim4 livré sur les distributions Debian :

aptitude purge exim4                         
aptitude purge exim4-base                    
aptitude purge exim4-config                  
aptitude purge exim4-daemon-light

Puis installer le paquet nullmailer :

aptitude update
aptitude install nullmailer

Une fois le paquet téléchargé le programme de configuration se lance automatiquement et va vous demander :

  • Nom de courrier de votre système : test_nom_serveur

Il s'agit de l'identifiant de la machine qui enverra les mails. A tout moment vous pourrez modifier la valeur via le fichier /etc/mailname.

  • et la Machine relais : smtp.gmail.com smtp --port=25 --auth-login [email protected] --pass=xxxxx  --starttls

Remarque : -- correspond à 2 tirets

Le fichier est stocké dans /etc/nullmailer/remotes (possibilité de le modifier à tout moment).

Pour ma part, vu que dans ce fichier il contient le mot de passe en clair du compte de la messagerie que j'utilise pour l'envoi d'email, j'ai supprimé les autorisations de lectures, écritures et d'exécutions :

chmod go-rwx /etc/nullmailer/remotes

Si vous utilisez IPtables, il faudra alors exécuter les commandes suivantes pour autoriser le trafic :

iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

Pour rappel, le port 25 précisé dans la règle ci-dessus correspond au protocole SMTP utilisé pour envoyer les e-mails.

IV. Autres

Il y a deux fichiers de logs pour cette application :

  • /var/log/syslog
  • /var/log/mail.err

Par ailleurs, on trouve un répertoire de spool, avant l'envoi (vérifier que ce dernier est vide si vous ne recevez pas d'e-mail) :

  • /var/spool/nullmailer/queue/

Commande pour forcer l'envoi d'email présent dans le spool :

  • nullmailer-send

V. Conclusion

Nous voilà avec un serveur configuré pour envoyer des e-mails afin de notifier des alertes, des rapports. Petit test pour vérifier que ça fonctionne :

echo "test envoi email" | mail -s "nullmailer" [email protected]
author avatar
Arnaud Baumard
Adepte des nouvelles technologies, passionné d'informatique et plus particulièrement dans l'administration systèmes et réseaux, je viens partager mes connaissances, mes trouvailles, mes projets.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

4 commentaires sur “Envoi de mail avec Nullmailer

  • Hello !

    Je dois vraiment pas être fait pour les config mail, après avoir passé et perdu des heures sur sendmail, postfix et maintenant au plus simple sur nullmailer, je me tape des erreurs dont je ne vois pas comment résoudre …
    J’ai appliqué le tuto’ il y a de ça 15 jours, et depuis hier sans aucune modif système je me tape l’erreur 552 :
    smtp: Failed: 552 sorry, your envelope sender domain must exist (#5.7.1)

    J’utilise un compte SMTP existant pour envoyer les emails (ovh).

    Passé pas mal de temps sur Google mais j’en viens souvent sur les mêmes réponses, relativement flou pour mes connaissances.

    Une petite idée ?

    Merci !

    Répondre
    • Bonjour Nemergal,

      Ta passerelle SMTP est-elle accessible ?
      Selon les infos que tu me donnes j’ai comme l’impression que le domaine utilisé pour ta passerelle n’est plus accessible.

      Hésite pas à créer un sujet sur notre forum.

      Bonne soirée.

      Arnaud.

      Répondre
  • Bonjour, je test avec mon compte gmail mais le mail ne part pas.

    Dans les log il est indiqué :
    Mar 15 11:00:23 XXXX nullmailer[13018]: smtp: Failed: 534-5.7.14 <https://accounts.google.com/signin/continue?XXXXXXXXx
    Mar 15 11:00:23 XXXX nullmailer[12925]: Sending failed: Permanent error in sending the message

    Je pense que google refuse la connexion de mon serveur pour l'envoi de mon mail

    Répondre
  • Bonjour,
    nullmailer permet-il d’envoyer un message entre deux machines d’un réseau local, ou bien est-il obligatoire de réinstaller postfix (ce dont j’ai malheureusement l’impression) ?
    Merci.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.