webhooks.xyz

Examples / Email delivery / Mailgun

Mailgun webhooks

Delivered, opened, clicked, failed, complained and unsubscribed events, plus Routes for incoming mail.

Events

  • delivered
  • opened
  • clicked
  • failed
  • complained

Signature

The body has signature.timestamp, signature.token and signature.signature. Signature is HMAC-SHA256 of '<timestamp><token>' with the HTTP webhook signing key, hex encoded.

✓ A bin checks Mailgun signatures: add the HTTP webhook signing key under Signature verification (Mailgun).

Retries

Mailgun retries over 8 hours with increasing gaps.

See a retry schedule in the calculator.

Sample request from Mailgunillustrative, shortened
Content-Typeapplication/jsonUser-Agentmailgun/treq-…
{
  "signature": { "timestamp": "1759924800", "token": "e2d8f0a1b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3", "signature": "9a3f…c7d0" },
  "event-data": {
    "event": "delivered",
    "timestamp": 1759924800.0,
    "id": "CPgfbmQMTCKtHW6uIWtuVe",
    "recipient": "ravi@example.com",
    "message": { "headers": { "message-id": "20261008063400.1.ABC@mg.example.com", "subject": "Your receipt" } },
    "delivery-status": { "code": 250, "message": "OK" }
  }
}

Receive Mailgun webhooks with webhooks.xyz

Create a bin. Paste its URL into Mailgun. Each request shows at once with its headers and body. Add your server as a destination, and deliveries retry when it is down. Request an invite.

More in email delivery: Postmark, Resend, SendGrid (Twilio).