UStackUStack
Cloudflare Email Service icon

Cloudflare Email Service

Cloudflare Email Service 公测上线,帮助开发者构建可发送、接收与处理邮件的“邮件原生”代理与应用。

Cloudflare Email Service

什么是 Cloudflare Email Service?

Cloudflare Email Service 是用于构建邮件原生代理和应用的底层基础设施。它让代理可以使用 Cloudflare 开发者平台组件发送、接收和处理邮件,从而将收件箱作为接口,而非创建单独渠道或自定义集成。

该服务设计用于与 Cloudflare Agents SDK 和 onEmail 风格的代理钩子配合使用。结合用于入站消息的 Email Routing 和用于出站回复/通知的 Email Sending,开发者可在同一 Cloudflare 环境中实现双向邮件工作流。

主要功能

  • Email Routing(入站邮件至您的应用/代理):接收邮件并路由至您的应用或代理进行处理,实现基于收件箱的交互模式。
  • Email Sending(出站事务性邮件):从您的代理/应用向用户发送回复或通知,通过异步工作触发的消息交付。
  • Workers 的 Email Sending 绑定(公测):直接从 Workers 使用原生 env.EMAIL.send(...) 绑定发送邮件——无需 API 密钥或密钥管理。
  • Email Sending 的 REST API + SDK:通过 Cloudflare REST API 从任何平台或语言发送邮件,支持 TypeScript、Python 和 Go SDK。
  • 自动域名认证配置(SPF/DKIM/DMARC):将域名添加到 Email Service 时,Cloudflare 会配置 SPF、DKIM 和 DMARC,确保消息经过认证并交付,而非手动设置。
  • 基于 Cloudflare 网络的全球交付:Email Service 是构建在 Cloudflare 网络上的全球服务,实现全球低延迟交付。
  • Email Routing + Email Sending 的完整双向工作流:接收邮件、在 Worker 中处理,然后无需离开 Cloudflare 即可回复。

如何使用 Cloudflare Email Service

  1. 从 Email Routing 开始处理入站消息:通过 Agents SDK 的 onEmail 钩子设置您的代理接收邮件(专为入站邮件设计)。
  2. 使用 Email Sending 异步回复:公测期间,添加 Email Sending 以使您的代理在处理完工作后发送出站邮件回复或通知。
  3. 使用原生绑定从 Workers 发送:在 Worker 中调用 env.EMAIL.send,传入 tofromsubject 和邮件正文内容(源代码示例使用 text)。
  4. 或者通过 REST API 和 SDK 发送:使用 Cloudflare Email Service 发送端点进行服务器端或跨平台邮件发送,支持语言 SDK(TypeScript、Python、Go)。
  5. 添加并认证您的发送域名:在 Email Service 中配置域名,让 Cloudflare 自动设置 SPF、DKIM 和 DMARC。

使用场景

  • 客户支持代理收件箱工作流:使用 Email Routing 接收客户消息,在代理/Worker 中处理邮件时持久化票据数据,并在后台任务完成后发送异步回复。
  • 发票处理和用户通知:构建发票管道,接收入站邮件(例如文档或请求),并在工作完成后向用户发送状态或“已完成”通知。
  • 账户验证流程:实现以邮件为主的用户交互渠道,包括从代理逻辑发送验证相关消息。
  • 多代理工作流中的升级和跟进:跨系统协调工作、调度跟进邮件,并在检测到条件时通过出站邮件升级边缘情况。
  • 无需新客户端 UI 的多渠道代理扩展:当用户已检查邮件时,通过收件箱暴露代理,而非为每个渠道构建自定义聊天界面。

常见问题

  • Email Service 仅适用于 Agents 吗?

    否。源描述将 Email Service 视为开发者平台层的一部分,在公测期间可让应用和代理发送邮件。

  • 如何接收用户的邮件?

    源指向 Email Routing,用于将邮件接收到您的应用或代理中,可与 Cloudflare 上的代理处理配合使用。

  • 代理在长时间运行或异步工作后能否发送邮件?

    是的。源将聊天机器人式的同步回复与代理行为进行对比,后者可随时间处理工作,然后使用 Email Sending 异步响应。

  • 我需要手动管理 SPF、DKIM 和 DMARC 记录吗?

    源表示,当您将域名添加到 Email Service 时,Cloudflare 会自动配置 SPF、DKIM 和 DMARC。

  • 如何从 Worker 发送邮件?

    使用源中描述的原生 Workers 绑定:env.EMAIL.send({ to, from, subject, text })

替代方案

  • 使用外部邮件提供商构建自定义邮件集成:如果您更喜欢自行管理发送,可以使用第三方邮件 API 并通过自己的路由处理入站邮件,但您需要在 Cloudflare 的路由/发送层之外构建更多端到端工作流。

  • 使用专用的邮件解析/路由服务结合独立的代理后端:代替 Cloudflare 集成的 Email Routing + Email Sending,您可以通过其他提供商路由入站邮件,并让后端生成出站邮件。

  • 使用聊天或工单界面代替邮件原生工作流:对于注重实时交互的团队,聊天/工单系统可取代邮件作为主要界面,但您将失去源中描述的收件箱体验。

  • 仅实现出站事务性邮件(无入站路由):如果您仅需通知,可以使用出站邮件 API,而无需构建双向接收-回复工作流。