---
title: Email Sending now in public beta
description: Send transactional emails at scale directly from Cloudflare Workers or the REST API. Email Sending joins Email Routing under the new Cloudflare Email Service.
image: https://developers.cloudflare.com/changelog-preview.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/) 

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

[ ← Back to all posts ](https://developers.cloudflare.com/changelog/) 

## Email Sending now in public beta

Apr 16, 2026 

[ 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-1008)
* [  TypeScript ](#tab-panel-1009)

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.