Aller au contenu principal

Modèles d'e-mails

Logto fournit différents modèles pour personnaliser le contenu des e-mails, qui sont classés en fonction de leurs cas d'utilisation.

Il est fortement recommandé d'utiliser différents modèles dans différents scénarios. Sinon, les utilisateurs peuvent recevoir un contenu d'e-mail qui ne correspond pas à l'opération en cours, ce qui peut entraîner de la confusion. Si des modèles manquants ne sont pas configurés, cela peut entraîner des erreurs de flux qui dépendent de ce modèle et affecter le développement normal de l'activité.

Types de modèles d'e-mails

usageTypeScénario
SignInLes utilisateurs se connectent en utilisant leur e-mail et vérifient en entrant un code de vérification au lieu de saisir un mot de passe.
RegisterLes utilisateurs créent un compte en utilisant leur e-mail et le vérifient en entrant un code de vérification envoyé par Logto à leur e-mail.
ForgotPasswordSi les utilisateurs oublient leur mot de passe lors de la connexion, ils peuvent choisir de vérifier leur identité en utilisant l'e-mail qu'ils ont déjà vérifié avec Logto.
GenericCe modèle peut être utilisé comme option de sauvegarde générale pour divers scénarios, y compris les tests de configurations de connecteurs, etc.
OrganizationInvitationUtilisez ce modèle pour envoyer aux utilisateurs un lien d'invitation pour rejoindre l'organisation.
UserPermissionValidationLors de l'utilisation de l'application, il peut y avoir certaines opérations à haut risque ou des opérations avec un niveau de risque relativement élevé qui nécessitent une vérification utilisateur supplémentaire, telles que les virements bancaires, la suppression de ressources en cours d'utilisation et l'annulation d'adhésions. Le modèle UserPermissionValidation peut être utilisé pour définir le contenu du code de vérification par e-mail que les utilisateurs reçoivent dans ces situations.
BindNewIdentifierLorsqu'un utilisateur modifie son profil, il peut lier une adresse e-mail à son compte actuel. Dans ce cas, le modèle BindNewIdentifier peut être utilisé pour personnaliser le contenu de l'e-mail de vérification.

Il est important de comprendre ces paramètres :

  • Les codes de vérification expirent au bout de 10 minutes. Nous ne prenons actuellement pas en charge la personnalisation du temps d'expiration des codes de vérification.
  • Un espace réservé {{code}} doit être réservé dans le modèle. Lors de l'envoi d'un code de vérification, un code généré aléatoirement remplacera cet espace réservé avant que nous envoyions l'e-mail aux utilisateurs.

Exemples de modèles d'e-mails

Vous pouvez utiliser les exemples de code de modèle d'e-mail fournis comme point de départ pour personnaliser votre interface utilisateur. Pour créer une interface utilisateur similaire à la suivante :

Exemple de modèle d'e-mail intégré

Étant donné que les modèles d'e-mails utilisés dans différents scénarios de Logto sont très similaires, la seule différence étant la description du scénario et de l'opération en cours.

Nous ne montrons pas le code HTML de tous les modèles en détail ici. Au lieu de cela, nous prenons uniquement le scénario de connexion comme exemple. D'autres scénarios, tels que l'inscription et l'oubli de mot de passe, sont très similaires à l'exemple suivant.

Les utilisateurs peuvent se référer à ce modèle et l'ajuster en fonction de leur situation réelle.

