Passer au contenu principal

Fournisseur d'e-mail pour les codes de vérification de Casdoor : Brevo SMTP, Resend, SendGrid, ACS Email et SES

· Lecture de 11 minutes
Yang Luo
Casdoor Maintainer

Casdoor envoie les codes de vérification d'inscription, les liens de réinitialisation de mot de passe et les liens magiques via un fournisseur d'e-mail. Il prend en charge nativement les types d'API Resend, SendGrid et Azure Communication Services (ACS) Email, un type SMTP Default qui fonctionne avec n'importe quel relais SMTP (votre propre serveur, Google Workspace, Microsoft 365, Brevo, Amazon SES), et un type Custom HTTP Email pour toute autre API HTTP. Si vous souhaitez une offre gratuite et une configuration rapide, commencez par Resend ou Brevo. Si vous utilisez déjà AWS ou Azure, SES ou ACS permet de centraliser la facturation. Quel que soit votre choix, le travail sur la délivrabilité reste le même : un domaine expéditeur avec SPF et DKIM alignés sur l'adresse From.

Les options en un coup d'œil​

Les offres gratuites et les prix ont été vérifiés le 02-11-2026 sur les pages de tarification de chaque fournisseur.

FournisseurAPI ou SMTPOffre gratuite (vérifiée le 02-11-2026)Configuration du domaine expéditeurType Casdoor
Votre propre serveur de messagerieSMTPVous l'administrezVous publiez SPF, DKIM et DMARC, et avez besoin de DNS direct et inverse pour l'IPDefault
Google Workspace (smtp.gmail.com)SMTP avec mot de passe d'applicationInclus dans l'abonnement Workspace, 2 000 messages par jourVotre domaine WorkspaceDefault
Microsoft 365 (smtp.office365.com)SMTP AUTHInclus dans l'abonnementVotre domaine Microsoft 365Default
BrevoRelais SMTP (smtp-relay.brevo.com)300 e-mails par jourEnregistrements code (TXT), DKIM et DMARC de BrevoDefault
ResendAPI3 000 e-mails par mois, 100 par jourEnregistrements SPF et DKIM générés par Resend, puis DMARCResend
SendGridAPIEssai de 60 jours, 100 e-mails par jourAuthentification de domaine : enregistrements CNAME pour SPF et DKIM, TXT pour DMARCSendGrid
Azure Communication Services EmailAPIAucune indiquée ; 0,00025 $ par e-mail plus 0,00012 $ par MoSous-domaine géré par Azure, ou domaine personnalisé avec SPF et DKIMAzure ACS
Amazon SESInterface SMTPPas de quota dédié à SES ; les nouveaux comptes AWS reçoivent des crédits Free Tier utilisables par SESIdentité vérifiée pour chaque adresse FromDefault
Toute autre API HTTPHTTPDépend du serviceDépend du serviceCustom HTTP Email

La vue d'ensemble des fournisseurs d'e-mail dans la documentation liste les mêmes types et les champs utilisés par chacun.

SMTP : votre propre serveur, Google Workspace, Microsoft 365​

Le type Default accepte un hôte, un port, un nom d'utilisateur et un mot de passe. Le mode SSL Auto utilise TLS implicite sur le port 465 et STARTTLS sur les autres ports, ce qui couvre presque tous les relais ci-dessous.

Avec votre propre serveur, SPF, signature DKIM, DNS inverse et réputation IP sont entièrement sous votre responsabilité. Google exige des enregistrements DNS directs et inverses (PTR) valides pour l'IP d'envoi.

Google Workspace documente smtp.gmail.com sur les ports 465 ou 587, connecté avec l'adresse complète Workspace et un mot de passe d'application, avec une limite de 2 000 messages par jour.

Microsoft 365 est celui à éviter pour les nouvelles configurations. Le fournisseur SMTP de Casdoor se connecte avec un nom d'utilisateur et un mot de passe, ce qui correspond à l'authentification Basic pour SMTP AUTH. Microsoft a annoncé son intention de retirer l'authentification Basic pour SMTP AUTH dans Exchange Online, et a déjà désactivé SMTP AUTH dans les locataires qui ne l'utilisaient pas. Vérifiez le calendrier le plus récent dans l'annonce ci-dessous avant de l'intégrer.

