cloudflare-email-service
Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
Skill by cloudflareOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/cloudflare-cloudflare-email-service
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud, productivity, email, backend-development
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cloudflare-email-service
What's inside
- Skill name
cloudflare-email-service- Description
- Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
- License
- Apache-2.0
- Instructions
- 70 lines in SKILL.md · view on GitHub
Files (6)
- SKILL.md
- cli-and-mcp.md · references/
- deliverability.md · references/
- rest-api.md · references/
- routing.md · references/
- sending.md · references/
SKILL.md (first lines)
# 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/index.md` | API reference, limits, pricing, latest features |
| REST API spec | `https://developers.cloudflare.com/api/resources/email_sending/index.md` | 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/index.md) | 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/index.md)** | `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 development |
| Hardcoding API tokens in source code | Tokens in code get committed and leaked | Use environment variables or Cloudflare secrets |
| Ignoring the `from` domain requirement | The `from` address must use a domain onboarded to Email Service | Verify the domain first, then send from `anything@that-domain.com` |
| Using `email` key in REST API `from` object | REST API uses `address` not `email` for `from` object | Use `{ "address": "...", "name": "..." }` for REST, `{ "email": "...", "name": "..." }` for Workers |
| Using `replyTo` in REST API | REST API uses snake_case field names | Use `reply_to` for REST API, `replyTo` for Workers binding |
## References
Read the reference that matches your situation. You don't need all of them.
- **[references/sending.md](references/sending.md)** — Documentation map for Workers binding, attachments, and Agents SDK email.
- **[references/rest-api.md](references/rest-api.md)** — Documentation map for HTTP sending, request schemas, responses, and errors.
- **[references/routing.md](references/routing.md)** — Inbound `email()` handler, forwarding, replying, parsing. For receiving emails.
- **[references/cli-and-mcp.md](references/cli-and-mcp.md)** — Domain setup, wrangler commands, MCP tools. For first-time setup.
- **[references/deliverability.md](references/deliverability.md)** — SPF/DKIM/DMARC, bounces, suppressions, best practices.
## Skill feedback
If the user reports that this skill gave incorrect or outdated guidance, or is missing information, read [references/skill-feedback.md](references/skill-feedback.md).From cloudflare/skills, Apache-2.0.
More from cloudflare/skills
- 0.844score
basin
cloudflareOfficial
Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.842score
workers-best-practices
cloudflareOfficial
Cloudflare Workers best practices for production applications.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.840score
turnstile-spin
cloudflareOfficial
Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.840score
sandbox-next
cloudflareOfficial
Build or maintain Cloudflare Sandbox apps on @cloudflare/sandbox@next (SDK 1.0 preview).
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.839score
cloudflare
cloudflareOfficial
Discover and choose Cloudflare products for apps, APIs, AI agents, storage, networking, and security.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.838score
nextjs-on-cloudflare
cloudflareOfficial
Build, migrate, and deploy Next.js apps on Cloudflare Workers with vinext.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.838score
cf-cli
cloudflareOfficial
Cloudflare's official cf CLI (beta) for the public Cloudflare API and Workers projects.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.837score
agents-sdk
cloudflareOfficial
Build, debug, or review Cloudflare Agents SDK applications using the agents package.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.837score
durable-objects
cloudflareOfficial
Build, debug, or review Cloudflare Durable Objects code for persistent state and coordination.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.834score
cloudflare-one
cloudflareOfficial
Design, configure, troubleshoot, or review Cloudflare One Zero Trust and SASE deployments.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.834score
sandbox-stable
cloudflareOfficial
Build or maintain Cloudflare Sandbox apps on the stable @cloudflare/sandbox package.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.834score
wrangler
cloudflareOfficial
Run or troubleshoot Wrangler CLI commands in projects that have a wrangler.jsonc, wrangler.json, or wrangler.toml file, including local development, Previews…
SkillAFreshness: A★ 3.2KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 3,164
- Forks
- 326
- Open issues
- 22
- Last commit (this folder)
- Oct 14, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/cloudflare/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.335score
cloudflare-email-service
nazzeDe
Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
SkillAFreshness: AClaude Code +9 - 0.325score
cloudflare-email-service
jpmoya
Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
SkillBFreshness: B★ 1Claude Code +9
More from cloudflare
- 0.844score
basin
cloudflareOfficial
Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.842score
workers-best-practices
cloudflareOfficial
Cloudflare Workers best practices for production applications.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.840score
sandbox-next
cloudflareOfficial
Build or maintain Cloudflare Sandbox apps on @cloudflare/sandbox@next (SDK 1.0 preview).
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.840score
turnstile-spin
cloudflareOfficial
Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.839score
cloudflare
cloudflareOfficial
Discover and choose Cloudflare products for apps, APIs, AI agents, storage, networking, and security.
SkillAFreshness: A★ 3.2KClaude Code +9 - 0.838score
cf-cli
cloudflareOfficial
Cloudflare's official cf CLI (beta) for the public Cloudflare API and Workers projects.
SkillAFreshness: A★ 3.2KClaude Code +9
Cite this page
cloudflare-email-service skill. Agent Mart. https://agentmart.dev/skills/cloudflare-cloudflare-email-service (last updated 2026-10-24)