THE MEDIA FOR AI THAT ACTUALLY HELPS.French edition · Understand & take action
The interface is in English. Use cases, skills and articles remain in French.
Cloudflare

Envoi et routage d’e-mails Cloudflare

cloudflare-email-service

En bref

La skill implémente ou dépannage l’envoi et le routage d’e-mails Cloudflare, ainsi que leur configuration de délivrance. Les connaissances entraînées peuvent être périmées : on privilégie la documentation et les références du skill. Pour recevoir et traiter un message entrant, on s’appuie sur le gestionnaire email() d’un Worker (routage). Pour activer l’envoi ou le routage, wrangler email sending enable ou wrangler email routing enable, ou le tableau de bord. message.forward() ne fonctionne que vers des adresses déjà vérifiées : sinon, on crée l’adresse avec wrangler email routing addresses create, ou dans le tableau de bord. Un contrôle des prérequis précède le flux d’envoi. Ce n’est pas une skill Workers générique, ni Turnstile.

Ce que ça fait

  • Sépare clairement l’envoi sortant et le routage entrant (gestionnaire email()).
  • Refuse de transférer vers une destination non vérifiée, et indique comment l’ajouter.
  • S’appuie sur les références (routage, CLI et MCP) plutôt que sur une mémoire d’API.
  • Vérifie d’abord les prérequis de l’account avant d’écrire du code d’envoi.

Pour qui, et un exemple

Équipes qui doivent envoyer ou recevoir du courrier via Cloudflare, depuis un Worker, avec une délivrance correctement configurée.

Exemple de demande : Un Worker doit transférer les messages d’un support : on vérifie l’adresse, on l’ajoute si besoin, on pose le gestionnaire email(), et l’on n’utilise message.forward() que vers une destination déjà vérifiée.

Quand on met en place ou que l’on dépannage Cloudflare Email Sending ou Email Routing, et leur configuration de délivrance. Exemple rédigé par iadujour.fr à partir du SKILL.md, non testé.

Installer

Dans Claude Code : /plugin marketplace add cloudflare/skills puis /plugin install cloudflare@cloudflare ; ou npx skills add https://github.com/cloudflare/skills.

/plugin marketplace add cloudflare/skills
/plugin install cloudflare@cloudflare
npx skills add https://github.com/cloudflare/skills

Fonctionne avec

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot (VS Code)
  • OpenCode
  • Pi

Source : Procédures d’installation documentées dans le README pour chacun de ces outils.

Niveau : Intermédiaire

Suppose un compte Cloudflare, Node.js et la CLI Wrangler ou cf.

Extrait du SKILL.md

La description d’origine, celle que l’agent lit pour décider de charger la skill (en anglais) :

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

Citée depuis le SKILL.md au commit cbf893b . Le dossier contient aussi 6 fichiers annexes (references/).

Le SKILL.md compte 78 lignes et 7 sections principales :

  • Retrieval Sources
  • FIRST: Check Prerequisites
  • What Do You Need?
  • Sending Workflow
  • Common Mistakes
  • References
  • Skill feedback

Licence : Apache 2.0

Vérifiée le 10 novembre 2026 sur : fichier LICENSE du dépôt .

La licence autorise la reprise : le texte intégral du SKILL.md est reproduit ci-dessous, sans modification, avec sa mention de licence.

Texte intégral du SKILL.md

Reproduit sans modification depuis cloudflare/skills (commit cbf893b) , © Cloudflare, sous licence Apache 2.0 (fichier de licence d’origine ).

Afficher le SKILL.md original (78 lignes, en anglais)
---
name: cloudflare-email-service
description: Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
---

# 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).
Source. Fiche rédigée par iadujour.fr à partir de : Frontmatter, sections et corps du SKILL.md, README du dépôt. Consultée le 10 novembre 2026. Dépôt : cloudflare/skills .

Dans l’annuaire

Cas d’usage et guides qui partagent un thème, un métier ou un outil avec cette skill.

MÊME ÉDITEUR

Autres skills Cloudflare : DevOps et déploiement

Toute la catégorie
CloudflareDevOps et déploiement

Déployer un framework web sur Workers

frameworks-on-cloudflare

La skill construit, migre et déploie une application de framework web sur Cloudflare Workers (Astro, SvelteKit, React Router, TanStack Start, Nuxt, Hono, ou une SPA React ou Vue), ou lorsque le dépôt contient déjà une configuration de déploiement Workers.

Outils : Claude Code, Codex, Cursor +3Niveau : Intermédiairemàj 06/11/2026
CloudflareDevOps et déploiement

Utiliser la CLI cf de Cloudflare (bêta)

cf-cli

Aide à trouver et lancer les commandes de la CLI officielle cf (en bêta) pour l’API publique de Cloudflare et les projets Workers : connexion, recherche de commandes, déploiement, DNS, zones, D1, KV, R2 ; et à choisir entre cf et Wrangler.

Bêta
Outils : Claude Code, Codex, Cursor +3Niveau : Intermédiairemàj 30/10/2026
CloudflareDevOps et déploiement

Next.js sur Cloudflare Workers avec vinext

nextjs-on-cloudflare

La skill construit, migre et déploie une application Next.js sur Cloudflare Workers avec vinext.

Outils : Claude Code, Codex, Cursor +3Niveau : Intermédiairemàj 27/10/2026
ÉCHANGES

Commentaires.

Un retour d’expérience, une question, une précision sur cette skill ? Les commentaires sont relus avant publication.

Commentaires publiés

Chargement des commentaires…

    Laisser un commentaire

    Charte de modération. Chaque commentaire est relu avant publication. Sont refusés : l’incitation à la haine, les propos injurieux ou discriminatoires, la publicité, le spam et les liens promotionnels, le hors-sujet et les données personnelles d’autrui.