---
title: Email Service Changelog
image: https://developers.cloudflare.com/cf-twitter-card.png
---

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/changelog/llms.txt  
> Use this file to discover all available pages before exploring further.

[Skip to content](#%5Ftop) 

# Changelog

New updates and improvements at Cloudflare.

[ Subscribe to RSS ](https://developers.cloudflare.com/changelog/rss/index.xml) [ View RSS feeds ](https://developers.cloudflare.com/fundamentals/new-features/available-rss-feeds/) 

Email Service

![hero image](https://developers.cloudflare.com/_astro/hero.CVYJHPAd_26AMqX.svg) 

Apr 16, 2026
1. ### [Email Sending now in public beta](https://developers.cloudflare.com/changelog/post/2026-04-16-email-sending-public-beta/)  
[ Email Service ](https://developers.cloudflare.com/email-service/)  
**[Email Sending](https://developers.cloudflare.com/email-service/api/send-emails/)** is now in public beta. Send transactional emails directly from Workers (`env.EMAIL.send()`) or the REST API, with support for HTML, plain text, attachments, inline images, and custom headers. Email Sending joins [Email Routing ↗](https://blog.cloudflare.com/introducing-email-routing/) under the new **Cloudflare Email Service** — a single service for sending and receiving email on the Cloudflare developer platform.  
Send an email from a Worker in a few lines of code:  
   * [  JavaScript ](#tab-panel-1464)  
   * [  TypeScript ](#tab-panel-1465)  
src/index.js  
```  
export default {  
  async fetch(request, env) {  
    const response = await env.EMAIL.send({  
      from: "notifications@yourdomain.com",  
      to: "user@example.com",  
      subject: "Order confirmed",  
      html: "<h1>Your order has been confirmed</h1>",  
      text: "Your order has been confirmed.",  
    });  
    return Response.json({ messageId: response.messageId });  
  },  
};  
```  
src/index.ts  
```  
export default {  
  async fetch(request, env): Promise<Response> {  
    const response = await env.EMAIL.send({  
      from: "notifications@yourdomain.com",  
      to: "user@example.com",  
      subject: "Order confirmed",  
      html: "<h1>Your order has been confirmed</h1>",  
      text: "Your order has been confirmed.",  
    });  
    return Response.json({ messageId: response.messageId });  
  },  
} satisfies ExportedHandler<Env>;  
```  
Email Service also integrates with the [Agents SDK](https://developers.cloudflare.com/agents/), giving your agents a native `onEmail` hook to receive, process, and reply to emails. Combined with the new [Email MCP server ↗](https://github.com/cloudflare/mcp-server-cloudflare) and Wrangler CLI email commands, any agent can send email regardless of where it runs.  
Start sending and receiving emails from Workers and agents today. Email Sending is available on the Workers paid plan. Refer to the [Email Service documentation](https://developers.cloudflare.com/email-service/) to get started.