Resend
Resend is a sending service you reach with an API key. It works on Node, Docker and Cloudflare Workers. Use this page if you chose EMAIL_PROVIDER=resend.
Settings
| Variable | Required | What it does |
|---|---|---|
EMAIL_PROVIDER | yes | Set to resend. |
EMAIL_FROM | yes | The sender, as Harmony Community Choir <noreply@example.org>. |
RESEND_API_KEY | yes | An API key from your Resend account. Without it the server refuses to start with "EMAIL_PROVIDER=resend needs RESEND_API_KEY". |
EMAIL_REPLY_TO | no | Where replies go. |
Set up Resend first
- Add your sending domain in Resend and add the DNS records it shows you. Wait until Resend says the domain is verified.
- Create an API key. A key that is only allowed to send is enough.
A working example
EMAIL_PROVIDER=resend
EMAIL_FROM="Harmony Community Choir <noreply@example.org>"
RESEND_API_KEY=re_replace_with_your_key
On Cloudflare, keep EMAIL_PROVIDER and EMAIL_FROM under [vars] in wrangler.toml and set the key with wrangler secret put RESEND_API_KEY.
If something goes wrong
When Resend refuses a message, the server log has its status and reason, and the message counts as not sent:
Resend rejected the email: 403 Forbidden: {"message":"The example.org domain is not verified. ..."}
A 403 about the domain means EMAIL_FROM uses a domain that is not verified; 401 means the API key is wrong or was revoked. See Troubleshooting: nobody can log in, or emails do not arrive.