All free coursesFree course · 5 lessons · 90 minutes

move your newsletter to resend.

A free 5-lesson course: check if Resend fits, verify your sending domain, build templates as code with Claude Code, move contacts without re-subscribing anyone, and send your first broadcast.

For: Teams on Klaviyo or ActiveCampaign who mostly send newsletters or emails triggered by their own app.

Your progress

0% complete

0 of 5 lessons · ~90 min left

Lesson 1 of 5: Is Resend right for you? · all lessons

Lesson 1 of 5 · Overview

Is Resend right for you?

Goal
Decide in five minutes whether to move, or to keep your platform and connect Claude to it.
Time
10 minutes
You need
A list of what your email platform does for you

Lesson notes

Everything in the course on one page, for reference.

1.Is Resend right for you?

Goal: Decide in five minutes whether to move, or to keep your platform and connect Claude to it. (10 min)

  1. List the flows you rely on: welcome, abandoned cart, browse, win-back, newsletter.
  2. If Shopify-driven flows, revenue attribution or SMS drive your decisions, stay. Klaviyo does those well, and ActiveCampaign ships an official MCP server for Claude.
  3. If you mostly send newsletters and emails triggered by your own app, Resend fits: templates live in code and an AI agent can run them.
Here is everything our email platform does for us and what we pay:

[paste]

Should we move to Resend or stay and connect AI to our current tool? List what we'd lose, what we'd gain, and the riskiest part of moving.

Done when: You've written down "move" or "stay", and the one feature that decided it.

2.Verify your sending domain

Goal: Send from your own domain with SPF and DKIM set up, so your emails land in the inbox. (20 min)

  1. In Resend, go to Domains → Add Domain. Use a subdomain such as updates.yourdomain.com. Resend strongly recommends this, and it protects your main domain's reputation.
  2. Pick the sending region closest to your readers.
  3. Copy each DNS record exactly as Resend shows it into your DNS host. On Cloudflare, turn the proxy (orange cloud) off for these records.
  4. Wait for verification: often 15 minutes, up to 72 hours. Then add a DMARC record.

Done when: Your sending domain shows Verified in Resend.

3.Templates as code, built by Claude Code

Goal: Build one branded newsletter template you'll reuse for every issue. (25 min)

  1. Ask Claude Code to set up a React Email project in a new folder or your website repo.
  2. Describe the layout: header, headline, three short items, one button, footer with an unsubscribe link.
  3. Preview it locally, then check mobile and dark mode.
  4. Commit it to git. From now on, changes are reviewable and reversible.
Set up a React Email template for our newsletter in ./emails. Props: headline, intro, items (title, summary, url), ctaLabel, ctaUrl. Brand: background #050403, text #F5F2E9, accent #B0EB52, Inter font with system fallbacks. Footer with our address and an unsubscribe link placeholder. Make it readable in dark mode and on mobile. Add a preview script and tell me how to run it.

Done when: The preview looks right on desktop, mobile and dark mode, and it's committed to git.

4.Move your contacts, and your unsubscribes

Goal: Import only people who agreed to hear from you, and never re-subscribe anyone by accident. (20 min)

  1. Export subscribed contacts to CSV. Separately export unsubscribed, bounced and suppressed contacts.
  2. Ask Claude to clean the subscribed list: remove duplicates and invalid addresses, and remove anyone who appears in the unsubscribed or bounced file.
  3. Import the clean CSV into Resend contacts and create a segment for the newsletter.
  4. Keep the unsubscribed list. Those people must stay unsubscribed.
File A is our subscribed contacts, File B is unsubscribed/bounced/suppressed. Produce a clean CSV of File A minus anyone in File B, with duplicates and invalid emails removed. Report how many you removed and why.

[attach both files]

Done when: Counts add up, and nobody from the unsubscribed file is in your sending segment.

5.Send your first broadcast

Goal: Send a clean first issue, then retire the old platform safely. (15 min)

  1. Create a broadcast in the Resend editor, or via the API from your template.
  2. Send a test to yourself. Check links, images, the unsubscribe link and the from address.
  3. Choose your newsletter segment and schedule the send.
  4. Watch bounces and complaints for a week. Keep the old account until two sends are clean, then cancel at renewal.

Done when: First broadcast sent, with bounces and complaints at normal levels.