Service Email Cloudflare
Votre connaissance du Service Email Cloudflare, Email Routing ou Email Sending peut être obsolète. Préférez la récupération à la pré-formation pour toute tâche du Service Email Cloudflare.
Le Service Email Cloudflare vous permet d'envoyer des emails transactionnels et d'acheminer les emails entrants, le tout sur la plateforme Cloudflare. Votre connaissance de ce produit peut être obsolète — il a été lancé en 2025 et évolue rapidement. Préférez la récupération à la pré-formation pour toute tâche du Service Email.
S'il y a une discordance entre cette compétence et les sources ci-dessous, faites toujours confiance à la source originale. La documentation Cloudflare, la spécification REST API, @cloudflare/workers-types, et le repo du SDK Agents sont la source de vérité. Cette compétence est un guide de commodité — elle peut accuser du retard par rapport aux derniers changements. En cas de doute, récupérez à partir des sources ci-dessous et utilisez ce qu'elles indiquent.
Sources de Récupération
| Source | Comment récupérer | Utiliser pour |
|---|---|---|
| Documentation Cloudflare | Outil de recherche cloudflare-docs ou URL https://developers.cloudflare.com/email-service/ |
Référence API, limites, tarification, dernières fonctionnalités |
| Spécification REST API | https://developers.cloudflare.com/api/resources/email_sending |
Spécification OpenAPI pour l'API REST Email Sending |
| Types Workers | https://www.npmjs.com/package/@cloudflare/workers-types |
Signatures de type, formes de liaison |
| Documentation SDK Agents | Récupérez docs/email.md depuis https://github.com/cloudflare/agents/tree/main/docs |
Gestion email dans le SDK Agents |
D'ABORD : Vérifier les Conditions Préalables
Avant d'écrire du code email, vérifiez que les bases sont en place :
- Domaine intégré ? Exécutez
npx wrangler email sending listpour voir quels domaines ont l'envoi d'email activé. Si le domaine n'est pas listé, exécuteznpx wrangler email sending enable userdomain.comou consultez cli-and-mcp.md pour les instructions complètes de configuration. - Liaison configurée ? Recherchez
send_emaildanswrangler.jsonc(pour Workers) - postal-mime installé ? Exécutez
npm ls postal-mime(nécessaire uniquement pour recevoir/analyser des emails)
De Quoi Avez-Vous Besoin ?
Commencez ici. Trouvez votre situation, puis suivez le lien pour les détails complets.
| Je veux... | Chemin | Référence |
|---|---|---|
| Envoyer des emails depuis un Cloudflare Worker | Liaison Workers (aucune clé API nécessaire) | sending.md |
| Envoyer des emails depuis un agent IA construit avec Cloudflare Agents SDK | onEmail() + replyToEmail() dans la classe Agent |
sending.md |
| Envoyer des emails depuis une application ou un agent externe (Node.js, Go, Python, etc.) | API REST avec jeton Bearer | rest-api.md |
| Envoyer des emails depuis un agent de codage (Claude Code, Cursor, Copilot, etc.) | Outils MCP, CLI wrangler, ou API REST | cli-and-mcp.md |
| Recevoir et traiter les emails entrants (Email Routing) | Gestionnaire email() Workers |
routing.md |
| Configurer Email Sending ou Email Routing | wrangler email sending enable / wrangler email routing enable, ou Dashboard |
cli-and-mcp.md |
| Améliorer la délivrabilité, éviter les dossiers indésirables | Authentification, contenu, conformité | deliverability.md |
Démarrage Rapide — Liaison Workers
Ajoutez la liaison à wrangler.jsonc, puis appelez env.EMAIL.send(). Le domaine from doit être intégré via npx wrangler email sending enable yourdomain.com.
// wrangler.jsonc
{ "send_email": [{ "name": "EMAIL" }] }
const response = await env.EMAIL.send({
to: "user@example.com",
from: { email: "welcome@yourdomain.com", name: "My App" },
subject: "Welcome!",
html: "<h1>Welcome!</h1>",
text: "Welcome!",
});
La liaison est recommandée pour Workers — aucune clé API nécessaire. Si un utilisateur demande spécifiquement l'API REST depuis Workers (par exemple, s'il a déjà un workflow de jeton API), cela fonctionne aussi — consultez rest-api.md.
Consultez sending.md pour l'API complète, les envois par lot, les pièces jointes, les en-têtes personnalisés, les liaisons restreintes, et l'intégration du SDK Agents.
Démarrage Rapide — API REST
Pour les applications en dehors de Workers, ou dans Workers si l'utilisateur le demande explicitement. Différences clés par rapport à la liaison Workers :
- Point d'accès :
POST https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send - L'objet
fromutiliseaddress(pasemail) :{ "address": "...", "name": "..." } replyToestreply_to(snake_case)- La réponse retourne
{ delivered: [], permanent_bounces: [], queued: [] }(pasmessageId)
Consultez rest-api.md pour les exemples curl, le format de réponse, et la gestion des erreurs.
Erreurs Courantes
| Erreur | Pourquoi Cela Arrive | Correction |
|---|---|---|
Oubli de la liaison send_email dans la configuration wrangler |
Email Service utilise une liaison, pas une clé API | Ajoutez "send_email": [{ "name": "EMAIL" }] à wrangler.jsonc |
| Envoi depuis un domaine non vérifié | Le domaine doit être intégré à Email Sending avant le premier envoi | Exécutez wrangler email sending enable yourdomain.com ou intégrez dans le Dashboard |
Lecture de message.raw deux fois dans le gestionnaire email |
Le flux raw est à usage unique — la deuxième lecture retourne vide | Mettez en mémoire d'abord : const raw = await new Response(message.raw).arrayBuffer() |
Champ text manquant (HTML seulement) |
Certains clients email n'affichent que du texte brut ; cela aide aussi les scores de spam | Incluez toujours les deux versions html et text |
| Utilisation d'email pour les envois marketing/en masse | Email Service est pour les emails transactionnels uniquement | Utilisez une plateforme email marketing dédiée pour les lettres d'information et les campagnes |
| Transfert vers des destinations non vérifiées | message.forward() ne fonctionne qu'avec des adresses vérifiées |
Exécutez wrangler email routing addresses create user@gmail.com ou ajoutez dans le Dashboard |
| Test avec des adresses fictives | Les rebonds d'adresses inexistantes endommagent la réputation de l'expéditeur | Utilisez des adresses réelles que vous contrôlez pendant le développement |
| Codage en dur des jetons API dans le code source | Les jetons dans le code sont commités et divulgués | Utilisez des variables d'environnement ou des secrets Cloudflare |
Ignorer l'exigence du domaine from |
L'adresse from doit utiliser un domaine intégré à Email Service |
Vérifiez d'abord le domaine, puis envoyez depuis anything@that-domain.com |
Utilisation de la clé email dans l'objet from de l'API REST |
L'API REST utilise address pas email pour l'objet from |
Utilisez { "address": "...", "name": "..." } pour REST, { "email": "...", "name": "..." } pour la liaison Workers |
Utilisation de replyTo dans l'API REST |
L'API REST utilise des noms de champs en snake_case | Utilisez reply_to pour l'API REST, replyTo pour la liaison Workers |
Références
Lisez la référence qui correspond à votre situation. Vous n'avez pas besoin de tous les documents.
- references/sending.md — API de liaison Workers, pièces jointes, email du SDK Agents. Pour Workers ou SDK Agents.
- references/rest-api.md — Point d'accès REST, exemples curl, gestion des erreurs. Pour les applications NON sur Workers.
- references/routing.md — Gestionnaire
email()entrant, transfert, réponse, analyse. Pour recevoir les emails. - references/cli-and-mcp.md — Configuration du domaine, commandes wrangler, outils MCP. Pour la configuration initiale.
- references/deliverability.md — SPF/DKIM/DMARC, rebonds, suppressions, bonnes pratiques.