Inboundr retries failed deliveries automatically so a brief outage on your side doesn’t drop mail.

What counts as a failure

A delivery attempt fails if the endpoint:
  • returns a non-2xx status,
  • returns a 3xx redirect (redirects are not followed),
  • times out (default 10s, configurable 1–30s), or
  • can’t be reached.

Backoff schedule

Failed attempts are retried with exponential backoff until they succeed or reach the endpoint’s maxAttempts (default 5, max 10): After the final attempt, the delivery is marked dead and surfaced in the console so you can inspect the response and retry manually.

Delivery status

Each email’s overall delivery status rolls up its attempts:

Building a robust handler

A delivery may arrive more than once (a retry can fire after your handler succeeded but before the response reached us). De-duplicate on the email id or the X-Inboundr-Delivery-Id header.
Return 200 as soon as you’ve safely stored the event, then do heavy work asynchronously. Long processing risks a timeout, which triggers a retry.
Always verify the signature before acting on a payload.