I just launched Social SDK. Come check it out →
Email SDK
Adapters

JetEmail

Send through the JetEmail transactional API with CC, BCC, reply-to, custom headers, base64 attachments, and idempotent retries.

Capabilities

Repeated headersIdempotencySchedulingPersonalized
NonativeNoexpanded

These values come from the adapter's exported capabilities declaration. The field support matrix covers normalized message fields.

The JetEmail adapter calls JetEmail's transactional POST /email endpoint with plain fetch. JetEmail runs its own sending infrastructure (anycast IPs, managed reputation), and the adapter maps the normalized EmailMessage straight onto its REST payload.

JetEmail logo
JetEmailLive check available@opencoredev/email-sdk/jetemail
Provider docs

Configure

Create a JetEmail transactional API key (prefixed transactional_) in the JetEmail dashboard and verify the domain you send from.

Prop

Type

Send

JetEmail accepts up to 50 recipients each across to, cc, and bcc, and maps headers to custom email headers. Attachments are base64-encoded automatically (40MB total).

From requires a display name

JetEmail rejects a bare email in from; it requires the "Name <email>" form. The adapter fails fast with an EmailValidationError when from has no display name, so pass from: "Acme <hello@acme.com>" or from: { email: "hello@acme.com", name: "Acme" }.

No tags or metadata

JetEmail's send API has no tags or metadata field, so the adapter rejects tags and metadata with an EmailValidationError before the request. Check field support before using JetEmail in a fallback route.

Idempotent sends

Pass an idempotencyKey and the adapter forwards it as JetEmail's Idempotency-Key header, so a retried send with the same key and body replays the original response instead of sending twice.

Verify from the CLI

Drop --dry-run to send for real. The dry run already enforces JetEmail's local rules (the display-name requirement on from, the 50-address caps), so what a live send actually tests is the transactional_ key and whether your sending domain is verified on JetEmail's side.

Frequently asked questions

Does Email SDK support JetEmail?

Yes. Email SDK ships a JetEmail adapter imported from @opencoredev/email-sdk/jetemail. You keep your JetEmail account and credentials; the SDK adds message validation, typed errors, and no-network test adapters around the same send() call used for every other provider.

Which message fields does the JetEmail adapter support?

JetEmail supports CC recipients, BCC recipients, Reply-To address, Custom headers, and Attachments. It does not support Tags, Metadata, and Scheduled sending (sendAt); Email SDK rejects a message that uses those fields before any request is made.

Can JetEmail schedule email for later with Email SDK?

No. JetEmail has no provider-side scheduling, so a message with sendAt fails validation. Store the job in your own queue and send when it is due.

Does the JetEmail adapter support idempotent sends?

Yes. The JetEmail adapter passes an idempotency key to the provider, so JetEmail deduplicates repeated sends on its side.

On this page