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.

Les valeurs peuvent également être définies via des variables d’environnement, par exemple dans une installation Docker :

Variable d’environnementClé dans application.yml
SMTP_HOSTrelution.mail.host
SMTP_PORTrelution.mail.port
SMTP_USERNAMErelution.mail.username
SMTP_PASSWORDrelution.mail.password
SMTP_TTLSrelution.smtp.starttls
SMTP_SSLrelution.smtp.ssl
SMTP_EHLOrelution.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 :

OptionEffet
mail.smtp.fromAdresse de l’expéditeur. Sans indication, Relution forme une adresse à partir de l’URL externe du serveur (no-reply+relution@<domaine>).
mail.smtp.localhostNom 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.requiredInterrompt l’envoi si le serveur ne propose pas STARTTLS.
mail.smtp.ssl.trustHô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
Top