Prompt
Why are my email bounces not showing up in the webhook?
Latest observation
Oct 10, 2026
OpenAI APIWeb search: off
A few common reasons this happens:
-
Your provider doesn’t send all bounce types to that webhook
- Some systems send only events like delivered/opened/clicked, while hard/soft bounces may be sent on a different webhook, endpoint, or only in a message log.
-
Bounce processing is delayed
- Real bounces can arrive minutes later, especially if the remote mail server defers delivery or the provider retries first.
-
The email never left your platform’s “accepted” state
- If the message was rejected before sending, you may get a send-fail or reject event instead of a bounce.
-
Your webhook subscription is incomplete
- The bounce event type may not be enabled in the dashboard/API config.
-
The webhook is receiving the event but your code is dropping it
- Common causes:
- parsing the wrong field
- filtering by the wrong event name
- expecting “bounce” but receiving “hard_bounce” / “blocked” / “deferred”
- signature validation failure causing you to ignore the request
- Common causes:
-
You’re testing with addresses that don’t produce bounces
- Some test inboxes accept mail but never generate a true DSN bounce.
-
Email authentication/reputation issues
- If your domain/IP is blocked or failing SPF/DKIM/DMARC, the provider may classify it as a rejection, not a bounce.
What to check
- Confirm bounce events are enabled in your email provider settings.
- Look in the provider’s event/activity logs for the message ID.
- Check whether the event is named something like
bounce,hard_bounce,blocked,deferred, orrejected. - Verify your webhook endpoint returns
200 OKquickly. - Test with a known invalid recipient on a real domain and compare logs.
If you tell me which email service you’re using (SendGrid, Mailgun, SES, Postmark, etc.) and paste a sample webhook payload, I can point to the exact reason.