Configurations emails

Afin de pouvoir envoyer des emails, SAINet doit disposer de configurations lui permettant de se connecter à un serveur offrant ce type de service. De manière général, ce sont des serveurs SMTP qui transmettent les messages.

Ces configurations peuvent se définir à plusieurs niveaux, comme décrit dans le tableau ci-dessous.

Configuration Description
SYS93 Permet à un administrateur de la solution de définir une configuration spécifique pour une liste de tâches. Permet également l’interfaçage avec des services spécifiques tels qu’IncaMail.
SYS22 Permet à un administrateur de la solution de définir une configuration globale qui sera utilisée si aucune configuration spécifique ne peut être appliquée.
Système Permet au service informatique de définir une configuration globale (soit par variables d’environnement, soit par propriétés).
Info:

De manière générale, il est préférable de tout définir au niveau de la tâche SYS93 afin de pouvoir utiliser toutes les fonctionnalités et faciliter la maintenance.

Selon les tâches, il est possible de personnaliser complètement les emails envoyés au moyen de la tâche UNI95.

Configurations spécifiques (SYS93)

Cette tâche permet de saisir plusieurs configurations et spécifier les tâches auxquelles elles s’appliquent. Il est possible de spécifier une ou plusieurs tâches (avec ou sans wildcards), de personnaliser l’adresse email d’envoi

Lorsqu’une configuration est recherchée pour une tâche donnée, la liste est parcourue selon l’ordre alphanumérique. La première qui s’applique (en fonction de la tâche courante) est prise en compte. De manière générale, il est conseillé de mettre des identifiants numériques sur 4 chiffres. Il est ainsi évident de voir dans quel ordre les configurations seront parcourues.

Note:

Les identifiants utilisés pour les différentes configurations sont déterminants pour l’ordre de lecture. Il est important que la configuration globale soit la dernière de la liste.

L’image ci-dessous montre comment les configurations sont lues.

Configuration SYS93 ordre

Voici quelques tâches d’exemple et la configuration qui sera appliquée avec les données ci-dessus.

Tâche Configuration appliquée Détails
SAL25 2200 C’est la première configuration lue et la tâche s’applique.
SAL47 2210 La configuration 2200 ne s’applique pas sur cette tâche, mais SAL* englobe le SAL47.
STO3E 3300 Les configurations précédentes ne s’appliquent pas, mais STO* englobe le STO3E.
FOU3E 4300 Les configurations précédentes ne s’appliquent pas, mais FOU* englobe le FOU3E.
ADR03 9999 Les configurations précédentes ne s’appliquent pas et comme aucune tâche n’est spécifiée, cette configuration s’applique.

Pour reprendre l’exemple ci-dessus, si la configuration 2200 était changée en 2300, ce serait la configuration 2210 qui aurait été utilisée pour envoyer les mails via la tâche SAL25 (car elle aurait été lue avant 2300).

Dans le cas où aucune des configurations ne correspond à la tâche (ce qui peut arriver si aucune configuration générale -sans tâche- n’est définie), alors le système utilisera la configuration globale du SYS22, sinon celle du système.

Détails des paramètres

L’image ci-dessous montre les paramètres principaux de l’interface.

Configuration SYS93 params

De manière générale, le type de configuration “Serveur SMTP standard” est à utiliser. Les autres types servent pour des interfaçages avec des services spéciaux qui nécessitent souvent des traitements spécifiques pour leur environnement.

