Dev Life

Automatiser la surveillance de l’infrastructure email avec les webhooks d’événements de Mailgun et Datadog

Découvrez comment suivre les performances des emails sans effort grâce aux webhooks d'événements de Mailgun et Datadog. Obtenez des informations en temps réel, automatisez les alertes et surveillez les événements clés comme les livraisons et les clics, sans aucune vérification manuelle.
Image pour Automatiser la surveillance de l’infrastructure email avec les webhooks d’événements de Mailgun et Datadog

Avez-vous déjà configuré des alertes de cours de bourse ? Au lieu de vérifier constamment, vous recevez une notification lorsque votre action atteint un certain prix. C’est exactement ainsi que fonctionnent les webhooks : au lieu de chercher continuellement des mises à jour, le système de réception est automatiquement notifié par l’expéditeur lorsqu’un événement spécifique se produit.

Avec les webhooks d’événements de Mailgun, vous pouvez gérer les événements liés aux emails en temps réel. En les configurant dans le panneau de contrôle de Mailgun, vous pouvez déclencher des requêtes HTTP POST vers des points de terminaison d’API spécifiés chaque fois que des événements d’email clés se produisent. Vous pouvez surveiller les livraisons, les ouvertures et les plaintes pour spam en temps réel afin de suivre les performances et de résoudre les problèmes instantanément. Les webhooks permettent également l’automatisation, les déclencheurs, les nouvelles tentatives, les mises à jour du CRM et la gestion des désinscriptions dès qu’un événement d’email se produit, le tout sans intervention manuelle.

Dans cet article, vous apprendrez à utiliser les webhooks de Mailgun pour surveiller vos événements d’email.

Qu’est-ce qu’un webhook ?

Les webhooks constituent un moyen léger pour les applications d’envoyer des données d’événements en temps réel. Ils permettent à un système (l’expéditeur) d’envoyer une requête HTTP à un autre système (le destinataire) lorsqu’un événement spécifique se produit. Au lieu que le destinataire vérifie constamment les mises à jour, l’expéditeur transmet les données automatiquement.

Les webhooks de Mailgun notifient votre application lorsque des événements d’email se produisent (tels que des livraisons, des rebonds ou des ouvertures), ce qui lui permet de traiter les événements au fur et à mesure qu’ils se produisent. Par exemple, si vous envoyez des emails promotionnels et souhaitez savoir quand les clients cliquent sur un lien, les webhooks de Mailgun peuvent vous avertir automatiquement. Lorsqu’un client clique sur un lien dans l’email, Mailgun détecte cette action et envoie immédiatement un webhook à votre serveur avec des détails tels que l’email du destinataire, l’URL cliquée et l’horodatage :

{ "event": "clicked", "recipient": "customer@example.com", "url": "https://yourstore.com/special-offer", "timestamp": 1739373700 }

Votre système peut alors marquer le client comme « intéressé » et déclencher un email de suivi ou assigner un représentant commercial pour interagir avec lui. Ce suivi en temps réel aide les entreprises à mesurer l’engagement et à répondre rapidement aux prospects potentiels.

Mailgun déclenche des webhooks pour les événements d’email suivants : ouverture, clic, désinscription, rebond (rebonds définitifs et rebonds temporaires), échec et livraison. Pour en savoir plus sur les webhooks de Mailgun, consultez ce guide.

Implémenter la surveillance des emails avec les webhooks d’événements de Mailgun

Les webhooks de Mailgun vous permettent de suivre divers événements d’email. Les intégrer à un outil de surveillance comme Datadog vous aide à visualiser et à gérer les données en temps réel. Vous pouvez également configurer des alertes pour des événements importants tels que les clics (indiquant des prospects potentiels) ou les rebonds et les échecs de livraison, vous permettant de réagir rapidement en cas de besoin.

Avant de commencer ce tutoriel, assurez-vous d’avoir ce qui suit :

  • Un compte Mailgun pour envoyer des emails via l’API de Mailgun. Si vous n’avez pas de compte, suivez ce guide de démarrage rapide pour en configurer un gratuitement.
  • Un compte Datadog pour traiter les événements de webhooks de Mailgun et configurer des alertes. Si vous n’avez pas de compte, un essai gratuit est suffisant pour ce tutoriel.
  • curl, un outil de ligne de commande pour envoyer des emails avec l’API de Mailgun.

Le domaine Mailgun

