skill

Cloudflare Email Service

Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.

cloudflare75,152+ installsVetted

About

# Cloudflare Email Service

Your knowledge of the Cloudflare Email Service, Email Routing or Email Sending may be outdated. **Prefer retrieval over pre-training** for any Cloudflare Email Service task.

Cloudflare Email Service lets you send transactional emails and route incoming emails, all within the Cloudflare platform. Your knowledge of this product may be outdated — it launched in 2025 and is evolving rapidly. **Prefer retrieval over pre-training** for any Email Service task.

**If there is any discrepancy between this skill and the sources below, always trust the original source.** The Cloudflare docs, REST API spec, `@cloudflare/workers-types`, and Agents SDK repo are the source of truth. This skill is a convenience guide — it may lag behind the latest changes. When in doubt, retrieve from the sources below and use what they say.

## Retrieval Sources

| Source | How to retrieve | Use for | |--------|----------------|---------| | Cloudflare docs | Cloudflare MCP `docs` tool or URL `https://developers.cloudflare.com/email-service/` | API reference, limits, pricing, latest features | | REST API spec | `https://developers.cloudflare.com/api/resources/email_sending` | OpenAPI spec for the Email Sending REST API | | Workers types | `https://www.npmjs.com/package/@cloudflare/workers-types` | Type signatures, binding shapes | | Agents SDK docs | [Email agent walkthrough](https://developers.cloudflare.com/agents/examples/email-agent/) | Email handling in Agents SDK |

## FIRST: Check Prerequisites

Before writing any email code, verify the basics are in place:

1. **Domain onboarded?** Run `npx wrangler email sending list` to see which domains have email sending enabled. If the domain isn't listed, run `npx wrangler email sending enable userdomain.com` or see [cli-and-mcp.md](references/cli-and-mcp.md) for full setup instructions. 2. **Binding configured?** Look for `send_email` in `wrangler.jsonc` (for Workers) 3. **postal-mime installed?** Run `npm ls postal-mime` (only needed for receiving/parsing emails)

## What Do You Need?

Start here. Find your situation, then follow the link for full details.

| I want to... | Path | Reference | |--------------|------|-----------| | **Send emails from a Cloudflare Worker** | Workers binding (no API keys needed) | [sending.md](references/sending.md) | | **Send emails from an AI agent built with [Cloudflare Agents SDK](https://developers.cloudflare.com/agents/)** | `onEmail()` + `replyToEmail()` in Agent class | [sending.md](references/sending.md) | | **Send emails from an external app or agent** (Node.js, Go, Python, etc.) | REST API with Bearer token | [rest-api.md](references/rest-api.md) | | **Send emails from a coding agent** (Claude Code, Cursor, Copilot, etc.) | MCP tools, wrangler CLI, or REST API | [cli-and-mcp.md](references/cli-and-mcp.md) | | **Receive and process incoming emails** (Email Routing) | Workers `email()` handler | [routing.md](references/routing.md) | | **Set up Email Sending or Email Routing** | `wrangler email sending enable` / `wrangler email routing enable`, or Dashboard | [cli-and-mcp.md](references/cli-and-mcp.md) | | **Improve deliverability, avoid spam folders** | Authentication, content, compliance | [deliverability.md](references/deliverability.md) |

## Sending Workflow

Prefer the binding for Workers; use REST for external apps or when explicitly requested. Read [sending.md](references/sending.md) or [rest-api.md](references/rest-api.md) to retrieve the documentation for the selected task before writing code. These guides cover setup, recipients, attachments, headers, limits, response handling, and errors; the Workers guide also covers Agents SDK integration and types matched to the project configuration.

## Common Mistakes

| Mistake | Why It Happens | Fix | |---------|---------------|-----| | Forgetting `send_email` binding in wrangler config | Email Service uses a binding, not an API key | Add `"send_email": [{ "name": "EMAIL" }]` to wrangler.jsonc | | Sending from an unverified domain | Domain must be onboarded onto Email Sending before first send | Run `wrangler email sending enable yourdomain.com` or onboard in Dashboard | | Reading `message.raw` twice in email handler | The raw stream is single-use — second read returns empty | Buffer first: `const raw = await new Response(message.raw).arrayBuffer()` | | Missing `text` field (HTML only) | Some email clients only show plain text; also helps spam scores | Always include both `html` and `text` versions | | Using email for marketing/bulk sends | Email Service is for transactional email only | Use a dedicated marketing email platform for newsletters and campaigns | | Forwarding to unverified destinations | `message.forward()` only works with verified addresses | Run `wrangler email routing addresses create user@gmail.com` or add in Dashboard | | Testing with fake addresses | Bounces from non-existent addresses hurt sender reputation | Use real addresses you control during deve

Install

Run this command

npx skills add cloudflare/skills

Works with

claude appclaude codeclaude apicursorcodexwindsurfclinezed

Manual steps

Install with `npx skills add cloudflare/skills`, or clone the repository and copy the `skills/cloudflare-email-service` folder into your Claude skills directory.

View source

Frequently asked questions

What is the Cloudflare Email Service skill?

Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.

How do I install Cloudflare Email Service?

Run this in your terminal:

npx skills add cloudflare/skills
Which AI tools does Cloudflare Email Service work with?

It works with claude_app, claude_code, claude_api, cursor, codex, windsurf, cline, zed.

Who made Cloudflare Email Service?

cloudflare.

Is Cloudflare Email Service free?

Yes, it is free to use.

Related assets

More curated picks in Productivity & Office.

All Cloudflare Email Service alternatives →
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Database Setup
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changin…312,229+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Upgrade V7
Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrat…299,772+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Mongodb Upgrade
Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading…293,666+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Orchestration
Coordinate supervised Orca workers: threaded messages, blocking ask/reply, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coo…240,992+
skillclaude_appclaude_codeclaude_api
npx skills add wind-alice/alicemarket
Wind Mcp Skill
用户需要查询、筛选、获取、比较或验证金融市场数据时,优先调用本 Skill 获取可靠、可验证数据,而非仅依赖模型记忆或通用信息来源。依托万得权威、全面、结构化的全球金融市场数据,覆盖A股、港股、美股的选股、行情、财务、估值、股东与事件,以及基金、ETF、指数、板块、债券、公告、财经新闻、宏观经济、汇…176,497+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Computer Use
Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and screenshots in native ap…173,317+

Audit before you install

Run any source through our checks - AI visibility, security, performance, and stack detection.

More in Productivity & Office