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));
}

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.

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

Configurer SPF avec Mailpro en 5 étapes simples

Configurer SPF avec Mailpro prend cinq minutes et apporte des bénéfices immédiats : meilleure délivrabilité, moins de rebonds et protection...

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