Resend

Email · API · Deliverability

resend.com

A clean transactional email API for product mail, domain authentication, and event-driven sending.

Why it earns a place

Why I use it

I use Resend when an application needs to send real product email without turning SMTP configuration into its own project. The API is small, domain setup is understandable, and it fits serverless workflows well.

Use cases

Best for

  • Passwordless/login emails
  • Waitlist confirmations and transactional notifications
  • Serverless functions and API routes
  • Keeping sending separate from the mailbox you read in Gmail

Start small

Quick start

  1. 01
    Add a sending domain

    Use a dedicated subdomain when possible, copy the DNS records Resend gives you into Cloudflare or your DNS host, and wait until the domain is verified.

  2. 02
    Create an API key

    Create a key for the application, store it as a deployment secret rather than in source code, and scope/rotate it when the project changes hands.

  3. 03
    Send from the server

    Call Resend from an API route, Worker, server action or backend job. Keep the From address on the verified domain and provide a useful Reply-To when replies should land in Gmail.

Repeatable workflows

Things I come back for

Reply in Gmail

Use Reply-To with the mailbox you actually monitor. Resend handles outbound delivery; Gmail can still be where human replies are received and answered.

  1. 1

    Send from the verified product domain through Resend.

  2. 2

    Set Reply-To to the mailbox a human actually checks.

  3. 3

    Send yourself a test and reply to it before shipping the template.

Domain reputation

Avoid blasting cold campaigns from the same domain used for critical product mail. Separate transactional and outreach traffic when reputation matters.

  1. 1

    Identify which messages are transactional versus promotional or outreach.

  2. 2

    Keep critical product mail on a protected sending domain/subdomain.

  3. 3

    Monitor bounces and complaints before increasing volume.

Webhooks

Use delivery/bounce events when the application needs to record message state or suppress addresses that repeatedly fail.

  1. 1

    Create a server endpoint for the events you actually need.

  2. 2

    Verify the webhook signature before trusting the payload.

  3. 3

    Store only useful delivery state and suppress repeated hard failures.

Resend interface

Before you goFree · 5 days

Launch your personal brand site in 5 days

A free challenge: about two hours a day, from one clear sentence about you to a site on your own domain. Or skip the build and start from this one.

Comes with Notes from the workshop. One email a month, at most. Unsubscribe in one click. How your address is used.

It's yours

Done

Open it