Personnaliser les Modèles d’E-mail
Auris envoie des e-mails transactionnels aux moments critiques du cycle de vie utilisateur : vérification d’e-mail, réinitialisation de mot de passe, connexion par magic link, invitations, alertes de sécurité et plus encore. Par défaut, ces e-mails utilisent un modèle épuré rendu avec le branding de ton tenant (nom d’entreprise, logo, couleur primaire). Les personnaliser te donne le contrôle total du HTML, pour que chaque point de contact — du premier e-mail de vérification à une alerte de connexion suspecte des mois plus tard — soit cohérent avec ton produit.
Ce guide t’accompagne dans la modification des modèles depuis la Console, l’utilisation des variables dynamiques et des blocs conditionnels, l’aperçu et le test des changements, la gestion des langues et la gestion programmatique via l’API.
Types de Modèles
Auris inclut treize types de modèles d’e-mail. Chacun est déclenché automatiquement au bon moment.
| Type de modèle | Quand il est envoyé |
|---|---|
verification | Après l’inscription, pour vérifier l’adresse e-mail |
password_reset | Quand un utilisateur demande une réinitialisation de mot de passe |
invitation | Quand un utilisateur est invité dans un tenant |
mfa_code | Quand la 2FA par e-mail envoie un code |
magic_link | Quand un utilisateur demande une connexion sans mot de passe via magic link |
login_alert | Quand une nouvelle connexion est détectée sur le compte |
welcome | Après qu’un utilisateur a vérifié son adresse e-mail |
password_changed | Quand un changement de mot de passe est confirmé |
account_locked | Quand un compte est verrouillé après trop de tentatives échouées |
suspicious_login | Quand une connexion depuis une position, un appareil ou une IP inhabituels est détectée |
email_changed | Quand l’e-mail principal change (envoyé à l’ancienne adresse) |
license_issued | Quand une clé de licence est émise pour un client |
ciba | Quand une application demande l’approbation d’une connexion via le flux CIBA |
Chaque modèle se personnalise indépendamment, et indépendamment par langue.
Étape 1 : Ouvre l’Éditeur de Modèles
- Ouvre la Console Auris et va dans Paramètres, puis Modèles d’E-mail
- Tu verras les treize types de modèles avec leur statut actuel (défaut ou personnalisé)
- Clique sur le type de modèle que tu veux modifier
Étape 2 : Choisis un Mode d’Édition
L’éditeur propose trois modes :
- Éditeur de thème — personnalise l’identité (logo, nom de marque, texte du footer), les couleurs, la typographie, les boutons, la mise en page et le contenu via des panneaux visuels.
- Builder visuel — compose l’e-mail par blocs sur un canvas.
- Éditeur de code — modifie le HTML et le CSS bruts. Une bibliothèque de snippets fournit des points de départ prêts à l’emploi.
Quel que soit le mode, le résultat est un document HTML complet enregistré par type de modèle et par langue. La plupart des clients e-mail ont un support CSS limité : les styles inline et les mises en page en tableaux sont l’approche la plus fiable.
Étape 3 : Utilise les Variables des Modèles
Les variables utilisent la syntaxe {{nomVariable}}. Quand Auris envoie l’e-mail, chaque placeholder est remplacé par la valeur réelle pour cet utilisateur et cet événement. Dans le corps, les valeurs sont échappées automatiquement en HTML ; dans l’objet, elles sont insérées en texte brut.
Variables Globales (disponibles dans tous les modèles)
| Variable | Description | Valeur d’exemple |
|---|---|---|
{{year}} | Année courante | 2026 |
{{month}} | Mois courant, deux chiffres | 07 |
{{day}} | Jour courant, deux chiffres | 23 |
{{date}} | Date courante, YYYY-MM-DD | 2026-07-23 |
Variables par Type
| Modèle | Variables |
|---|---|
verification | {{email}}, {{link}}, {{expiresIn}} |
password_reset | {{email}}, {{link}}, {{expiresIn}} |
invitation | {{email}}, {{orgName}}, {{role}}, {{inviterEmail}}, {{link}}, {{expiresIn}} |
mfa_code | {{email}}, {{code}}, {{expiresIn}} |
magic_link | {{email}}, {{link}}, {{approveLink}}, {{expiresIn}}, {{tenantName}} |
login_alert | {{email}}, {{device}}, {{ipAddress}}, {{location}}, {{time}} |
welcome | {{email}}, {{name}}, {{orgName}}, {{dashboardLink}} |
password_changed | {{email}}, {{name}}, {{time}}, {{ipAddress}} |
account_locked | {{email}}, {{name}}, {{lockDuration}}, {{attempts}}, {{ipAddress}}, {{time}} |
suspicious_login | {{email}}, {{name}}, {{device}}, {{ipAddress}}, {{location}}, {{time}}, {{reason}} |
email_changed | {{email}}, {{name}}, {{newEmail}}, {{time}} |
license_issued | {{key}}, {{jwtToken}}, {{product}}, {{expiresAt}}, {{features}} |
ciba | {{email}}, {{appName}}, {{bindingMessage}}, {{approveUrl}}, {{denyUrl}} |
Conditionnels et Interpolation Brute
{{#if variable}}...{{/if}}conserve le contenu englobé seulement quand la variable a une valeur non vide. Sinon le bloc — markup inclus — est supprimé.{{{variable}}}insère la valeur brute sans échappement HTML. À réserver aux fragments HTML de confiance construits côté serveur.
Exemple pour un modèle magic_link :
<h1>Connecte-toi à {{tenantName}}</h1>
<p><a href="{{link}}">Se connecter sur cet appareil</a></p>
{{#if approveLink}}
<p><a href="{{approveLink}}">Approuver sur l'appareil où tu as commencé la connexion</a></p>
{{/if}}
<p>Ce lien expire dans {{expiresIn}}.</p>Les noms de variables sont sensibles à la casse et la notation pointée n’est pas supportée —
{{user.name}} ne sera pas remplacé. Les placeholders inconnus restent comme {{texte}} littéral
dans l’e-mail envoyé, une faute de frappe est donc facile à repérer dans un envoi de test.
Étape 4 : Gère les Langues
Les modèles par défaut intégrés existent en cinq langues : anglais (en), italien (it), français (fr), allemand (de) et espagnol (es). Les modèles personnalisés peuvent être enregistrés pour n’importe quel code de locale (par exemple pt-BR) via le sélecteur de langue de l’éditeur.
À l’envoi, Auris résout le modèle dans cet ordre :
- Modèle personnalisé dans la langue du destinataire
- Modèle personnalisé en anglais
- Défaut intégré dans la langue du destinataire
- Défaut intégré en anglais
Tu peux donc personnaliser seulement les langues qui t’intéressent — les autres continuent de fonctionner avec les défauts.
Étape 5 : Prévisualise
L’aperçu en direct rend le modèle avec des données d’exemple réalistes pendant que tu édites (par exemple [email protected] pour {{email}} et 24 hours pour {{expiresIn}}). Utilise le sélecteur d’appareil pour vérifier les largeurs desktop, tablette et mobile, ou ouvre l’aperçu plein écran.
L’aperçu est une approximation fidèle, mais les clients e-mail varient beaucoup dans leur support HTML/CSS. Envoie toujours un e-mail de test et vérifie-le dans un vrai client avant la mise en production.
Étape 6 : Envoie un E-mail de Test
Clique sur Envoyer un test dans l’éditeur. Auris rend le modèle avec des données d’exemple et l’envoie à ta propre adresse e-mail (l’administrateur authentifié), avec l’objet préfixé par [TEST]. Via l’API, tu peux optionnellement indiquer un autre destinataire avec le champ recipientEmail.
Vérifie l’e-mail dans ta boîte de réception :
- Le logo et les images se chargent correctement
- Le bouton d’action est cliquable et bien stylé
- La mise en page est correcte sur desktop et mobile
- Tous les placeholders ont été remplacés (aucun
{{texte}}littéral) - L’e-mail n’atterrit pas dans le dossier spam
Étape 7 : Enregistre
Clique sur Enregistrer pour publier. Les modifications prennent effet immédiatement pour tous les futurs e-mails de ce type et de cette langue — aucun déploiement ni redémarrage nécessaire. Le HTML enregistré est assaini côté serveur (scripts, gestionnaires d’événements, frames intégrées sont supprimés) et doit rester sous 500 Ko.
Pour revenir au modèle par défaut de la langue en cours, clique sur Réinitialiser. Cela supprime la version personnalisée et restaure le modèle intégré avec le branding du tenant.
Envoi des E-mails
Auris envoie les e-mails via la configuration SMTP de ton tenant quand elle est présente et active ; sinon l’expéditeur par défaut de la plateforme est utilisé. Tu peux configurer le SMTP (hôte, port, identifiants, adresse d’expéditeur), lancer un test de connexion et contrôler le footer des e-mails dans Paramètres, puis E-mail :
- E-mails white-label supprime l’attribution “Powered by Altovar” du footer des modèles par défaut.
- Masquer le footer omet entièrement le bandeau du footer.
Pour la délivrabilité, configure les enregistrements DNS SPF, DKIM et DMARC de ton domaine d’expédition — ton fournisseur d’e-mail fournit les valeurs exactes.
Gestion Programmatique des Modèles
Toutes les opérations disponibles dans la Console peuvent aussi être effectuées via l’API Modèles d’E-mail. Tous les endpoints exigent la permission manage:security et l’en-tête x-tenant.
Lister tous les modèles
curl https://auth.tondomaine.com/api/email-templates \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm"Renvoie chaque type avec label, description, variables, hasCustomTemplate, customLocales, plus availableLocales (les cinq langues intégrées).
Récupérer un modèle (avec base par défaut)
curl "https://auth.tondomaine.com/api/email-templates/verification?locale=fr" \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm"Renvoie subject/htmlBody personnalisés pour cette langue (ou null), avec defaultSubject/defaultHtmlBody rendus avec le branding de ton tenant.
Mettre à jour un modèle
curl -X PUT https://auth.tondomaine.com/api/email-templates/verification \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm" \
-H "Content-Type: application/json" \
-d '{
"subject": "Vérifie ton e-mail",
"htmlBody": "<!DOCTYPE html><html><body><p>Bonjour {{email}},</p><p><a href=\"{{link}}\">Vérifie ton adresse</a> — expire dans {{expiresIn}}.</p></body></html>",
"locale": "fr"
}'Prévisualiser un modèle
curl -X POST https://auth.tondomaine.com/api/email-templates/verification/preview \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm" \
-H "Content-Type: application/json" \
-d '{ "subject": "Vérifie ton e-mail", "htmlBody": "<p>Bonjour {{email}}</p>" }'Renvoie { "subject": ..., "html": ..., "variables": { ... } } rendus avec des valeurs d’exemple. Rien n’est envoyé.
Envoyer un e-mail de test
curl -X POST https://auth.tondomaine.com/api/email-templates/verification/test \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm" \
-H "Content-Type: application/json" \
-d '{ "subject": "Vérifie ton e-mail", "htmlBody": "<p>Bonjour {{email}}</p>", "recipientEmail": "[email protected]" }'recipientEmail est optionnel — sans lui, le test va dans ta propre boîte (celle de l’administrateur authentifié). La réponse est { "success": true, "sentTo": "..." }.
Supprimer (revenir au défaut)
curl -X DELETE "https://auth.tondomaine.com/api/email-templates/verification?locale=fr" \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: ton-realm"Avec ?locale=, seule la version personnalisée de cette langue est supprimée. Sans, toutes les langues du type sont supprimées.
Bonnes Pratiques
Garde les modèles simples. Le support HTML des clients e-mail est notoirement incohérent. Utilise des styles inline, des mises en page en tableaux et des polices système pour une compatibilité maximale.
Inclus toujours l’URL d’action en clair. Sous chaque bouton d’action, indique l’URL brute en texte. Certains clients ne rendent pas correctement les boutons HTML, et certains utilisateurs préfèrent inspecter les URL avant de cliquer. Auris dérive aussi automatiquement une partie text/plain de ton HTML, en préservant les liens.
Utilise {{expiresIn}} pour cadrer les attentes. Dis toujours à l’utilisateur combien de temps un lien ou un code reste valide.
Garde le bouton d’approbation conditionnel dans magic_link. Encapsule le bouton secondaire dans {{#if approveLink}}...{{/if}} — la variable est vide pour les flux sans approbation cross-device, et le conditionnel retire le bouton proprement.
N’inclus pas de données sensibles. Ne mets jamais de mots de passe ou de clés API complètes dans les e-mails. Les e-mails peuvent rester indéfiniment dans les boîtes des utilisateurs.
Versionne tes modèles. Si tu gères les modèles via l’API, conserve le HTML source dans ton dépôt : historique, revue et rollback.
Dépannage
| Problème | Cause probable | Solution |
|---|---|---|
Variables affichées comme {{texte}} littéral | Faute de frappe ou variable non supportée | Vérifie le nom exact dans les tableaux ci-dessus. Les noms sont sensibles à la casse ; la notation pointée n’est pas supportée. |
| Enregistrement refusé avec HTTP 413 | Corps HTML au-delà de 500 Ko | Allège le modèle ; référence les images par URL au lieu de les intégrer. |
| Script ou markup interactif absent après enregistrement | Assainissement côté serveur | <script>, gestionnaires d’événements, <iframe>/<embed>/<object>/<form> et similaires sont supprimés à l’enregistrement, by design. |
| L’e-mail de test n’arrive pas chez un collègue | Le test va dans ta boîte | Dans la Console, le test va toujours à ta propre adresse ; utilise le champ recipientEmail de l’API pour un autre destinataire. |
| E-mails en spam | Enregistrements SPF/DKIM/DMARC manquants | Configure les enregistrements DNS du domaine d’expédition selon les indications de ton fournisseur d’e-mail. |
| Mauvaise langue reçue | Chaîne de fallback | S’il n’existe aucun modèle (custom ou défaut) dans la langue du destinataire, Auris retombe sur l’anglais. Enregistre une version personnalisée pour cette langue. |
| Le footer affiche encore l’attribution de la plateforme | White-label désactivé | Active les e-mails white-label dans Paramètres, puis E-mail, ou enregistre un modèle entièrement personnalisé. |
Guides Associés
- Modèles d’E-mail (Console) — Référence de l’éditeur et catalogue des modèles
- API Modèles d’E-mail — Référence complète des endpoints
- Branding — Branding du tenant appliqué aux e-mails par défaut
- Connexion par Magic Link — Le flux derrière le modèle
magic_link