Configurer un fournisseur de messagerie personnalisée

Vous pouvez configurer n’importe quel fournisseur de courriel à l’aide d’un fournisseur de courriel personnalisé. Celui-ci tire parti de notre Éditeur de code d’actions pour envoyer des messages à des fournisseurs de courriel qui ne sont pas pris en charge par le fournisseur de courriel par défaut. De plus, il offre une maîtrise totale du processus d’envoi des courriels, ce qui est particulièrement utile dans les situations suivantes :

  • Nouvelle tentative en cas d’échec

  • Modification du ou des destinataires

  • Modification de la charge utile du message

  • Création d’une logique propre à l’organisation


Vous pouvez configurer un fournisseur de courrier électronique personnalisé à l’aide de Auth0 Dashboard.

Configurer un fournisseur de messagerie personnalisé avec Auth0 Dashboard

  1. Accédez à Auth0 Dashboard > Image de marque > Fournisseur de messagerie électronique.

  2. Activez la bascule Utiliser mon propre fournisseur de messagerie.

  3. Dans la section Fournisseur de messagerie sélectionnez Fournisseur personnalisé.

  4. Dans le champ From, saisissez l'adresse courriel par défaut à partir de laquelle les courriels sont envoyés.

  5. Dans l’éditeur de code, ajoutez le code d’action approprié pour transmettre les messages à votre fournisseur de courriel personnalisé. Consultez la documentation de votre fournisseur pour savoir comment transmettre les messages à son API. Comme pour les autres actions, utilisez Management API pour gérer l’action et ses versions.

  6. Dans le menu de gauche, cliquez sur la clé pour ajouter les secrets nécessaires à l’authentification avec l’API.

  7. Retournez en arrière en cliquant sur Retour au fournisseur de messagerie dans le coin supérieur gauche. Vous devriez voir une coche verte et Activé dans la section Configuration du fournisseur.

8. Cliquez sur Modifier dans l’éditeur étendu. Dans l’éditeur étendu, vous pouvez ajouter des secrets, des dépendances et tester votre action. Vous pouvez également accéder à l’historique des versions des actions précédemment déployées. Pour en savoir plus sur l’écriture d’une action custom-email-provider consultez Exemple d’action de fournisseur de courriel personnalisé.

L’option Fournisseur de messagerie personnalisé dans Auth0 Dashboard > Image de marque > Fournisseur de messagerie électronique doit être désactivée avant que l’action puisse être supprimée afin d’éviter les échecs accidentels de livraison de courriels.

10. Cliquez sur Back to Email Provider (Retour au fournisseur de messagerie) dans le coin supérieur gauche de l’éditeur agrandi. Vous devriez voir une coche verte et Enabled (Activé) dans la section Configuration du fournisseur.

11. Cliquez sur Save (Enregistrer) pour terminer la configuration de votre fournisseur de messagerie personnalisé. Lorsque vous cliquez sur Save (Enregistrer), votre action est automatiquement enregistrée et déployée.

12. Vous pouvez tester la configuration de votre fournisseur de messagerie personnalisé avant de l’utiliser dans un environnement de production en cliquant sur Send Test Email (Envoyer un courriel test). Vous ne pourrez envoyer un courriel test qu’une fois que vous aurez enregistré la configuration de votre fournisseur de messagerie personnalisé.

Suppression de l’action

Si vous désirez retirer l’Action, désactivez premièrement Custom Email Provider (Fournisseur de courriel personnalisé) dans Auth0 Dashboard > Branding (Image de marque) > Email Provider (Fournisseur de messagerie) avant de supprimer l’Action pour éviter les échecs accidentels de livraison des courriels.

Exemple d'Action de custom-email-provider

Dans l’exemple de code suivant, quand la fonctionnalité onExecuteCustomEmailProvider est déclanchée pour envoyer une notification de courriel, elle prend en compte deux arguments :

  1. event : contient des informations sur l’utilisateur et le contexte de la notification. Pour en savoir davantage, consultez Déclencheurs d’action : objet d’événement custom-email-provider.

  2. api : fournit des méthodes d’assistance pour un comportement personnalisé lors de l’envoi de notifications. Pour en savoir davantage, consultez Déclencheurs d’action : objet API custom-email-provider.

// Import necessary modules
const { request } = require('undici');

/**
 * Handler to be executed while sending an email notification.
 * @param {Event} event - Details about the user and the context in which they are logging in.
 * @param {CustomEmailProviderAPI} api - Methods and utilities to help change the behavior of sending an email notification.
 */
exports.onExecuteCustomEmailProvider = async (event, api) => {
  // Define the email payload
  const emailPayload = {
    from: {
      name: "Test Sender",
      email: "sender@example.com"
    },
    to: [{ email: event.user.email }],
    subject: event.notification.message_type,
    html: event.notification.html,
    text: event.notification.text,
  };

  try {
    // Make the API call to send the email
    const { statusCode, body } = await request('https://api.example.com/send-email', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${event.secrets.api_key}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(emailPayload),
    });

    if (statusCode === 200) {
      console.log('Email sent successfully');
      // Handle the body or discard it if not needed
      // await res.body.json() || await res.body.dump()
    } else if (statusCode >= 500) {
      // Retry on server errors
      api.notification.retry(
        `Internal Server Error received from Messaging Proxy. Status code: ${statusCode}.`
      );
      return;
    }
  } catch (error) {
    console.error(`Error sending email: ${error.message}`);
    api.notification.drop(
      `An unexpected error occurred. Error: ${error.message}`
    );
  }

  return;
};

Was this helpful?

/

Pour en savoir plus sur la création et le déploiement d’actions, consultez Créer votre première action.