Prompt
How to migrate off of Resend
Latest observation
Migrating off Resend means replacing its modern developer-focused API with another provider while preserving your domain authentication, templates, and suppression lists. The process is mechanical: swap API calls, import suppressions, mirror DNS records, and run parallel traffic until stable.
🔑 Migration Steps
Audit current Resend setup
List verified domains, DKIM/SPF/DMARC records.
Export suppression lists (bounces, complaints, unsubscribes).
Save templates (React Email HTML or raw HTML).
Choose new provider
- Options: Postscale, Sendara, MailChannels, Postmark, SendGrid.
Evaluate based on pricing, inbound support, analytics, and developer experience.
Map API calls
Resend:
js
await resend.emails.send({
- from: "Acme alerts@example.com",
- to: ["user@example.com"],
- subject: "Welcome",
- html: "<p>Hello from Acme</p>",
- tags: [{ name: "flow", value: "onboarding" }],
});
Postscale equivalent:
js
await fetch("https://api.postscale.io/v1/send", {
- method: "POST",
- headers: {
- Authorization:
Bearer ${process.env.POSTSCALE_API_KEY}, - "Content-Type": "application/json",
},
- body: JSON.stringify({
- from: "Acme alerts@example.com",
- to: ["user@example.com"],
- subject: "Welcome",
- html_body: "<p>Hello from Acme</p>",
- tags: ["onboarding"],
}),
});
Recreate domain authentication
Add DKIM, SPF, DMARC, and return-path records from the new provider.
Keep Resend records active during overlap for rollback safety.
Import suppression lists
Upload CSV of bounces/complaints/unsubscribes.
Ensure the new provider blocks those addresses before production traffic.
Run parallel testing
Lower DNS TTL to 300 seconds.
Send 10% of traffic via the new provider.
Monitor inbox placement, bounce rates, and complaint feedback.
Ramp up gradually until 100% traffic is migrated.
⚠️ Risks & Trade-offs
Deliverability drops if DNS records aren’t updated correctly.
Loss of unsubscribes if suppression lists aren’t imported.
API breakage since Resend’s SDK differs from others.
Rollback complexity if you cut over too quickly.
✅ Best Practices
Keep both Resend and new provider active during transition.
Document all DNS changes for rollback.
Test seed accounts across Gmail, Outlook, Yahoo, iCloud, and corporate tenants.
- Avoid final cutover on Fridays — do it early in the week.