Brevo SMTP​

Brevo envoie les e-mails transactionnels via un relais SMTP standard, il utilise donc le type Default. La plupart des problèmes de configuration proviennent de la connexion SMTP de Brevo :

  • Le serveur est smtp-relay.brevo.com, sur les ports 587, 465 ou 2525. Le port 465 nécessite SSL, ce que Auto gère.
  • La connexion SMTP n'est pas toujours votre adresse e-mail de compte. Selon la date de création du compte, il s'agit soit de votre e-mail de connexion, soit d'une adresse générée comme [ID]@smtp-brevo.com, affichée sur la page SMTP dans Brevo. Changer l'e-mail de votre compte ne modifie pas cette valeur.
  • Le mot de passe est une SMTP key, et non une clé API.

Dans Casdoor, définissez Type sur Default et saisissez ces valeurs dans Host, Port, Username et Password. Le guide Brevo contient des captures d'écran. Pour le domaine, Brevo demande son propre enregistrement TXT de vérification, DKIM et DMARC ; SPF n'est nécessaire qu'avec une IP dédiée.

Resend​

Le type Resend nécessite uniquement une clé API dans Secret key, ainsi qu'une From address sur un domaine vérifié. Laissez Host, Port et Username vides. Casdoor formate l'expéditeur sous la forme Name <address> à partir de From name, ou du nom d'affichage de l'organisation lorsque From name est vide.

Deux points à connaître avant de tester. Premièrement, l'expéditeur partagé onboarding@resend.dev ne peut envoyer qu'à l'adresse e-mail de votre propre compte Resend ; tout autre destinataire reçoit une erreur 403. Deuxièmement, la vérification de votre propre domaine implique d'ajouter les enregistrements SPF et DKIM générés par Resend, et Resend recommande d'envoyer depuis un sous-domaine pour maintenir sa réputation séparée. Le plan gratuit couvre 3 000 e-mails par mois avec une limite de 100 par jour ; le plan Pro commence à 20 $ par mois pour 50 000. Consultez le guide Resend.

SendGrid​

Le type SendGrid utilise une clé API. Laissez Host et Endpoint vides et Casdoor utilise l'API d'envoi standard de SendGrid ; remplissez les deux uniquement si vous avez besoin d'un point de terminaison différent. Casdoor considère toute réponse autre que 202 Accepted comme un échec et affiche les messages d'erreur renvoyés par SendGrid, ce qui aide lorsqu'un expéditeur n'est pas encore vérifié.

La page de tarification de SendGrid indique un essai gratuit de 60 jours à 100 e-mails par jour, puis Essentials à partir de 19,95 $ par mois. L'authentification de domaine avec sécurité automatisée ajoute un CNAME pour SPF et DKIM et un enregistrement TXT pour DMARC. Consultez le guide SendGrid.

ACS Email (Azure Communication Services)​

Le type Azure ACS prend le point de terminaison de la ressource comme Host et la clé d'accès comme Secret key ; Casdoor signe chaque requête avec cette clé. Azure fournit un sous-domaine géré en un clic sous azurecomm.net avec l'authentification déjà configurée, et Microsoft suggère de l'utiliser pour le développement et de passer à un domaine personnalisé, avec ses enregistrements SPF et DKIM, pour la mise en production. Il n'y a pas de niveau gratuit sur la page de tarification : 0,00025 $ par e-mail plus 0,00012 $ par Mo transféré. Consultez le guide Azure ACS.

Amazon SES​

Casdoor n'a pas de type d'API SES, utilisez donc l'interface SMTP SES avec le type Default. L'hôte est le point de terminaison SMTP de la région, tel que email-smtp.us-east-1.amazonaws.com ; SES accepte STARTTLS sur 25, 587 ou 2587 et TLS implicite sur 465 ou 2465. Le nom d'utilisateur et le mot de passe SMTP sont des identifiants SMTP que vous générez dans SES. Ce ne sont pas vos clés d'accès AWS, et ils diffèrent selon la région.

Les nouveaux comptes commencent dans le bac à sable SES : le courrier n'est envoyé qu'aux adresses vérifiées, au maximum 200 messages par 24 heures et un par seconde. Demandez l'accès à la production avant que de vrais utilisateurs ne s'inscrivent. SES facture 0,10 $ pour 1 000 e-mails sortants à son tarif à la carte, sans frais minimum.