No Libellé Détails
1. Liste des tâches Spécifie la liste des tâches (séparées par des virgules) sur lesquelles cette configuration sera appliquée. Il est possible d’utiliser des wildcards (*) pour cibler plusieurs tâches en bloc. Seule une configuration SYS93 peut avoir ce champ vide (la configuration s’applique alors pour toute les tâches).
2. Paramètres généraux Données d’authentification pour se connecter au service. Ces données sont généralement fournies par le fournisseur de service mail.
3. Paramètres SMTP Permet de spécifier à partir de quelle adresse les emails sont envoyés (si le serveur SMTP le permet) ainsi que le chiffrement à utiliser. Ces données sont généralement fournies par le fournisseur de service mail.
4. Sujet Les emails générés par SAINet contiennent déjà un sujet pré-défini. Dans une configuration, il est possible de personnaliser le sujet en y ajoutant un préfixe ou un suffixe générique. De manière générale peut être laissé vide.
5. Mode IncaMail Uniquement pour une configuration IncaMail. Permet de définir avec quel niveau de confidentialité le service IncaMail doit traiter les emails envoyés par cette configuration.
6. Paramètres spéciaux Si le serveur requiert des variables spécifiques, il est possible de les indiquer dans ce champ (une par ligne avec le format <param>=<valeur>.

Tester une configuration

Il est possible de tester la validité des paramètres d’une configuration en utilisant le menu sur la droite. Cela va envoyer un email de test à l’adresse email définie dans l’utilisateur SYS02.

Configuration SYS93 test

Configuration globale (SYS22)

Il est possible de configurer le serveur SMTP pour l’envoi des mails directement depuis la tâche SYS22 (réservée aux administrateurs) pour spécifier les paramètres de connexion.

Configuration SYS22 param

Afin que la configuration SYS22 soit utilisée, il faut impérativement que la variable mail.smtp.host soit définie.

Note:

Le système ne fait pas de fallback: soit toute la configuration est lue depuis SYS22, soit depuis le système.

Tester les paramètres globaux

Il est possible de tester la validité des paramètres en utilisant le menu sur la droite. Cela va envoyer un email de test à l’adresse email définie dans l’utilisateur en SYS02.

Configuration SYS22 test

Configuration système

Lorsque la configuration du mail doit être directement intégrée dans les propriétés serveur plutôt que de passer par SYS22, les propriétés suivantes doivent être ajoutées dans le fichier <runtime>/server.properties avant le déploiement.

Propriété Environnment Valeurs Description
mail.type none,local,simple Type de resource mail
mail.local.port SAINET_MAIL_LOCAL_PORT int Port du serveur SMTP si son type est local.
mail.simple.protocol SAINET_MAIL_STMP_PROTOCOL smtp,smtps Protocole à utiliser (par défaut smtp).
mail.simple.host SAINET_MAIL_STMP_HOST string Adresse du serveur smtp.
mail.simple.port SAINET_MAIL_STMP_PORT int Port du serveur smtp si son type est simple. (optionnel, 25 par défaut)
mail.simple.from SAINET_MAIL_STMP_FROM string Adresse email de l’expéditeur.
mail.simple.user SAINET_MAIL_STMP_USER string Nom d’utilisateur dans le cas du type simple (Si il est nécessaire de s’authentifer).
mail.simple.password SAINET_MAIL_STMP_PASSWORD string Définit le mot de passe (si l’authentification est nécessaire). Implique que la propriété mail.smtp.auth est à true (ou mail.smtps.auth si le protocole smtps est utilisé).
mail.* any any Permet de spécifier des ressources supplémentaires (voir ici).

Le type local type surtout utilisé dans les tests. Il démarre un serveur local SMTP sur le port fourni pour stocker les mails envoyés. Voir la documentation developpeur sur les mails pour plus de détails.

Il est possible d’utiliser la variable d’environnement SAINET_MAIL_STMP_PARAMS pour spécifier des paramètres supplémentaires pour la connexion smtp. La valeur de cette variable devra être sous la forme key1=value1;key2=value2;.... Ces valeurs peuvent être externalisées sous la forme d’un fichier de propriétés qui sera pointé par la variable d’environnement SAINET_MAIL_STMP_PARAMS_FILE.

Note:

La tâche SYSSV permet de voir ou sont définies les différentes variables.

Serveur de test (mailhog)

Il est possible d’utiliser un serveur SMTP de test afin de voir quels sont les emails envoyés par la solution. La configuration à utiliser est la suivante en SYS22:

mail.smtp.host=admin.sai-erp.net
mail.smtp.port=1025
Attention:

Les mails envoyés à ce serveur SMTP sont publiquement accessibles et ne sont pas transmis aux destinataires. Il est à utiliser uniquement à des fins de tests !

Les emails peuvent être consultés sur MailHog.

Tous les emails reçus par ce serveur sont considérés comme test et peuvent être supprimés à tout moment.