<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vérifiez votre e-mail pour vous connecter</title>
<style>
.auth-service-by:hover .mini-logo {
display: none !important;
}
.auth-service-by:hover .mini-logo-color {
display: block !important;
}
body {
font-family:
'SF Pro Text',
-apple-system,
system-ui,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Arial,
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smooth: always;
background-color: #fff;
color: #191c1d;
max-width: 640px;
padding: 32px 0;
font-size: 14px;
font-weight: 400;
line-height: 20px;
}
h1 {
font-size: 24px;
font-weight: 700;
line-height: 32px;
margin-top: 32px;
}
.verification-code {
margin: 20px 0;
background: #eff1f1;
border-radius: 12px;
padding: 36px;
font-size: 32px;
font-weight: 600;
line-height: 40px;
}
.footer {
text-align: center;
color: #a9acac;
margin-top: 48px;
}
</style>
</head>
<body>
<div style="max-width: 698px; border-radius: 16px; border: 1px solid #E0E3E3;">
<div style="padding: 0 24px;">
<center>
<img src="{{logoUrl}}" alt="Logo" width="auto" height="40" />
<h1>Vérifiez votre e-mail pour vous connecter</h1>
<p>
Nous avons reçu une tentative de connexion avec le code suivant. Veuillez l'entrer dans
la page que vous avez ouverte pour compléter le processus de connexion.
</p>
<div class="verification-code">000000</div>
<p style="color: #747778;">
Si vous n'avez pas tenté de vous connecter mais avez reçu cet e-mail, veuillez
l'ignorer. Le code restera actif pendant 10 minutes.
</p>
<hr style="margin: 64px 0 24px; max-width: 420px;" />
<p style="color: #747778; margin: 16px 0 0;">{{companyInfo}}</p>
</center>
</div>
</div>
<div class="footer">
<hr />
<p style="font-size: 14px; line-height: 20px; margin: 20px 0;">
<a href="https://logto.io" style="color: #A9ACAC; text-decoration: underline;">Logto</a> :
La meilleure infrastructure d'identité pour les développeurs.
</p>
<table style="margin: 0 auto; width: auto; border-spacing: 0;">
<tbody>
<tr>
<td style="vertical-align: middle;">
<a href="{{discordServerUrl}}" style="display: block; margin: 0 12px;">
<img src="{{discordLogoUrl}}" style="width: 20px;" />
</a>
</td>
<td style="vertical-align: middle;">
<a href="{{githubUrl}}" style="display: block; margin: 0 12px;">
<img src="{{githubLogoUrl}}" style="width: 20px;" />
</a>
</td>
<td style="vertical-align: middle;">
<a href="{{twitterUrl}}" style="display: block; margin: 0 12px;">
<img src="{{twitterLogoUrl}}" style="width: 20px;" />
</a>
</td>
<td style="vertical-align: middle;">
<a href="{{mailToUrl}}" style="display: block; margin: 0 12px;">
<img src="{{emailIconUrl}}" style="width: 20px;" />
</a>
</td>
</tr>
</tbody>
</table>
<p style="font-size: 12px; line-height: 16px;">
© Silverhand, Inc., 2810 North Church Street, Wilmington, DE 19802
</p>
<p style="color: #A9ACAC; font-size: 12px; line-height: 16px;">
Vous avez des questions ou besoin d'aide ?
<a href="{{mailToUrl}}" style="color: #A9ACAC; text-decoration: underline;"
>Contactez-nous</a
>
</p>
</div>
</body>
</html>

Vous pouvez ensuite échapper le code HTML ci-dessus et l'ajouter au champ "Template" du connecteur dans les configurations comme suit (en supposant l'utilisation du connecteur SendGrid) :

{
"subject": "<sign-in-template-subject>",
"content": "<table cellpadding=\"0\" cellspacing=\"0\" ...",
"usageType": "SignIn",
"type": "text/html"
}

FAQs

Comment utiliser des services de modèles d'e-mails tiers si les modèles ne sont pas configurés dans Logto ?

Vous pouvez ajouter un nouvel endpoint à votre propre service web pour envoyer des e-mails, puis utiliser le connecteur d'e-mail HTTP de Logto pour appeler l'endpoint que vous maintenez.

Cela vous permet de gérer la logique des modèles d'e-mails sur votre propre serveur.

Existe-t-il un moyen d'utiliser l'e-mail de Logto pour envoyer à nos utilisateurs un "e-mail de bienvenue" personnalisé ?

Nous offrons la fonctionnalité Webhook. Vous pouvez implémenter votre propre endpoint API pour recevoir l'événement User.Created envoyé par le Webhook de Logto, et ajouter une logique pour envoyer un e-mail de bienvenue personnalisé dans le gestionnaire de webhook.

Le connecteur d'e-mail de Logto ne fournit que des notifications par e-mail pour les événements liés au flux d'authentification. Les e-mails de bienvenue sont une exigence commerciale et ne sont pas pris en charge nativement par le connecteur d'e-mail, mais cette fonctionnalité peut être réalisée via les Webhooks.

Ressources connexes

Maximisez la livraison des e-mails de vérification pour garantir l'accès des utilisateurs