Resend Setup Guide
Free
Send a controlled test email from a trusted server-side workflow.
BEGINNER / DEVELOPER EMAIL
1. Set the stage
Resend is email infrastructure. You need an account, a verified sending domain for normal use, and a backend; an API key never belongs in browser code.
1. Verify the sending domain
Sign in at resend.com. Add the domain you control and apply the required DNS records at its DNS provider. Wait for the dashboard verification.
2. Create a scoped key
Create an API key with only the needed sending access. Save it as RESENDAPIKEY in private backend configuration, never a public client variable.
3. Connect the server SDK
In your Node.js backend project, run npm install resend. Initialize the SDK with process.env.RESENDAPIKEY and use a sender on the verified domain.
4. Send one controlled test
Send only to your own test inbox. Check the returned message ID, delivery events, and inbox receipt; provider acceptance alone is not delivery.
2. Lean working stack
| Stage | Role | | --- | --- | | Server route | Validate the request | | Resend | Accept the message | | Delivery events | Track the outcome | | Test inbox | Confirm receipt |
Arrows in the visual sheet show the order of work. External connections require separate setup. Optional tools may be replaced with ones you already use. This is a suggested stack for this task, not a universal optimum.
Configure secrets privately
Keep local env files out of Git. Set deployment secrets in the correct environment and restart or redeploy when required by the host.
Control retries and duplicates
Use a stable idempotency strategy for repeated requests. Record outcomes and handle failures before connecting booking or customer-facing notifications.
3. First practice task
Send one plain test message from a verified sender to my own inbox. Record its provider ID and delivery state, then confirm inbox receipt. Do not send to a customer list or enable a campaign.
Your setup is working when
The server authenticates, the message has an ID and delivery event, the email arrives, and no key appears in client code or logs.
Troubleshooting
Sender rejected? Check domain verification. Unauthorized? Check key scope. Accepted but missing? Inspect events, address, spam folder, and inbox receipt.
Series 40 / 40