Méthodologie de résolution
Tester la commande manuellement
Pour vérifier le bon envoi de l'email, loguez-vous sur la machine qui héberge votre Reactionner puis utiliser l'utilisateur shinken via :
su - shinken
Puis envoyer votre commande, par exemple :
/var/lib/shinken/libexec/notifications/notify_by_email.py --title-tpl /var/lib/shinken/libexec/notifications/service_alert_title_template.tpl --content-tpl /var/lib/shinken/libexec/notifications/service_alert_content_template.tpl -r "RECEIVER@DOMAIN.COM" -F "SENDER@DOMAIN.COM"
Vous devriez alors recevoir :
DATE,426:INFO: Mail sent successfully
Si vous avez remplacé "RECEVEUR@DOMAIN.COM" par votre adresse mail, vous devriez recevoir l'email dans votre boite email. Le mail sera vide de sens, mais vous prouvera que votre serveur est fonctionnel.
Problème d'envoi : regarder dans les logs
Si l'envoi échoue, les logs du relai SMTP peuvent donner des indications précieuses sur la cause de l'échec.
Pour Postfix :
la commande journactl permet d'afficher les logs du service :
journalctl -xf -u postfix
Le fichier de log "secure" contient les informations concernant les dernières connexions :
cat /var/log/maillog
Ces logs permettent, entre autres, de savoir :
- Si le problème d'envoi provient de la connexion avec le "relayhost".
- Si la résolution de nom s'effectue correctement.
Exemple :
Dans l'exemple ci-dessous, un mail est chargé et correctement délivré au "relayhost" pour envoi.
[root@shinken-server shinken]# journalctl -xf -u postfix -- Logs begin at Wed 2025-09-03 06:05:48 CEST. -- Sep 3 07:39:21 shinken-server postfix/smtpd[192905]: connect from localhost[127.0.0.1] Sep 3 07:39:21 shinken-server postfix/smtpd[192905]: discarding EHLO keywords: CHUNKING Sep 3 07:39:21 shinken-server postfix/smtpd[192905]: 55EAC80E12F6: client=localhost[127.0.0.1] Sep 3 07:39:21 shinken-server postfix/cleanup[192908]: 55EAC80E12F6: message-id=<20250903053921.55EAC80E12F6@shinkenVM.localdomain> Sep 3 07:39:21 shinken-server postfix/qmgr[1679]: 55EAC80E12F6: from=<shinken@email.mairie-balma.fr>, size=6284, nrcpt=1 (queue active) Sep 3 07:39:21 shinken-server postfix/smtpd[192905]: disconnect from localhost[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 commands=4 Sep 3 07:39:21 shinken-server postfix/smtp[192909]: 55EAC80E12F6: to=<test@shinken.fr>, relay=smtp-relay.test.com[1.179.110.5]:587, delay=0.39, delays=0.01/0.02/0.3/0.06, dsn=2.0.0, status=sent (250 2.0.0 OK: queued as <20250903053921.55EAC80E12F6@shinken-server.localdomain>) Sep 3 07:39:21 shinken-server postfix/qmgr[1679]: 55EAC80E12F6: removed
Les erreurs connues
Vous retrouverez listé ci-dessous les erreurs fréquentes liées à l'envoi de mail.
Erreurs de connexion au relai SMTP
Dans l'exemple ci-dessous, le "relayhost" indiqué dans le fichier de configuration /etc/postfix/main.cf est indiqué sous la forme d'une adresse IP.
root@shinken-server ~]# cat /var/log/maillog Sep 8 04:00:45 shinken-server postfix/smtpd[897637]: disconnect from localhost[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 commands=4 Sep 8 04:00:48 shinken-server postfix/smtp[897646]: connect to 172.17.0.94[172.17.0.94]:25: No route to host Sep 8 04:00:48 shinken-server postfix/smtp[897646]: 1B1624474027: to=<test@shinken.com>, relay=none, delay=3.2, delays=0.05/0.07/3.1/0, dsn=4.4.1, status=deferred (connect to 172.17.0.94[172.17.0.94]:25: No route to host)
La connexion sur le port "25" de l'adresse IP renseignée dans le "relayhost" ne s'effectue pas. Dans cette situation, l'erreur fournit des détails utiles :
- No route to host :
- Signifie que le serveur à l'adresse IP indiquée n'est pas du tout accessible depuis le serveur Shinken.
- Connection refused :
- Signifie que le serveur à l'adresse IP indiquée est joignable, mais l'accès au port 25 est bloqué.
Pour corriger, il faut vérifier si les flux réseaux entre les deux serveurs sont bien ouverts sur les ports utilisés (25, 587) et si les règles firewalls des deux serveurs autorisent bien les échanges.
Erreurs de résolution du relai SMTP
Dans l'exemple ci-dessous, le "relayhost" indiqué dans le fichier de configuration /etc/postfix/main.cf est indiqué sous la forme d'un nom à résoudre, plutôt que d'une adresse IP.
root@shinken-server ~]# cat /var/log/maillog Sep 8 03:47:04 shinken-server postfix/smtp[877337]: warning: relayhost configuration problem Sep 8 03:47:04 shinken-server postfix/smtp[877337]: 3E59D43D6060: to=<test@shinken.com>, relay=none, delay=0.15, delays=0.04/0.07/0.04/0, dsn=4.3.5, status=deferred (Host or domain name not found. Name service error for name=test-smtp.shinken.com type=AAAA: Host not found)
Le nom de domaine "test-smtp.shinken.com" n'est pas résolu :
[root@shinken-server ~]# nslookup test-smtp.shinken.com Server: 172.17.0.254 Address: 172.17.0.254#53 ** server can't find tet-smtp.shinken.co: NXDOMAIN
Les mails ne peuvent pas être transférés et envoyés via le "relayhost".
Pour corriger, il faut s'assurer que le "relayhost" puisse être résolu depuis le serveur local. Il est également possible d'utiliser directement l'adresse IP du relai SMTP.
