---
title: Threaded replies now possible in Email Workers
description: You can now use Email Workers to send multiple replies to the same email thread.
image: https://edgetunnel-b2h.pages.dev/changelog-preview.png
---

> Documentation Index  
> Fetch the complete documentation index at: https://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/changelog/rss/index.xml) [ View RSS feeds ](https://edgetunnel-b2h.pages.dev/fundamentals/new-features/available-rss-feeds/) 

![hero image](https://edgetunnel-b2h.pages.dev/_astro/hero.CVYJHPAd_26AMqX.svg) 

[ ← Back to all posts ](https://edgetunnel-b2h.pages.dev/changelog/) 

## Threaded replies now possible in Email Workers

Mar 12, 2025 

[ Email Service ](https://edgetunnel-b2h.pages.dev/email-service/) 

We’re removing some of the restrictions in Email Routing so that AI Agents and task automation can better handle email workflows, including how Workers can [reply](https://edgetunnel-b2h.pages.dev/email-service/api/route-emails/email-handler/#reply-to-emails) to incoming emails.

It's now possible to keep a threaded email conversation with an [Email Worker](https://edgetunnel-b2h.pages.dev/email-service/api/route-emails/email-handler/) script as long as:

* The incoming email has to have valid [DMARC ↗](https://www.cloudflare.com/learning/dns/dns-records/dns-dmarc-record/).
* The email can only be replied to once in the same `EmailMessage` event.
* The recipient in the reply must match the incoming sender.
* The outgoing sender domain must match the same domain that received the email.
* Every time an email passes through Email Routing or another MTA, an entry is added to the `References` list. We stop accepting replies to emails with more than 100 `References` entries to prevent abuse or accidental loops.

Here's an example of a Worker responding to Emails using a Workers AI model:

**AI model responding to emails**

```ts
import PostalMime from "postal-mime";
import { createMimeMessage } from "mimetext";
import { EmailMessage } from "cloudflare:email";


export default {
  async email(message, env, ctx) {
    const email = await PostalMime.parse(message.raw);
    const res = await env.AI.run("@cf/meta/llama-2-7b-chat-fp16", {
      messages: [
        {
          role: "user",
          content: email.text ?? "",
        },
      ],
    });


    // message-id is generated by mimetext
    const response = createMimeMessage();
    response.setHeader("In-Reply-To", message.headers.get("Message-ID")!);
    response.setSender("agent@example.com");
    response.setRecipient(message.from);
    response.setSubject("Llama response");
    response.addMessage({
      contentType: "text/plain",
      data:
        res instanceof ReadableStream
          ? await new Response(res).text()
          : res.response!,
    });


    const replyMessage = new EmailMessage(
      "<email>",
      message.from,
      response.asRaw(),
    );
    await message.reply(replyMessage);
  },
} satisfies ExportedHandler<Env>;
```

See [Reply to emails from Workers](https://edgetunnel-b2h.pages.dev/email-service/api/route-emails/email-handler/#reply-to-emails) for more information.

```json
{"@context":"https://schema.org","@type":"BlogPosting","@id":"https://edgetunnel-b2h.pages.dev/changelog/post/2025-03-12-reply-limits/#page","headline":"Threaded replies now possible in Email Workers · Changelog","description":"You can now use Email Workers to send multiple replies to the same email thread.","url":"https://edgetunnel-b2h.pages.dev/changelog/post/2025-03-12-reply-limits/","inLanguage":"en","image":"https://edgetunnel-b2h.pages.dev/changelog-preview.png","dateModified":"2025-03-12","datePublished":"2025-03-12","publisher":{"@type":"Organization","name":"Cloudflare","url":"https://www.cloudflare.com/"},"isPartOf":{"@type":"WebSite","@id":"https://edgetunnel-b2h.pages.dev/#website","name":"Cloudflare Docs","url":"https://edgetunnel-b2h.pages.dev/"}}
```