Pour commencer, connectez-vous à votre compte Mailgun et notez votre domaine d’envoi, ainsi que votre région, depuis le tableau de bord Mailgun. Si vous avez un abonnement gratuit, vous verrez un domaine bac à sable, qui sera utilisé dans le point de terminaison de l’API ainsi que dans l’adresse email de l’expéditeur (« from ») lors de l’envoi d’emails via l’API de Mailgun. Le domaine bac à sable suit le format sandbox.mailgun.org, comme ceci :

Tableau de bord des domaines d'envoi montrant un domaine sandbox vérifié dans la région US

Remarque : Si vous souhaitez utiliser votre propre domaine d’email personnalisé pour envoyer des emails via Mailgun, vous aurez besoin d’un abonnement payant. L’abonnement gratuit prend en charge uniquement un domaine bac à sable et vous limite à l’envoi d’emails à un maximum de cinq destinataires autorisés.

Activer le suivi des emails pour votre domaine Mailgun

Pour surveiller l’engagement des destinataires, vous devez activer le suivi pour votre domaine Mailgun.

Accédez à Envoi > Envois > Paramètres du domaine dans votre compte Mailgun. Dans la section Suivi, assurez-vous que les options Suivi des clicsSuivi des ouvertures et Désinscriptions sont activées :

Page des paramètres de domaine de Mailgun avec la section Suivi en surbrillance, montrant le suivi activé et un avertissement DNS

Obtenir une clé API de Mailgun

Ensuite, créez une clé API depuis la page API Security, accessible via un menu déroulant sous votre nom dans le coin supérieur droit. Vous l’utiliserez pour configurer votre intégration de Mailgun avec Datadog :

Tableau de bord des clés API de Mailgun affichant le bouton Ajouter une nouvelle clé et la fenêtre modale Nouvelle clé API avec une option de copie dans le presse-papiers

Intégration de Mailgun avec Datadog

Une fois que vous avez votre clé API de Mailgun, connectez-vous à votre compte Datadog et accédez à Intégrations via le volet de navigation de gauche (vers le bas).

Sur la page des intégrations, utilisez la barre de recherche en haut pour trouver l’intégration de Mailgun :

Page des intégrations de Datadog montrant un résultat de recherche pour Mailgun

Cliquez sur Mailgun, puis accédez à l’onglet Configurer. Faites défiler vers le bas jusqu’à la section Comptes Mailgun et cliquez sur Ajouter. Saisissez votre domaine Mailgun, votre région et votre clé API, puis enregistrez vos paramètres.

Ensuite, dans la section Collecte de logs, vous devez configurer une URL de point de terminaison pour que Mailgun transfère les données d’événements sous forme de logs vers Datadog. Les webhooks de Mailgun nécessitent cette URL pour publier les données d’événements.

Pour générer l’URL du webhook, sélectionnez une clé API Datadog existante (une est créée par défaut) ou créez-en une nouvelle dans la fenêtre contextuelle de configuration, comme ceci :

Page de configuration de l'intégration de Mailgun dans Datadog mettant en évidence la section de copie de l'URL d'entrée et le tableau des comptes Mailgun

Cela génère une URL d’intégration personnalisée avec votre clé API Datadog, similaire à ceci :
https://http-intake.logs.us5.datadoghq.com/api/v2/logs?dd-api-key=&ddsource=mailgun
Copiez et enregistrez cette URL. Vous en aurez besoin lors de la configuration des webhooks de Mailgun. Ensuite, fermez la fenêtre contextuelle de l’intégration de Mailgun.

Pour plus de détails sur l’intégration de Mailgun avec Datadog, consultez la documentation officielle.

Créer des webhooks de Mailgun

Dans votre compte Mailgun, accédez à Envoi > Envois > Webhooks.

Sur la page des webhooks, cliquez sur Ajouter un webhook dans le coin supérieur droit. Choisissez le type d’événement que vous souhaitez suivre, puis collez l’URL d’intégration personnalisée que vous avez générée depuis Datadog à l’étape précédente et cliquez sur Créer le webhook pour l’enregistrer. Répétez ce processus pour créer trois webhooks distincts pour les Messages livrés, les Ouvertures et les Clics :

Tableau de bord des webhooks de Mailgun montrant la fenêtre modale Nouveau webhook avec des champs pour le type d'événement et l'URL

Désormais, chaque fois que l’un de ces événements se produit, Mailgun notifiera automatiquement l’URL Datadog avec les données d’événements pertinentes.

