Yuva Email Worker pour Cloudflare
Courriel de support via Cloudflare.Aucun serveur de messagerie à gérer.
Cloudflare® Email Routing reçoit le courrier de vos adresses de support, et le Yuva Email Worker open source remet chaque message à Yuva, signé. Il arrive dans votre boîte partagée sous forme de conversation à laquelle votre équipe répond.
Ce que c'est
Email Routing en première ligne
Cloudflare Email Routing devient le MX de votre domaine et reçoit le courrier. Yuva n'écoute pas SMTP : il n'y a donc aucun serveur de messagerie à installer ni à maintenir à jour.
Un petit Worker open source
Le Yuva Email Worker lit le message brut et l'enveloppe, signe la requête et l'envoie à Yuva. L'analyse, le regroupement en fils et les décisions anti-spam restent sur le serveur.
De vraies conversations
Un courriel envoyé à une adresse de support ouvre ou poursuit une conversation dans la boîte, et l'équipe répond depuis le même panneau que pour le chat et les messages de l'app.
Comment un message va du client à votre équipe
- 1Un client écrit à l'une de vos adresses de support, par exemple support@example.com.
- 2Cloudflare Email Routing reçoit le message et le transmet au Yuva Email Worker.
- 3Le Worker signe le message brut, les deux adresses de l'enveloppe et un horodatage avec HMAC-SHA256 sous un secret que vous partagez avec Yuva, puis les envoie à /ingress/email sur votre serveur Yuva.
- 4Yuva vérifie la signature et que l'horodatage est dans une fenêtre de 5 minutes avant de lire le message. Une requête à la signature erronée est refusée.
- 5Yuva trouve le canal courriel de l'adresse du destinataire et rattache le message, grâce à In-Reply-To et References, à la conversation à laquelle il appartient. Tout le reste ouvre une nouvelle conversation. Une réponse rouvre la conversation.
- 6Votre équipe répond dans le panneau. La réponse part par le compte SMTP propre au canal courriel, comme Amazon SES, Postmark ou votre propre relais, depuis la même adresse et dans le même fil. Les réponses ne passent pas par le Worker.
Les refus parviennent à l'expéditeur
Quand Yuva refuse définitivement un message, par exemple pour une adresse inconnue, un expéditeur bloqué ou un message trop volumineux, le Worker le rejette et l'expéditeur reçoit une erreur SMTP permanente avec le motif de Yuva.
Si Yuva est injoignable
Si Yuva répond par une erreur serveur, ne répond pas en 20 secondes ou est injoignable, le Worker peut transférer le message à une adresse de votre choix, à condition que vous définissiez FALLBACK_FORWARD. Cette adresse doit être une destination vérifiée dans Email Routing. Le message arrive alors comme un simple transfert et n'apparaît pas dans Yuva. Sans FALLBACK_FORWARD, la remise échoue avec une erreur et le serveur expéditeur peut réessayer plus tard.
Configurez-le en quelques étapes
Il vous faut un serveur Yuva et un compte Cloudflare qui gère le domaine.
- 1
Dans Yuva, ouvrez Réglages → votre boîte → Canaux → Courriel et ajoutez l'adresse de support. Définissez un secret sur le serveur et redémarrez-le :
YUVA_INGRESS_SECRET=<openssl rand -hex 32> YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
- 2
Déployez le Worker sur votre compte Cloudflare, avec le même secret :
cd edge bun install bunx wrangler login bunx wrangler secret put INGRESS_SECRET bunx wrangler deploy --var YUVA_URL:https://support.example.com
- 3
Dans le tableau de bord Cloudflare, ouvrez votre domaine → Email → Email Routing et activez-le. Cloudflare ajoute ses enregistrements MX et SPF.
- 4
Sous Routing rules, envoyez chaque adresse de support vers le Worker yuva-edge. Pour un canal fourre-tout, faites pointer la règle fourre-tout vers lui.
- 5
Envoyez un message de test et regardez la conversation apparaître dans le panneau.
- 6
Facultatif : conservez le courrier pendant une panne en ajoutant une adresse de repli à la commande de déploiement :
bunx wrangler deploy --var YUVA_URL:https://support.example.com --var FALLBACK_FORWARD:you@example.org
Email Routing devient le MX du domaine : utilisez donc un domaine ou un sous-domaine qu'aucun autre serveur de messagerie ne traite.
Lire le guide d'installation →Pas lié à Cloudflare
Le Worker est une façon d'appeler /ingress/email. N'importe quel serveur de messagerie ou relais peut envoyer le message brut avec les mêmes en-têtes signés, et un serveur de messagerie qui délivre à une commande peut transmettre le message à yuva ingest-email par un tube. Le format de la requête est documenté dans le README du Worker.
Questions et réponses
Dois-je gérer un serveur de messagerie ?
Pas pour le courrier entrant. Yuva n'écoute pas SMTP ; Cloudflare Email Routing reçoit le courrier et le Worker le transmet. Les réponses nécessitent un compte SMTP pour le canal courriel, comme Amazon SES, Postmark ou votre propre relais.
Que se passe-t-il quand Yuva est en panne ?
Avec FALLBACK_FORWARD défini, le message est transféré à cette adresse à la place. Sans lui, la remise échoue et le serveur expéditeur peut réessayer. Les messages que Yuva refuse volontairement, comme le courrier vers une adresse inconnue, sont rejetés et non transférés.
Quels domaines et adresses puis-je utiliser ?
Tout domaine que vous gérez dans Cloudflare et dont aucun autre serveur ne traite le courrier, car Email Routing en devient le MX. Chaque canal courriel a une adresse, ou l'adresse fourre-tout *@example.com pour toutes les adresses du domaine qu'aucun canal ne possède exactement. Une sous-adresse comme support+billing@example.com arrive dans le canal de support@example.com.
Quelle taille peut avoir un message ?
Un message peut peser jusqu'à 25 Mo pièces jointes comprises, ce qui est la limite de Cloudflare Email Routing. Yuva conserve jusqu'à 50 pièces jointes par message, chacune dans la limite de taille des pièces jointes du serveur (25 Mo par défaut) et parmi les types autorisés ; il ignore le reste.
Quelqu'un peut-il falsifier du courrier vers mon serveur Yuva ?
Yuva refuse toute requête sans signature HMAC valide ou dont l'horodatage s'écarte de plus de 5 minutes, avant de lire le corps. Gardez le secret pour vous.
Yuva utilise-t-il le résultat DMARC de Cloudflare ?
Oui, quand vous définissez YUVA_INGRESS_AUTHSERV_ID sur mx.cloudflare.net. Yuva lit alors le verdict DMARC qu'ajoute Email Routing. Une nouvelle conversation qui échoue à DMARC est marquée comme spam.
Cloudflare, le logo Cloudflare et Cloudflare Workers sont des marques et/ou des marques déposées de Cloudflare, Inc. aux États-Unis et dans d'autres juridictions. Yuva est un projet open source indépendant, ni affilié à Cloudflare ni approuvé par elle.