Problème et solution

Tester votre commande

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.

Logs

Si vous avez des difficultés, veuillez vérifier les logs :

  • Du Réactionner dans /var/log/shinken/reactionnerd.log
  • De votre serveur mail linux (postfix/smtp) dans /var/log/maillog

Configuration avancée (relais SMTP)

Par défaut, chaque distribution Linux propose un service de boite aux lettres préinstallé (Exim4 pour Debian et Postfix pour Almalinux). Ce service est utilisé par Shinken pour délivrer les emails aux utilisateurs.

La configuration par défaut de ces services ne permet généralement pas d'envoyer des emails en dehors du réseau privé ou ceux-ci sont installés. Il devient alors nécessaire de les reconfigurer, pour leur faire utiliser un "relais SMTP".

Un relai SMTP correspond à un serveur de l'infrastructure, spécifiquement dédié à l'envoi et la réception d'email. Celui-ci est généralement configuré pour être capable d'envoyer et recevoir des mails provenant de l'extérieur.

Le relai est caractérisé par sa capacité à gérer les emails d'autres serveurs. Dans notre cas, le serveur Shinken transfère son mail au relai, qui sera chargé de l'envoyer.

Configuration Postfix (sans authentification)

Pour configurer Postfix à utiliser un relai SMTP, il faut :

  • Éditer le fichier /etc/postfix/main.cf
  • Se rendre dans la section relative au "relayhost" et ajouter une ligne avec l'IP de votre serveur SMTP Principale ( exemple => 192.168.1.240 )  : relayhost = 192.168.1.240
    • Si non spécifié, le port utilisé par défaut est le 25.
    • Pour spécifier le port, il faut encapsuler l'IP entre crochet : relayhost = [192.168.1.240]:125
  • Redémarrer postfix

    service postfix restart
  • Test d'envoi de mail :

    echo "Message de test" | mailx -s "sujet du mail:test" mon.mail@my_domain

Configuration Postfix (avec authentification)

Il se peut que le relai SMTP nécessite une authentification. Dans ce cas, pour configurer Postfix à utiliser un relai SMTP et à s'y authentifier, il faut : 

  • Éditer le fichier /etc/postfix/main.cf
  • Se rendre dans la section relative au "relayhost" et ajouter une ligne avec l'IP de votre serveur SMTP Principale ( exemple => 192.168.1.240 )  : relayhost = 192.168.1.240
    • Si non spécifié, le port utilisé par défaut est le 25.
    • Pour spécifier le port, il faut encapsuler l'IP entre crochet : relayhost = [192.168.1.240]:587
  • Tout en bas du fichier de configuration /etc/postfix/main.cf, ajouter les lignes suivantes
    • smtp_sasl_auth_enable = yes
      smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
      smtp_sasl_security_options = noanonymous
      header_size_limit = 4096000
  • Dans le répertoire /etc/postfix
    • Créer le fichier sasl_passwd
    • Éditer le fichier et y indiquer l'utilisateur et le mot de passe à utiliser pour le relai SMTP
      • [smtp-relay-exemple]:587      login@exemple.fr:ThisIsAPassword
      • Exécuter la commande "postmap /etc/postfix/sasl_passwd" pour que le fichier nouvellement créé soit "hashé" au format que postfix pourra lire
  • Redémarrer postfix

    service postfix restart
  • Test d'envoi de mail :

    echo "Message de test" | mailx -s "sujet du mail:test" mon.mail@my_domain