All Topics
All Topics
Technology
Technology
AI
AI
Business
Business
Entertainment
Entertainment
News
News
Programming
Programming
Security
Security
Science
Science
Design
Design
Environment
Environment
Finance
Finance
Crypto
Crypto
Politics
Politics
Sports
Sports
Education
Education
Gaming
Gaming
Art
Art
Music
Music
Health
Health
Books
Books
Food
Food
Travel
Travel
Personal
Personal
Bluesky
Twitter

Email Service - Local development support for Email Workers

1y ago

Source

CloudflareEmail Service - Local development support for Email Workerscloudflare.com
Snippet from the RSS feed
Email Workers enables developers to programmatically take action on anything that hits their email inbox. If you're building with Email Workers, you can now test the behavior of an Email Worker script, receiving, replying and sending emails in your local environment using wrangler dev . Below is an example that shows you how you can receive messages using the email() handler and parse them using postal-mime : import * as PostalMime from "postal-mime" ; export default { async email ( message , env , ctx ) { const parser = new PostalMime . default () ; const rawEmail = new Response ( message . raw ) ; const email = await parser . parse ( await rawEmail . arrayBuffer ()) ; console . log ( email ) ; }, }; Now when you run npx wrangler dev , wrangler will expose a local /cdn-cgi/handler/email endpoint that you can POST email messages to and trigger your Worker's email() handler: curl -X POST ' \ --url-query '[email protected]' \ --url-query '[email protected]' \ --header 'Content-Type: application/json' \ --data-raw 'Received: from smtp.example.com (127.0.0.1) by cloudflare-email.com (unknown) id 4fwwffRXOpyR for ; Tue, 27 Aug 2024 15:50:20 +0000 From: "John" Reply-To: [email protected] To: [email protected] Subject: Testing Email Workers Local Dev Content-Type: text/html; charset="windows-1252" X-Mailer: Curl Date: Tue, 27 Aug 2024 08:49:44 -0700 Message-ID: <6114391943504294873000@ZSH-GHOSTTY> Hi there' This is what you get in the console: { " headers " : [ { " key " : "received" , " value " : "from smtp.example.com (127.0.0.1) by cloudflare-email.com (unknown) id 4fwwffRXOpyR for ; Tue, 27 Aug 2024 15:50:20 +0000" }, { " key " : "from" , " value " : " \" John \" " }, { " key " : "reply-to" , " value " : "[email protected]" }, { " key " : "to" , " value " : "[email protected]" }, { " key " : "subject" , " value " : "Testing Email Workers Local Dev" }, { " key " : "content-type" , " value " : "text/html; charset= \" windows-1252 \" " }, { " key " : "x-mailer" , " value " : "Curl" }, { " key " : "date" , " value " : "Tue, 27 Aug 2024 08:49:44 -0700" }, { " key " : "message-id" , " value " : "<6114391943504294873000@ZSH-GHOSTTY>" } ], " from " : { " address " : "[email protected]" , " name " : "John" }, " to " : [{ " address " : "[email protected]" , " name " : "" }], " replyTo " : [{ " address " : "[email protected]" , " name " : "" }], " subject " : "Testing Email Workers Local Dev" , " messageId " : "<6114391943504294873000@ZSH-GHOSTTY>" , " date " : "2024-08-27T15:49:44.000Z" , " html " : "Hi there \n " , " attachments " : [] } Local development is a critical part of the development flow, and also works for sending, replying and forwarding emails. See our documentation for more information.

You might also wanna read

Comments

Sign in to join the conversation.

No comments yet. Be the first.