Ogni chiamata inviata da Mailpro contiene header che permettono di autenticarla:

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

Calcolo della firma

v1 è l'HMAC-SHA256, in esadecimale minuscolo, della stringa t + "." + corpo grezzo della richiesta, calcolato con il secret consegnato alla creazione del webhook. Il corpo va preso esattamente come ricevuto, prima di qualsiasi decodifica 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 minuti
return fresh && crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
}

Non ricevete ancora eventi? Create e provate il vostro webhook prima, poi aggiungete la verifica della firma.

Buone pratiche

  • Rifiutate ogni richiesta la cui firma non corrisponde o il cui timestamp t è più vecchio di qualche minuto (protezione dai replay).
  • Usate X-Mailpro-Event-Id per ignorare un evento già elaborato: la stessa consegna può presentarsi più volte in caso di nuovo tentativo.
  • Rispondete 2xx entro 10 secondi, poi elaborate il messaggio in modo asincrono.
  • Dopo Rinnova il secret, il vecchio secret è invalidato immediatamente: aggiornate prima il vostro server, oppure tollerate un minuto di firme rifiutate.

I webhook di destinazione dell'automazione (verso B) seguono lo stesso principio, con l'header X-Mailpro-Automation-Signature e la chiave di firma facoltativa che definite sulla destinazione.

Mailpro e i webhook

Oltre la verifica della firma: un'infrastruttura email affidabile

SMTP e API di Mailpro consegnano le vostre email transazionali e di marketing con eventi in tempo reale, così la vostra app sa sempre cosa è successo.

Inizia gratis con MailproScopri l'SMTP di Mailpro

Messaggio precedente

   

Prossimo messaggio

Potresti anche essere interessato a:

Parole spam da evitare nelle tue campagne email

I filtri antispam analizzano ogni email cercando parole "trigger" — termini che storicamente compaiono in truffe, phishing e vendite aggressive....

Per saperne di più

Esiste una migliore alternativa a Mailchimp?

Mailchimp ha aiutato a rendere popolare l'email marketing, ma non è più l'unica scelta. Se hai superato i suoi prezzi,...

Per saperne di più

Quali permessi possono avere i miei utenti?

Ogni utente che aggiungi al tuo account Mailpro ha un proprio profilo di permessi. Il proprietario decide esattamente cosa ciascun...

Per saperne di più

Perché il mio pagamento è stato rifiutato su Mailpro?

Se un addebito Mailpro viene rifiutato, gli invii e i rinnovi possono essere influenzati finché non risolvi la causa. Le...

Per saperne di più

Possiamo utilizzare Google Analytics per le campagne emailing?

Sì — Mailpro si integra nativamente con Google Analytics. Traccia le campagne oltre il clic: conversioni, scontrino medio, percorso utente...

Per saperne di più