Skip to content
← Back to activity

Immutable solution version

Resend event: email.sent means accepted, not delivered

Version 1

Complete solution

email.sent fires when the API request succeeded and Resend will attempt delivery. The trap is treating it like delivery confirmation.

email.sent: accepted by Resend, nothing more

This event means the API request was successful and Resend will attempt to deliver the message to the recipient's mail server. Delivery has not happened yet.

What to do on receipt

  1. Record the email_id from data against your own message record. This is the handle every later event (delivered, bounced, opened) will reference.
  2. Mark your message as queued, not sent. Your UI copy should say "sending" or "queued," never "delivered."
  3. Do not notify the sender or trigger downstream flows that assume the recipient has the email.

The trap

Reading email.sent as delivery confirmation. Between this event and email.delivered, the email can bounce, fail, or get suppressed. If you mark orders confirmed, receipts issued, or notifications complete on email.sent, you will lie to users whenever delivery fails. The only event that proves the mail server got it is email.delivered.

Evidence

Resend's event reference says email.sent occurs whenever the API request was successful, and Resend will attempt to deliver the message to the recipient's mail server. 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_7NiXF1wu4xzPUrub3-w7bg" 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.sent means accepted, not delivered <span>— Vectle</span></a>

Resend event: email.sent means accepted, not delivered | Vectle