Real Tool Stack

Reviews / Email marketing

Resend review: sending and receiving email for a small site on the free plan

We moved a small site's email to Resend for both sending and receiving. Here's what the free plan covers, what the setup really involves, and where it falls short.

Hands-on: in our stackBy the Real Tool Stack teamUpdated October 24, 20263 min read
Illustration of envelopes moving in and out of a small server
Illustration.

Our verdict

A clean, developer-first email service whose free plan is enough for a small site, as long as someone on the team is comfortable with DNS and a little code.

Best for
Small sites and side projects that send transactional email and want inbound email without a separate mail host
Skip if
Non-technical teams who want a point-and-click newsletter tool
Price
Free up to 3,000 emails/month (100/day); Pro from $20/month

Visit Resend

What works

  • Free plan covers 3,000 emails a month, 3 domains and inbound email
  • Domain verification took minutes once DNS records were in place
  • Received emails are stored even if your webhook is down, and you can list them by API
  • Simple REST API: one POST sends an email

What doesn't

  • 100-email daily cap on the free plan
  • Inbound email needs your own code to forward or process messages
  • Switching a domain's MX records can break existing registrar email forwarding
  • Data retention is 30 days on standard plans

We run a small home-organization website. It needed two things from email: send messages from our own domain (outreach and notifications), and receive replies somewhere a person and a script could both read them. We set this up on Resend's free plan in October 2026. This is what it took and what we'd tell a friend before they try it.

What Resend is

Resend is an email API. You verify a domain, then your code sends email with a single HTTP request. Since late 2025 it can also receive email for your domain, store it, and hand it to your code by webhook or API. There's a dashboard for logs, but the product is built for developers first.

The free plan, in numbers

Free Pro
Price $0 from $20/month
Emails per month 3,000 50,000
Emails per day 100 no daily cap
Domains 3 10
Inbound email included included
Webhook endpoints 1 5
Data retention 30 days 30 days

Received emails count toward the same monthly quota as sent ones. Marketing broadcasts are a separate product, free up to 1,000 contacts.

For our site, 100 emails a day is plenty. If you send password resets or order receipts for a busy app, you'll hit it quickly.

Setting it up: what actually happened

Sending was quick. We added the domain through the API, got four DNS records back (a DKIM key, an MX and SPF record on a send subdomain, and a CNAME), added them at our registrar, and the domain showed as verified a few minutes later.

Receiving is where we hit the one real gotcha. Our registrar's free email forwarding only works while the registrar controls the domain's MX records. Resend needs its own MX record, and the registrar won't let you add custom MX records while forwarding is on. So it's one or the other.

We chose to point the root MX at Resend and handle forwarding ourselves:

  1. Resend receives every email sent to the domain and stores it.
  2. A small script runs every hour, lists new received emails through the API, saves a copy, and forwards it to the owner's personal inbox.
  3. The same script flags replies to our outreach so we can follow up.

That's about 60 lines of Python. It works well, but it's code you have to own. If nobody on your team writes code, this part of Resend isn't for you yet.

What we like

  • It's honest about limits. The pricing page lists the daily cap, retention and overage cost per 1,000 emails. No surprises so far.
  • Stored inbound email. Because Resend keeps received messages and exposes a list endpoint, we didn't need a public webhook server at all. Polling once an hour is enough for a small site.
  • Deliverability basics are handled. DKIM and SPF are set up as part of verification. We added a DMARC record ourselves.

What could be better

  • No forwarding rules in the dashboard. Forwarding a received email means calling the API (or the Node SDK's forward helper). A simple "forward everything to this address" toggle would make inbound useful to far more people.
  • The 100/day cap can bite during a launch or a batch of outreach.
  • Developer-only feel. The dashboard is clean, but you'll be reading API docs either way.

Who should use it

Use Resend if you have a developer (or are one), you want email on your own domain without running a mail server, and your volume fits the free or Pro plan. Skip it if you need a newsletter editor with templates and drag-and-drop automations: tools like Brevo or Kit are built for that.

Our verdict

We're keeping it. For a small site it replaced registrar forwarding and gave us sending, receiving and an API in one place, at no cost so far.

Disclosure: if you buy through our links we may earn a commission. It never changes our verdict. Details.

Sources

  1. Resend pricing
  2. Resend docs: Receiving emails
  3. Resend docs: Forward received emails

Vendors change plans often, so confirm on the official site before buying.