电子邮件:应用之核,开发者之痛
构建现代应用程序时,电子邮件扮演着核心角色。它用于用户注册验证、事件通知、账单发送,甚至作为 AI 工作流的输入或输出。然而,管理这些邮件服务对开发者而言往往是沉重负担——配置复杂、送达不稳定、维护耗时。开发者们亟需一个简单、可靠且深度集成的解决方案。
今天,Cloudflare 隆重宣布“电子邮件发送(Email Sending)”功能的私测版。这项新功能让您能直接从 Cloudflare Workers 发送事务性邮件。它与我们广受欢迎的“电子邮件路由(Email Routing)”产品相结合,共同构成了全新的 Cloudflare 电子邮件服务——一个为所有邮件需求打造的统一开发者平台。
Cloudflare 电子邮件服务汇聚了我们在电子邮件安全和路由方面的多年经验,并融入了强大开发者平台的能力。现在,发送邮件只需为 Worker 添加绑定并调用 send
方法即可:
export default {
async fetch(request, env, ctx) {
await env.SEND_EMAIL.send({
to: [{ email: "[email protected]" }],
from: { email: "[email protected]", name: "Your App" },
subject: "Hello World",
text: "Hello World!"
});
return new Response(`Successfully sent email!`);
},
};
卓越电子邮件,成就用户体验
电子邮件是用户体验的基石,是您与应用外用户保持沟通的关键。用户依赖邮件获取重置密码、购买收据、魔术登录链接等关键信息。邮件送达失败,即是应用体验的失败。
因此,确保邮件可靠、迅速地送达用户收件箱至关重要。一封迟到的“魔术链接”可能意味着失去一个用户,投递到垃圾邮件则会损害产品信任。Cloudflare 电子邮件服务正是为此聚焦于送达率和送达时间。
我们通过与 DNS 紧密集成,自动配置 SPF、DKIM 和 DMARC 等关键记录,确保邮件服务提供商能验证您的发送域名并信任您的邮件。作为全球服务,Cloudflare 电子邮件服务还能以低延迟将您的邮件送达世界各地,免去了您管理跨区域服务器的复杂性。
简单灵活,为开发者量身定制
将电子邮件视为应用程序核心,意味着在开发工作流的每个环节都需提供支持。Cloudflare 电子邮件服务作为 Cloudflare 技术栈的一部分,旨在让邮件开发如同编写 Worker 一般自然。
它解决了事务性邮件工作流的诸多痛点:
- 轻松启动:无需管理 API 密钥,通过
Email
绑定即可安全发送邮件,杜绝凭证泄露风险。 - 深度集成 Workers:利用 Workers 处理传入邮件,存储附件于 R2,或将任务添加到 Queues,实现邮件发送的异步处理。
wrangler
工具还支持本地模拟发送,方便测试用户旅程。 - 透明可观测性:生产环境中,清晰的跳出率和送达事件让您能快速追踪邮件状态。当用户报告邮件丢失时,能迅速调试,帮助用户解决问题。
电子邮件服务也能无缝融入现有应用。无论是从外部服务通过 REST API 或 SMTP 发送,还是沿用现有邮件框架(如 React Email)渲染 HTML 邮件,都可轻松与 Cloudflare 电子邮件服务结合。只需导入库、渲染模板,再传递给 send
方法即可。
import { render, pretty, toPlainText } from '@react-email/render';
import { SignupConfirmation } from './templates';
export default {
async fetch(request, env, ctx) {
// Convert React Email template to html
const html = await pretty(await render(<SignupConfirmation url="https://your-domain.com/confirmation-id"/>));
// Use the Email Sending binding to send emails
await env.SEND_EMAIL.send({
to: [{ email: "[email protected]" }],
from: { email: "[email protected]", name: "Welcome" },
subject: "Signup Confirmation",
html,
text: toPlainText(html)
});
return new Response(`Successfully sent email!`);
}
};
邮件路由与邮件发送:强强联手,闭环服务
发送邮件只是故事的一部分,应用程序常需接收和解析邮件以驱动强大工作流。结合“电子邮件发送”与现有的“电子邮件路由”功能,我们提供了端到端的全面解决方案。
电子邮件路由让您能在域名上创建自定义邮箱,并通过 Worker 编程处理传入邮件,实现诸多自动化:
- 智能邮件分析:借助 Workers AI 解析、总结甚至标记传入邮件,识别安全事件、早期 Bug 迹象,并生成自动化回复。
- 工单自动化:将发送到
[email protected]
的邮件自动转换为 JIRA 或 Linear 等系统中的支持工单。 - 财务处理:处理发送到
[email protected]
的发票,并将附件存储于 R2。
使用电子邮件路由,只需将 email
处理程序添加到 Worker 应用即可:
export default {
// Create an email handler to process emails delivered to your Worker
async email(message, env, ctx) {
// Classify incoming emails using Workers AI
const { score, label } = env.AI.run("@cf/huggingface/distilbert-sst-2-int8", { text: message.raw" })
env.PROCESSED_EMAILS.send({score, label, message});
},
};
结合入站路由与出站发送,您可在 Cloudflare 内部实现邮件处理的完全闭环。设想用户发送支持邮件,Worker 接收、解析、调用第三方 API 创建工单,随即通过电子邮件发送功能向用户发送包含工单号的确认。这就是统一电子邮件服务的强大魅力。
“电子邮件发送”功能将需要付费的 Workers 订阅,并按发送消息数量计费。我们仍在最终确定定价方案,届时会及时更新文档并通知用户。“电子邮件路由”现有限制不变。
展望未来:邮件驱动新时代
电子邮件在您的应用程序中至关重要,且将成为下一代 AI 智能体、后台任务及自动化工作流不可或缺的引擎。Cloudflare 电子邮件服务正是为这个新时代而生,并将于今年十一月提供私测版。
- 对“电子邮件发送”感兴趣?请加入等待列表。
- 希望立即处理入站邮件?现在即可开始使用电子邮件路由。它目前免费且可用,未来将整合进新的邮件发送 API。
我们很高兴能将电子邮件服务纳入开发者平台,并期待看到您如何通过它重新构想日益依赖电子邮件的用户体验!