Chaque appel envoyé par Mailpro porte des en-têtes qui permettent de l'authentifier :

X-Mailpro-Signature : t=1758000000,v1=5a72…c8b1
X-Mailpro-Event-Id  : evt_5f2c…
X-Mailpro-Event-Type: email.delivered
X-Mailpro-Attempt   : 1

Calcul de la signature

v1 est le HMAC-SHA256, en hexadécimal minuscule, de la chaîne t + "." + corps brut de la requête, calculé avec le secret remis à la création du webhook. Le corps doit être pris tel qu'il a été reçu, avant tout décodage JSON.

// Node.js
const crypto = require("crypto");
function verify(rawBody, header, secret) {
const t  = header.match(/t=([0-9]+)/)[1];
const v1 = header.match(/v1=([0-9a-f]+)/)[1];
const expected = crypto.createHmac("sha256", secret).update(t + "." + rawBody).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(t)) < 300;   // 5 minutes
return fresh && crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
}

Aucun événement ne vous parvient encore ? Créez et testez votre webhook d'abord, puis ajoutez la vérification de signature.

Bonnes pratiques

  • Rejetez toute requête dont la signature ne correspond pas, ou dont l'horodatage t a plus de quelques minutes (protection contre le rejeu).
  • Utilisez X-Mailpro-Event-Id pour ignorer un événement déjà traité : une même livraison peut être présentée plusieurs fois en cas de nouvelle tentative.
  • Répondez 2xx en moins de 10 secondes, puis traitez le message de façon asynchrone.
  • Après Renouveler le secret, l'ancien secret est invalidé immédiatement : mettez votre serveur à jour avant, ou tolérez une minute de signatures rejetées.

Les webhooks cibles de l'automation (sens B) utilisent le même principe, avec l'en-tête X-Mailpro-Automation-Signature et la clé de signature facultative que vous définissez sur la cible.

Mailpro et les webhooks

Au-delà de la signature : une infrastructure e-mail de confiance

Le SMTP et l'API de Mailpro distribuent vos e-mails transactionnels et marketing avec des événements en temps réel, pour que votre app sache toujours ce qui s'est passé.

Démarrer gratuitement avec MailproDécouvrir le SMTP Mailpro

Question précédente

   

Question suivante

Vous pourriez également être intéressé par :

Configurer DKIM avec Mailpro en 4 étapes simples

Configurer DKIM avec Mailpro prend une dizaine de minutes et apporte des bénéfices immédiats : messages signés, meilleure délivrabilité et...

Lire la suite

Pourquoi certaines adresses ne sont-elles pas importées ?

Si toutes les lignes de votre fichier ne sont pas reprises, c'est une protection automatique de Mailpro pour préserver la...

Lire la suite

Politique de confidentialité – RGPD : comment utilisons-nous vos données ?

Nous utilisons les données personnelles que vous nous fournissez strictement pour fournir le service Mailpro, respecter nos obligations légales et...

Lire la suite

Comment obtenez-vous la validation de votre compte Mailpro ?

Valider votre compte Mailpro est l’étape qui transforme l’essai en compte d’envoi pleinement actif : limites levées, marquage essai retiré,...

Lire la suite

Comment modifier le lien de visualisation et de désinscription ?

Les liens de visualisation et de désinscription sont obligatoires dans toute newsletter et imposés par le RGPD ainsi que la...

Lire la suite