Built for the path where every send is one click away from a frustrated user.
Reliable enqueue + dispatch latency. The dashboard exposes the full timeline per message_id.
Network blip during checkout? Retry the call with the same Idempotency-Key — guaranteed no duplicate send.
Your receiving endpoint flapping? We retry for a day before giving up. All retries replayable from the dashboard.
Gmail flapping? You'll see exactly which IP is suffering, when it started, and what we're doing to route around it.
Allocate a sub-account per customer. Each one gets its own API key, suppression list, and quota. Bill by usage if you resell.
Sends are accepted, signed, and logged but never delivered. Drop into your CI pipeline without spamming yourself.
Send a password-reset email.
await relayly.email.send({ from: { email: "noreply@yourdomain.com", name: "YourApp" }, to: [{ email: user.email }], subject: "Reset your password", html: resetEmailHtml({ link: resetUrl, name: user.firstName }), tags: ["password-reset"], metadata: { user_id: user.id, ip: req.ip }, headers: { "X-Entity-Ref-ID": resetTokenId }, }, { idempotencyKey: `reset:${resetTokenId}` });
The honest answers to "but why not just X?".
You can. Many do. The math becomes interesting once you need a dedicated IP — SendGrid charges $80/mo extra; Relayly bundles one into the $25/mo Pro tier. And you get region pinning per send (EU + CA), which SendGrid doesn't expose at all on Pro.
Postmark is excellent at transactional. Use them if you have no marketing-email needs ever, are happy with US-only sending, and don't mind the steeper price-per-send. We're cheaper at moderate volume and bundle marketing automation in case you need it later.
Lovely onboarding, no EU region, no SMTP relay. If your stack has a single Node call site and a US-based customer base, Resend is fine. The minute you need EU residency or your existing app speaks SMTP, the answer flips.
Free tier covers most pilot traffic. 5 minutes from signup to first email.
Start free Talk to a human first