cloudflare-email-service

Send and receive transactional emails using Cloudflare Email Service bindings, REST API, and Email Routing.

1|Updated Jul 16, 2026
One-click install
npx skills add https://github.com/sota411/codex-config --skill cloudflare-email-service-sota411
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: cloudflare-email-service
Source: https://github.com/sota411/codex-config/tree/main/archived-user-skills/2026-08-20/unused/cloudflare-email-service
Command: npx skills add https://github.com/sota411/codex-config --skill cloudflare-email-service-sota411

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires postal-mime, mimetext, and includes references (resource) components.

What problem does it solve? Integrating transactional email into applications requires navigating Cloudflare Email Service setup, domain onboarding, binding configuration, and deliverability rules, which are easy to get wrong without up-to-date guidance. ## Core Features & Use Cases - Email Sending: Send transactional emails from Cloudflare Workers via the send_email binding, from external apps via the REST API, or from coding agents via wrangler CLI and MCP tools. - Email Receiving & Routing: Handle inbound emails with a Worker's email() handler, forward to verified destinations, reply with threading headers, and parse MIME content with postal-mime. - Deliverability Management: Configure SPF/DKIM/DMARC, monitor bounces and suppression lists, and query email analytics through the GraphQL API. - Use Case: Add a welcome email to a Cloudflare Worker by configuring the send_email binding in wrangler.jsonc, onboarding the sending domain, and calling env.EMAIL.send() with HTML and text bodies. ## Quick Start Ask the agent to add email sending to your Cloudflare Worker using the send_email binding and onboard your domain with wrangler.

Frequently Asked Questions about cloudflare-email-service

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an email from a Cloudflare Worker?▼

Add a send_email binding to wrangler.jsonc with name EMAIL, onboard your sending domain with wrangler email sending enable, then call env.EMAIL.send() with to, from, subject, html, and text fields. No API keys are needed for the binding.

What is the difference between the Workers binding and the REST API for Cloudflare email sending?▼

The Workers binding uses email in the from object and replyTo, while the REST API uses address and reply_to. The binding returns a messageId, whereas the REST API returns delivered, permanent_bounces, and queued arrays.

How do I receive and parse incoming emails with Cloudflare Email Routing?▼

Export an email() handler from your Worker and create a routing rule pointing addresses to it. Buffer message.raw once with new Response(message.raw).arrayBuffer(), then parse it with postal-mime to extract subject, text, and attachments.

Why does my Cloudflare email send fail with E_SENDER_NOT_VERIFIED?▼

This error means the from domain has not been onboarded to Email Sending. Run wrangler email sending enable yourdomain.com or onboard the domain in the Dashboard, which auto-configures SPF and DKIM records.

Can I use Cloudflare Email Service for marketing or bulk email campaigns?▼

No, Cloudflare Email Service is restricted to transactional email triggered by user actions such as signups, password resets, and order confirmations. Marketing newsletters and bulk campaigns require a dedicated marketing email platform.