Cloudflare正式宣布其电子邮件发送功能的私有测试版正式推出,此功能支持直接通过Cloudflare Workers发送交易类邮件,还能够和Cloudflare热门的电子邮件路由产品Email Routing相互配合、拓展功能,共同组成了全新的Cloudflare电子邮件服务。
Cloudflare电子邮件服务整合了多年来在邮件保护和路由方面积累的经验,结合开发者平台,现在通过Cloudflare发送邮件就像给Workers添加绑定、调用send方法一样简单:
export default {
async fetch(request, env, ctx) {await env.SEND_EMAIL.send({
to: [{ email: “hello@example.com” }],
from: { email: “api-sender@your-domain.com”, name: “Your App” },
subject: “Hello World”,
text: “Hello World!”
});return new Response(`Successfully sent email!`);
},
};
Cloudflare在电子邮件服务上着重优化了邮件的送达率和及时性,和DNS深度集成,自动配置好SPF、DKIM、DMARC这些必要的DNS记录。如此一来邮件服务商就能验证用户的发件域名,从而信任你的邮件。
Cloudflare电子邮件服务也是全球性的,因此能以低延迟的方式在全球范围内发送邮件,不用费心去管理跨地区服务器的复杂问题。
既然把邮件当成应用的核心部分,那就要围绕开发流程的每个环节来打造服务。Cloudflare电子邮件服务是Cloudflare技术栈的一部分,开发邮件功能时会觉得和写Workers一样自然。
具体来说,Cloudflare解决了事务性邮件工作流中的各个问题:
1、不用管理API密钥和密钥,在wrangler.jsonc里配置好Email绑定就能安全发送邮件,完全不用担心凭证泄露的风险。
2、可以用Workers处理邮件:把附件存在R2里,把发送任务加到队列中,这样就能避免应用流程出现瓶颈。而且还能通过wrangler在本地模拟发送邮件,测试用户流程时不用在各种工具和环境之间来回切换。
3、支持通过退信率和送达事件清楚地查看邮件状态,能快速查到送达情况,调试问题,帮用户重新走通流程。
Cloudflare还确保电子邮件服务能无缝融入你现有的应用。如果需要从外部服务发邮件,可以用REST API或SMTP协议。如果一直依赖React Email这类邮件框架来发送带HTML格式的丰富邮件,也能继续用导入库、渲染模板,然后像在其他地方一样把内容传给发送方法。
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: “hello@example.com” }],
from: { email: “api-sender@your-domain.com”, name: “Welcome” },
subject: “Signup Confirmation”,
html,
text: toPlainText(html)
});return new Response(`Successfully sent email!`);
}
};
电子邮件路由和电子邮件发送搭配使用:
发送邮件只是Cloudflare电子邮件服务其中一半功能,应用通常还需要接收和解析邮件,才能搭建强大的工作流。把电子邮件发送功能和已有的电子邮件路由功能(Email Routing)结合起来后,Cloudflare还能够提供覆盖应用所有邮件需求的端到端解决方案。
Cloudflare电子邮件路由支持在自己的域名下创建自定义邮箱地址,通过Workers以编程方式处理收到的邮件,从而实现强大的应用流程,比如:
1、用Workers AI解析、总结收到的邮件,给邮件打标签,比如识别客户发来的安全事件通知、早期错误或事件迹象,还能根据这些内容生成自动回复。
2、把发送到support@your-domain.com的邮件转换成JIRA或Linear里的支持工单。
3、处理发送到invoices@your-domain.com的邮件,并把附件存在R2里。
使用电子邮件路由时只需在Workers应用里添加email处理函数,就能按需处理邮件:
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电子邮件发送功能需要订阅Workers付费套餐,Cloudflare 会根据发送的邮件数量收费。目前Cloudflare还在完善相关方案,确定最终定价后会立即更新文档和更新日志,并在开始收费前通知所有用户。
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

微信扫码加好友进群
主机优惠码及时掌握

QQ群号:938255063
主机优惠发布与交流