Envoyer des emails via l’API de Mailgun

Mailgun vous permet d’envoyer des emails à l’aide de ses API. Vous pouvez utiliser l’outil curl depuis votre terminal pour envoyer un email unique avec la commande suivante :

                                

                                    curl -s --user 'api:YOUR_API_KEY' \

https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \

-F from='User Name ' \

-F to=recipient@example.com \

-F subject="Exclusive 40% discount..." \

--form-string html='As a valued customer, we're excited to offer you an exclusive 40% discount on <a href="https://example.com/awesome-product">Our Awesome Product</a>. Grab it now!' \

-F o:tracking-opens="yes"
                                
                            

Remplacez YOUR_API_KEY par votre clé API de Mailgun et YOUR_DOMAIN_NAME par votre domaine Mailgun. Cela authentifie votre requête et garantit que Mailgun sait que l’email est envoyé par une personne autorisée.

Gardez à l’esprit ce qui suit :

  • Le champ « from » doit contenir une adresse email valide de votre domaine Mailgun.
  • Le champ « to » peut être n’importe quelle adresse email de destinataire si vous avez un abonnement payant. Avec l’abonnement gratuit, cela doit être l’un de vos destinataires autorisés.
  • L’option o:tracking-opens="yes" indique à Mailgun de suivre les événements d’ouverture pour l’email.

Remarque : Le message de l’email doit être en HTML (et non en texte brut) car Mailgun insère un pixel de suivi invisible pour détecter les événements d’ouverture. 

Le message HTML contient également un lien, et Mailgun suit si le destinataire clique dessus (ce qui déclenche un événement de clic).

Une fois que votre requête curl s’est exécutée avec succès, Mailgun répondra avec un message comme celui-ci :

{"id":"@.mailgun.org","message":"Queued. Merci."}

Pour tester, essayez d’envoyer des emails à plusieurs destinataires différents.

Surveiller l’engagement des emails avec Datadog

Pour surveiller l’engagement de vos emails, connectez-vous à votre compte Datadog et accédez à la section Tableaux de bord dans le volet de navigation de gauche. Utilisez la barre de recherche en haut pour trouver et sélectionner Mailgun Overview.

Datadog propose un tableau de bord prêt à l’emploi qui affiche les événements d’email importants (tels que les livraisons, les ouvertures, les rebonds et les clics) en temps réel, vous aidant ainsi à surveiller les performances de vos emails en un coup d’œil :

Tableau de bord de présentation de Mailgun dans Datadog montrant les statistiques de livraison des emails, les graphiques d'engagement et les statistiques des journaux

Le tableau de bord affiche des statistiques clés telles que le nombre d’emails livrés, d’emails ouverts et de liens cliqués. Il fournit également d’autres statistiques utiles, toutes basées sur les données d’événements reçues des webhooks de Mailgun.

Configurer un moniteur Datadog pour les événements cliqués de Mailgun

Supposons que vous souhaitiez capturer des prospects de votre campagne d’emailing en suivant toutes les personnes qui cliquent sur un lien dans votre email. Au lieu de vérifier constamment le tableau de bord, il serait préférable de recevoir une notification par email à chaque fois qu’un clic se produit.

Datadog vous permet de configurer des moniteurs qui peuvent déclencher automatiquement des alertes en fonction des événements de webhooks de Mailgun. Voici comment créer un moniteur basé sur les logs dans Datadog qui écoute les événements Mailgun clicked :

Interface de configuration du moniteur Datadog mettant en évidence trois étapes : sélectionner la portée, définir les conditions d'alerte et configurer les notifications

Dans le panneau de navigation de gauche, cliquez sur Monitors, puis sur New Monitor. Sous la liste des types de moniteurs, sélectionnez Logs, puis cliquez sur Configure Logs Monitor en bas à droite. Saisissez la requête de recherche suivante :

source:mailgun @evt.name:clicked

Cela filtrera vos logs Mailgun pour ne prendre en compte que les événements cliqués.

Choisissez une fenêtre temporelle d’évaluation, comme cinq minutes ou tout intervalle approprié en fonction de la fréquence à laquelle vous souhaitez vérifier les clics.

