Mail dispatch
A partir de la version 5.22 de Relution Server, la connexion au serveur SMTP peut être configurée via l’interface web. Cette connexion est nécessaire si Relution doit envoyer activement des courriels. Il peut s’agir, par exemple, de courriels de réinitialisation de mot de passe, d’inscriptions ou de notifications. La connexion à un serveur SMTP est facultative.
Jusqu’à la version 5.21, la connexion au serveur SMTP devait être configurée sur le serveur via le fichier application.yml.
Configuration
Pour les administrateurs système, la configuration du serveur SMTP est disponible dans l’organisation Global sous Paramètres → Configuration du serveur de messagerie. Elle comprend les champs suivants :
- Hôte et Port
- Sécurité des connexions : Aucun, STARTTLS, STARTTLS (REQUIRETLS) ou SSL/TLS. Avec STARTTLS, Relution passe à une connexion chiffrée si le serveur la prend en charge ; avec STARTTLS (REQUIRETLS), l’envoi échoue si le serveur ne propose pas STARTTLS.
- Utiliser l’option “Extended Hello” (EHLO)
- Nom d’hôte local pour HELO/EHLO : si le champ reste vide, le nom d’hôte externe du serveur est utilisé.
- Nom d’utilisateur et Mot de passe : si le champ du mot de passe reste vide lors de la modification, le mot de passe existant est conservé.
- Adresse de l’expéditeur : champ obligatoire ; cette adresse est utilisée comme expéditeur des e-mails sortants.
Dans la section Configuration de l’e-mail de test, Envoyer envoie un e-mail de test à l’adresse e-mail enregistrée pour l’administrateur système.
Priorité entre l’interface web et application.yml
La configuration enregistrée dans l’interface web est prioritaire. Les valeurs du fichier application.yml ou des variables d’environnement ne sont utilisées que tant qu’aucune configuration n’est enregistrée dans l’interface web. Une configuration existante est supprimée dans la catégorie Configuration du serveur de messagerie, section Effacer la configuration, via Clair ; Relution utilise alors le fichier application.yml.
Les modifications du fichier application.yml ne prennent effet qu’après un redémarrage du serveur Relution.
application.yml
relution:
mail:
username:
password:
host: localhost
port: 25
smtp:
starttls: false
ssl: false
ehlo: true
Les paramètres indiqués ci-dessus sont les valeurs par défaut s’ils ne sont pas configurés. La connectivité SMTP est testée dans le cadre du contrôle de santé du serveur, qui est affiché dans le portail du système.
L’ancienne clé ttls à la place de starttls est toujours prise en compte. Si ssl et starttls valent tous deux true, Relution utilise SSL/TLS.
relution.mail et relution.smtp. Les entrées sous spring.mail sont ignorées. Si la configuration s’y trouve, Relution tente d’envoyer les e-mails via localhost sur le port 25.Les valeurs peuvent également être définies via des variables d’environnement, par exemple dans une installation Docker :
| Variable d’environnement | Clé dans application.yml |
|---|---|
SMTP_HOST | relution.mail.host |
SMTP_PORT | relution.mail.port |
SMTP_USERNAME | relution.mail.username |
SMTP_PASSWORD | relution.mail.password |
SMTP_TTLS | relution.smtp.starttls |
SMTP_SSL | relution.smtp.ssl |
SMTP_EHLO | relution.smtp.ehlo |
Une valeur définie explicitement dans le fichier application.yml est prioritaire sur la variable d’environnement.
Options supplémentaires pour la session de messagerie
D’autres options peuvent être transmises directement à la bibliothèque de messagerie (Jakarta Mail) via relution.mail.properties. Les entrées sont reprises telles quelles et remplacent les valeurs définies par Relution. Elles ne s’appliquent que tant que la configuration provient du fichier application.yml, c’est-à-dire qu’aucune configuration n’est enregistrée dans l’interface web.
relution:
mail:
host: smtp.example.com
port: 587
username: "relay@example.com"
password: "xxx"
properties:
"[mail.smtp.from]": "mdm@example.com"
"[mail.smtp.starttls.required]": "true"
"[mail.smtp.ssl.trust]": "smtp.example.com"
smtp:
starttls: true
ssl: false
ehlo: true
Les clés contiennent des points et sont donc placées entre crochets et guillemets. Options fréquemment utilisées :
| Option | Effet |
|---|---|
mail.smtp.from | Adresse de l’expéditeur. Sans indication, Relution forme une adresse à partir de l’URL externe du serveur (no-reply+relution@<domaine>). |
mail.smtp.localhost | Nom d’hôte annoncé dans la commande EHLO. Sans indication, le nom d’hôte de l’URL externe du serveur est utilisé. |
mail.smtp.starttls.required | Interrompt l’envoi si le serveur ne propose pas STARTTLS. |
mail.smtp.ssl.trust | Hôtes dont le certificat est accepté sans vérification. Utile pour les serveurs de messagerie dont la chaîne de certificats est incomplète. |
mail.smtp.ssl.trust doit contenir le nom d’hôte précis du serveur de messagerie. La valeur * fait confiance à tout certificat de tout serveur. La meilleure solution reste d’ajouter le certificat de l’autorité de certification émettrice au truststore.
En cas d’échec de l’envoi, Relution journalise l’intégralité de la communication SMTP dès que le niveau de log de io.relution.setting.system.email.SystemEmailConfigurationService est réglé sur DEBUG. Adapter le niveau de log →
Amazon Simple Email Service (SES) SMTP
Les paramètres recommandés pour la connexion à Amazon SES sont les suivants :
relution:
mail:
username: ABCDEFGHIJKLMNOPQ123
password: "abcdefghijklmnopqrstuvwxyz/BASE64+1234567890"
host: email-smtp.eu-central-1.amazonaws.com
port: 587
smtp:
starttls: true
ssl: false
ehlo: true
Les paramètres SMTP username et password sont une clé d’accès AWS et une clé secrète d’un utilisateur IAM avec les permissions AmazonSesSendingAccess, qui doivent être des permissions ses:SendRawEmail. S’assurer que la bonne région est spécifiée dans host. Ces paramètres peuvent être trouvés sur la page SMTP Settings du service SES dans la console AWS.
Microsoft Office365 SMTP
Les paramètres recommandés pour pouvoir envoyer du courrier via Office 365 sont les suivants :
L’Adresse de l’expéditeur sous Paramètres → Configuration du serveur de messagerie doit correspondre au nom d’utilisateur du compte. Si la configuration est effectuée via le fichier application.yml, l’adresse de l’expéditeur est définie via mail.smtp.from (voir Options supplémentaires pour la session de messagerie →). SMTP AUTH doit être activé pour le compte.
relution:
mail:
username: "email@somewhere.com"
password: "xxx"
host: smtp.office365.com
port: 587
smtp:
starttls: true
ssl: false
ehlo: true