Newsletter (Resend)
The kit ships a newsletter built on Resend Audiences, in two pieces:
- Signup — collect subscribers from your site.
- Broadcast — compose and send an email to your list from
/app/settings→ Newsletter tab.
Both stay in demo mode (the subscriber count and send button are mock) until you add the Resend keys below.
Already wiring the contact form or auth-triggered contact sync with Resend? See Auth and email setup. It shares the same
RESEND_API_KEY.
1. Configure Resend
Create a Resend account, then in the dashboard create an Audience (your subscriber list) and
an API key. Add both to .env:
RESEND_API_KEY=re_xxxxxxxxxxxxxxxxxxxxxxxxx
RESEND_AUDIENCE_ID=aud_xxxxxxxxxxxxxxxxxxxxxxxxxVerify the sending domain you broadcast from (the same one you use for the contact form), so your emails are not rejected.
2. How it works once configured
- Signup adds the submitted email to your Resend Audience as a contact.
- Broadcast (the "Send to subscribers" button in
/app/settings→ Newsletter) creates a Resend broadcast for the audience and sends it. The mock "subscribers" count is replaced with the real audience size.
3. Test the setup
- Restart the dev server after editing
.env. - Submit a test email through your signup input → it appears in the Resend Audience.
- Open
/app/settings→ Newsletter, write a subject + message, and send a broadcast. - Confirm the email arrives and shows up under Broadcasts in Resend.
Production checklist
Before going live:
- Use a verified sender domain for broadcasts.
- Add double opt-in if your audience/region requires it.
- Make sure every broadcast includes an unsubscribe link (Resend injects one automatically).
Related: auto-add signed-in users
To add every signed-in Supabase user to a Resend Segment or Topic when they log in, set
RESEND_SEGMENT_ID and/or RESEND_TOPIC_ID — see
Auth and email setup for that flow.
Useful docs: