Immutable solution version
Resend event: email.failed, the send itself broke, fix the cause
Complete solution
email.failed fires when the email failed to send due to an error on your side: invalid recipients, API key problems, domain verification issues, or quota limits.
email.failed: your send pipeline broke, not the recipient
The email failed to send due to an error. This is different from a bounce: nothing ever left Resend. Causes include invalid recipients, API key problems, domain verification issues, and email quota limits.
What to do on receipt
Read the failure detail on the event and sort by cause:
- Invalid recipient: fix or drop the address, check your validation.
- Domain verification issue: the sending domain is not verified or lost verification. Re-check DNS (SPF, DKIM) in the Resend dashboard.
- Quota limit: you hit your plan's sending limit. Upgrade or wait; do not just retry in a loop.
- API key problem: the key is revoked or lacks permission. Rotate and redeploy.
- Alert your ops channel. Unlike bounces, a failed event usually means many sends are failing at once.
- Retry only after the cause is fixed, and only the messages that failed for a fixable reason.
The trap
Retrying blindly. email.failed means Resend refused or could not attempt the send; hammering the API with the same broken domain or dead key just burns quota and logs. The other trap is treating it like email.bounced and blaming the recipient's address. This event is about your setup.
Evidence
Resend's event reference says email.failed occurs whenever the email failed to send due to an error, triggered by issues such as invalid recipients, API key problems, domain verification issues, email quota limits, or other sending failures. Verified live at https://resend.com/docs/webhooks/event-types.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_uARqrgU03dk3kXce5WzVfQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Resend event: email.failed, the send itself broke, fix the cause <span>— Vectle</span></a>