Table des matières

Configuration & test de l’envoi des emails

L'ensemble du tuto est compatible avec les Esia Galaxy, Infinity et Mercury en version supérieur à la 3.2.6.

Tester l'envoi des emails

Le plugin qui se charge d'envoyer les alertes s'appelle send_mail_html.pl

Il dispose depuis la version 3.2.6 d'outils de diagnostic.

Voici l'aide de ce plugin:

Usage : send_mail.pl -e <id_error> -t <to> -c <esia config file>
SEND MAIL: envoie un email d'alerte
	-e | --error         <string>  identifiant de l'erreur dans la base de données
	                               possibilité de spécifier "test" pour tester les paramètres
	                               possibilité de spécifier "min" pour tester avec une erreur base de données
	-t | --to            <string>  liste des emails destinataires (séparé par des ','
	-c | --config        <path>    fichier de configuration d'Esia (défaut: /etc/esia/esia.conf
	-d | --disable-hello           Désactive l'envoi du Hello
        -s | --ssl                     force l'activation SSL
	-D | --debug                   active le mode débogage
	-v | --verbose       <integer> modifie le niveau de verbosité du mode debug (défaut: 1)
                                       si égal à 2, il active le debug du client SMTP
	-h | --help                    affiche cette aide

Pour tester les paramètres SMTP, je peux utiliser cette commande:

copy
/usr/local/esia/plugins/alerting/send_mail_html.pl -e test -t example@mail.com

Normalement si tout se passe bien j'aurais comme sortie:

envoi réussi

Nous pouvons également activer le mode “Debug” afin de regarder ce qu'il se passe. Dans ce cas la commande ressemblera à ceci:

copy
/usr/local/esia/plugins/alerting/send_mail_html.pl -e test -t example@mail.com -D

Et voici la sortie correspondante:

DEBUG: Chargement du fichier de configuration: /etc/esia/esia.conf
DEBUG: Connexion à la base de donnée Postgresql
DEBUG: ID de l'erreur selectionné test
DEBUG: Connexion au serveur SMTP: FQDN user:xxxx@esia-sa.com from:xxxx@esia-sa.com helo:xxxx.esia-sa.com
DEBUG: Secure mode
DEBUG: Authentification
DEBUG: Connexion SMTP success
DEBUG: Envoi email de test
DEBUG: Format et encodage de l'email
DEBUG: to example@mail.com subject Test alerting esia
DEBUG: Envoi de l'email
envoi réussi

Erreurs possibles et leurs résolutions

Connection DB Failed

L'erreur affichée ressemblera à ceci

DBI connect('database=esia;host=localhost;port=5432','esia',...) failed: FATAL:  password authentication failed for user "esia"
FATAL:  password authentication failed for user "esia" at ./send_mail_html.pl line 110.
Connection DB Failed at ./send_mail_html.pl line 110.

Il y a donc une erreur de paramètre dans le fichier de configuration (ici: le mot de passe est erroné). Il faut donc modifier les paramètres dans le fichier /etc/esia/esia.conf (si vous êtes dans une config par défaut). Attention les paramètres utilisés dans se fichier sont les mêmes que pour le démon principal.

Could not connect to server

Les causes du problèmes sont:

Vous pouvez reconfigurer vos paramètres mails avec la commande

copy
 usage: esia-configure -S mail [-u <user>] [-p <password] [-r <relayhost>:<port>] [-f <from>]

Could not authenticate

Le plugin n'arrive pas à s'authentifier, vérifier vos paramètres de login et de mot de passe

No data found

L'identifiant de l'erreur n'existe pas dans la base de données d'Esia (table: esia_error_happen). Essayez avec un autre ID ou avec le paramètre -e min

Esia config file not found

Le plugin ne trouve pas le fichier de configuration d'Esia (par défaut, il se situe dans /etc/esia/esia.conf). Vérifier votre paramètre -c

Le plugin ne s’arrête pas

Il peut arriver que le plugins ne s’arrête pas, la cause la plus probable est que le serveur mail ne comprend pas les caractère de fin de mail. Cela est souvent du à un problème d'encodage de caractère (charset). Le plugin envoi le mail en UTF-8.

Pour arrêter le plugin faite un ctrl+c dans votre terminal pour récupérer la main. Taper ensuite la commande suivante pour afficher les réponses de votre serveur mail (mode Debug avec une verbosité de 2)

copy
/usr/local/esia/plugins/alerting/send_mail_html.pl -e test -t example@mail.com -D -v 2

Vous aurez la sortie suivante que vous pourrez transférer au support d'Esia.

DEBUG: Chargement du fichier de configuration: /etc/esia/esia.conf
DEBUG: Connexion à la base de donnée Postgresql
DEBUG: ID de l'erreur sélectionné test
DEBUG: Connexion au serveur SMTP: xxxxxx:465 user:xxxxxx@esia-sa.com from:xxxxxx@esia-sa.com helo:xxxxx.esia-sa.com
DEBUG: Secure mode
Net::SMTP::SSL>>> Net::SMTP::SSL(1.04)
Net::SMTP::SSL>>>   IO::Socket::SSL(2.044)
Net::SMTP::SSL>>>     IO::Socket::IP(0.37)
Net::SMTP::SSL>>>       IO::Socket(1.38)
Net::SMTP::SSL>>>         IO::Handle(1.36)
Net::SMTP::SSL>>>           Exporter(5.72)
Net::SMTP::SSL>>>   Net::Cmd(3.08_01)
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 220 GARM-106R006 Thursday, February 25, 2021
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> EHLO xxxx.esia-sa.com
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250-XXX SMTP PROXY Hello
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250-SIZE 104857600
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250-ENHANCEDSTATUSCODES
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250-AUTH LOGIN PLAIN
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250-AUTH=LOGIN PLAIN
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250 8BITMIME
DEBUG: Authentification
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> AUTH LOGIN
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 334 BXNlcm4hbWU0
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> ZGW2YWxlcnRCZXApYS7zYS8jb10=
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 334 UGFzc2dicmQ9
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> ZGV2YWxAcnQpMDIx
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 235 2.7.0 Authentication successful
DEBUG: Connexion SMTP success
DEBUG: Envoi email de test
DEBUG: Format et encodage de l'email
DEBUG: to example@mail.com subject Test alerting esia
DEBUG: Envoi de l'email
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> MAIL FROM:<xxxxxx@esia-sa.com>
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250 2.1.0 Ok
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> RCPT TO:<example@mail.com>
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250 2.1.5 Ok
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> DATA
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 354 End data with <CR><LF>.<CR><LF>
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> To: example@mail.com
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> From: xxx@esia-sa.com
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> Content-Type: text/html; charset="UTF-8"
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> X-Mailer: Perl Sendmail
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> Subject: Test alerting esia
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> Votre test d'envoit d'email a reussi
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> <CR><LF>.<CR><LF>
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> .
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 250 2.0.0 Ok: queued as ACC8E1B75F2EE
Net::SMTP::SSL=GLOB(0x5647b2fac010)>>> QUIT
Net::SMTP::SSL=GLOB(0x5647b2fac010)<<< 221 esia-sa.com Service closing transmission channel
envoi réussi