Dans la section Définir les conditions d’alerte, configurez le déclencheur pour que la valeur évaluée soit supérieure à la valeur seuil. Dans le champ Seuil d’alerte, définissez la condition sur supérieure à 0. Gardez les autres valeurs inchangées. Cela garantit que le moniteur se déclenche lorsqu’un événement cliqué est détecté au cours de la période d’évaluation sélectionnée de cinq minutes.

Dans la section Configurer les notifications et les automatisations, définissez le titre sur « Lead Alert: Campaign Link Clicked » et le message du moniteur comme suit :

{{#is_alert}} Un prospect potentiel a interagi avec votre campagne d’emailing promotionnel.

**Détails du prospect :**

– Destinataire : {{log.attributes.usr.email}} – Horodatage : {{log.timestamp}} – Lien cliqué : {{log.attributes.event-data.url}}

Pensez à faire un suivi et à mettre à jour votre CRM.

Cette notification est générée par l’intégration de Mailgun avec Datadog.

@ {{/is_alert}}

Le bloc {{#is_alert}}...{{/is_alert}} qui l’entoure garantit que ce message est uniquement envoyé lorsque le moniteur est déclenché (quand un clic est détecté) et non lors d’une récupération. Les valeurs dans les blocs {{...}} contiennent des détails issus des données d’événements correspondantes.

Dans le champ @ Add Mention, saisissez les adresses email qui recevront cette notification, comme celle de votre équipe CRM.

Enfin, passez en revue la configuration de votre moniteur et cliquez sur Créer pour terminer.

Ce moniteur se déclenchera chaque fois qu’un événement cliqué provenant des webhooks de Mailgun sera détecté dans vos logs Datadog. Vos adresses email de notification recevront un email avec les détails du prospect. Cette configuration automatise la détection de prospects à partir de vos campagnes d’emailing, sans avoir besoin de surveiller manuellement les tableaux de bord.

Le saviez-vous ? Vous pouvez également envoyer des notifications de moniteur à Slack, Jira, Microsoft Teams et à d’autres services via Datadog, si nécessaire.

Tester l’automatisation entre Mailgun et Datadog

Une fois la configuration terminée, il est temps de tester comment les webhooks de Mailgun et Datadog fonctionnent ensemble pour vous alerter lorsqu’un événement cliqué se produit.

Ouvrez l’un des emails de test que vous avez envoyés précédemment à l’aide de la commande curl et cliquez sur le lien dans l’email pour simuler un destinataire interagissant avec votre campagne.

Mailgun détectera l’événement cliqué et déclenchera le webhook, envoyant les données d’événement à Datadog sous forme d’entrée de log.

Puisque votre moniteur est configuré pour surveiller les événements cliqués, Datadog évaluera la condition et déclenchera un email d’alerte contenant des informations importantes sur le prospect, telles que l’email du destinataire, l’horodatage et l’URL cliquée.

Voici un email d’alerte envoyé par ce moniteur Datadog :

Notification Lead Alert pour un lien de campagne cliqué, incluant les détails du lead et un bouton pour voir l'événement dans Datadog

Ce système entièrement automatisé ne se contente pas de suivre l’engagement des emails, mais il vous alerte également en temps réel lorsqu’un prospect potentiel interagit avec votre campagne Mailgun. De même, vous pouvez automatiser les notifications pour les événements d’email tels que les rebonds et les échecs pour vos équipes SRE.

Supprimer des webhooks de Mailgun

Si vous ne souhaitez plus suivre un événement d’email spécifique, vous pouvez supprimer son webhook correspondant dans Mailgun.

Il vous suffit d’accéder à Envoi > Envois > Webhooks dans votre compte Mailgun, de localiser l’événement que vous souhaitez arrêter de suivre et de cliquer sur Supprimer à côté. Il vous sera demandé de confirmer la suppression ; une fois confirmée, le webhook sera supprimé et Mailgun cessera d’envoyer des données d’événements pour ce type d’événement particulier à votre point de terminaison.

Conclusion

Dans ce tutoriel, vous avez appris comment les webhooks de Mailgun peuvent envoyer des données d’événements pour diverses interactions par email telles que les livraisons, les ouvertures, les clics, les plaintes pour spam et les échecs. Vous avez exploré comment intégrer ces webhooks à Datadog pour créer un système automatisé de surveillance de l’engagement des emails et de réception de notifications.

Cet article vous a-t-il aidé ? Assurez-vous de vous inscrire à notre newsletter pour recevoir des mises à jour sur le contenu des tutoriels et des actualités sur l’email et la délivrabilité de la part de nos experts en email !