Custom HTTP Email​

Pour un service sans type natif, Custom HTTP Email envoie fromAddress, fromName, toAddress (ou toAddresses pour plusieurs destinataires), subject et content sous forme de formulaire ou de corps JSON, avec les en-têtes que vous définissez. Vous pouvez renommer chaque champ pour correspondre à l'API cible. Casdoor ne compte que HTTP 200 comme succès, donc une API qui répond 202 Accepted apparaît comme une erreur ; un petit adaptateur placé devant corrige cela. Consultez Envoyer des e-mails via votre propre API HTTP.

Bases de la délivrabilité pour les e-mails d'authentification​

Les codes de vérification sont inutiles s'ils arrivent dans les spams. Les règles importantes sont les suivantes :

  • SPF et DKIM. Google exige que tous les expéditeurs vers Gmail utilisent SPF ou DKIM. Au-delà de 5 000 messages par jour, il exige les deux, ainsi que DMARC (une politique p=none est acceptée). Configurez les trois dès le départ.
  • Alignement. Le domaine dans l'en-tête From doit correspondre au domaine SPF ou au domaine DKIM, sinon DMARC échoue. C'est pourquoi chaque fournisseur vous oblige à vérifier le domaine depuis lequel vous envoyez.
  • Un sous-domaine séparé. Yahoo recommande de séparer le courrier transactionnel du courrier marketing par IP ou domaine DKIM, et Resend recommande les sous-domaines. Quelque chose comme auth.example.com empêche une mauvaise newsletter de nuire à vos réinitialisations de mot de passe.
  • TLS et taux de spam. Google exige TLS et demande de maintenir le taux de spam signalé inférieur à 0,3 %, idéalement inférieur à 0,1 %.
  • Pas d'en-tête de désabonnement requis. La FAQ de Google indique que le désabonnement en un clic s'applique aux courriers marketing, et cite les messages de réinitialisation de mot de passe comme exemple de courrier transactionnel exclu.
  • Contenu simple. Casdoor envoie le modèle sous forme d'un seul corps HTML, sans partie texte brut séparée, pour tous les types intégrés. Gardez le HTML léger, mettez le code en texte brut et affichez le lien complet en texte à côté du bouton, comme le fait l'e-mail de lien magique intégré de Casdoor. Utilisez directement l'origine de votre Casdoor plutôt qu'un raccourcisseur de liens, afin que le domaine du lien corresponde à votre marque.

Configurer et tester le fournisseur dans Casdoor​

  1. Accédez à Identity > Providers, ajoutez un fournisseur, définissez Category sur Email et choisissez le Type dans le tableau ci-dessus.
  2. Définissez From address et, éventuellement, From name.
  3. Write Email title and Email content. The content can use %s for the code, %{user.friendlyName} for the user's name, and %link inside a <reset-link> block for the password reset link. Magic link emails use %link and %expireTime; if your content has no %link, Casdoor sends its own magic link email instead. The templates section has examples. Codes and magic links expire after verificationCodeTimeout in conf/app.conf, which defaults to 10 minutes and matches the default template text; if you change the timeout, change the wording in your template too.
  4. Cliquez sur Test SMTP Connection pour ouvrir une connexion sans envoi (types SMTP uniquement), puis saisissez une adresse dans Test Email et cliquez sur Send Testing Email. Le test utilise les valeurs du formulaire, enregistrées ou non, avec %s remplacé par 123456 et le bloc de lien de réinitialisation supprimé.
  5. Ajoutez le fournisseur à l'application avec une règle telle que Signup, Forget Password, Magic link ou All. Vous pouvez utiliser différents fournisseurs pour différentes règles. Voir Ajouter des fournisseurs à une application.
  6. Définissez origin dans conf/app.conf. Sans cela, sauf si la requête provient d'un hôte de bouclage tel que localhost, Casdoor omet le lien de réinitialisation dans les e-mails de réinitialisation du mot de passe et refuse d'envoyer des liens magiques. Voir Se connecter avec un lien magique.

Pour le développement local, dirigez un fournisseur Default vers un faux serveur SMTP au lieu d'un compte réel ; MailHog vs Mailpit couvre cette configuration.

Références​