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

Cloudflare Email Sending

Send through Cloudflare's Email Sending REST API or Worker binding with plain-address recipients and a 50-recipient cap.

Capabilities

Repeated headersIdempotencySchedulingPersonalized
NononeNoexpanded

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

The Cloudflare adapter supports both Cloudflare Worker send_email bindings and Cloudflare's Email Sending REST API. It is the natural pick when your sending domain lives in Cloudflare or when sending directly from a Cloudflare Worker. The trade-off is strict recipient rules: plain addresses only, 50 recipients max.

Cloudflare Email Sending logo
Cloudflare Email Sending@opencoredev/email-sdk/cloudflare
Provider docs

Configure

Worker binding (Cloudflare Workers)

In a Cloudflare Worker, bind Email Sending in your wrangler.json (or wrangler.toml) and pass the binding object (env.SEB) directly to the adapter.

REST API

Enable Email Sending for your account and domain, then create an API token with Email Sending permission. You also need your account ID.

Prop

Type

Send

Cloudflare maps cc, bcc, one replyTo, headers, and attachments. There are no tags or metadata.

Cloudflare REST API does not return a message id; instead result.accepted lists delivered and queued recipients and result.rejected lists permanent bounces. Worker bindings return the message ID if provided by the binding. Total recipients across to, cc, and bcc are capped at 50.

Plain recipient addresses only

to, cc, and bcc must be bare addresses like "user@example.com"; a display name throws an EmailValidationError before any request is made. Only from and replyTo keep display names.

Verify from the CLI

Drop --dry-run for one real send; only Cloudflare can prove the domain and account are cleared to deliver.

Frequently asked questions

Does Email SDK support Cloudflare?

Yes. Email SDK ships a Cloudflare adapter imported from @opencoredev/email-sdk/cloudflare. You keep your Cloudflare 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 Cloudflare adapter support?

Cloudflare 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 Cloudflare schedule email for later with Email SDK?

No. Cloudflare 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 Cloudflare adapter support idempotent sends?

No. Cloudflare has no provider-side idempotency, so a retried send can be delivered twice. Deduplicate in your own queue before retrying.

On this page