Radondocs

Radon Email

One unified, provider-agnostic API for 16 email providers — Western, African, and raw cloud. Write email.send() once and swap providers with a config change, never a code change.

@radonsdk/email gives you one typed APIsend, sendBatch, templates, webhooks — that every one of 16 email providers implements. Provider-specific quirks (auth schemes, wildly different request bodies, signed webhook formats) are absorbed inside each adapter and never leak into your code.

email.ts
import { RadonEmail } from "@radonsdk/email";

const email = new RadonEmail({
  providers: { resend: {} },              // creds from RADON_RESEND_API_KEY
  defaultFrom: "Acme <hello@acme.com>",
});

const result = await email.send({
  to: "ada@example.com",
  subject: "Welcome, {{name}}!",
  html: "<p>Hi {{name}}, thanks for joining.</p>",
  variables: { name: "Ada" },             // free {{var}} interpolation
});

result.status; // "queued" | "sent" | "scheduled"
result.id;     // provider message id

Switching to SendGrid, Amazon SES, or Termii later is a one-line config change — the send() call above never changes.

Own your data, no lock-in

Radon runs in your backend against your provider keys. There's no hosted service, no per-email fee from Radon, and the SDK never stores your secrets — each adapter reads credentials from RADON_<PROVIDER>_* environment variables.

What's in the box

Free vs. Pro

Radon Email gates on two levels.

Provider tier. Three providers are free and need no license: Resend, SendGrid, and generic SMTP. The other 13 (Postmark, Amazon SES, Mailgun, Brevo, Loops, Mailjet, SparkPost, Elastic Email, MailerSend, SMTP2GO, Amazon Pinpoint, Zoho ZeptoMail, and Termii) are Pro Pro and unlock with a single Radon Pro license that covers every SDK in the suite.

Feature tier. sendBatch(), template management (email.templates.*), and webhook normalization (email.webhooks.handle()) are Pro regardless of provider — they need a verified license even on a free provider like Resend. A single send(), including free {{variable}} interpolation, never does.

Gating is a licensing concern only — every adapter, free or Pro, is built to the same completeness bar: real API calls, real signature verification, attachments and scheduling where the provider supports them.

On this page