发送事务性邮件,并将传入邮件路由到 Workers 或电子邮件地址
Cloudflare Email Service 提供强大的电子邮件功能:
- Email Sending(电子邮件发送) Beta 用于出站事务性邮件
Available on Workers Paid plan
- Email Routing(电子邮件路由) 用于通过 Workers 处理传入邮件,或路由到电子邮件地址
Available on Free and Paid plans
这两项功能结合使用,可让你的应用程序收发电子邮件。例如,你可以将 Email Service 用于:
- 事务性邮件(欢迎消息、密码重置、订单确认)
- 身份验证流程(magic link、电子邮件验证、双因素身份验证)
- 通知和告警
- 自定义电子邮件地址(support@、contact@、orders@)
- 将电子邮件作为代理(agent)的交互方式,例如发送电子邮件以在工单跟踪系统中创建问题
可直接通过 Cloudflare Workers 的绑定(binding)、任何平台上的 REST API,或经过身份验证的 SMTP 访问 Email Service:
使用 EMAIL 绑定发送邮件,并在 src/index.ts 中使用 email() 处理程序处理传入邮件:
interface Env {
EMAIL: SendEmail;
}
export default {
// Handle HTTP requests (Email Sending)
async fetch(request, env, ctx): Promise<Response> {
// Send a welcome email
await env.EMAIL.send({
to: "[email protected]",
from: "[email protected]",
subject: "Welcome to our service!",
html: "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
text: "Welcome! Thanks for signing up.",
});
return new Response("Email sent successfully");
},
// Handle incoming emails (Email Routing)
async email(message, env, ctx): Promise<void> {
// Forward to support team
if (message.to.includes("[email protected]")) {
await message.forward("[email protected]");
}
// Send auto-reply
await env.EMAIL.send({
to: message.from,
from: "[email protected]",
subject: "We received your message",
html: "<h1>Thank you!</h1><p>We'll get back to you soon.</p>",
});
},
} satisfies ExportedHandler<Env>;将绑定添加到你的 Wrangler 配置文件:
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "<ENTER_WORKER_NAME>",
"main": "src/index.ts",
"compatibility_date": "$today",
// Email sending
"send_email": [
{
"name": "EMAIL"
}
],
// Email routing
"email": [
{
"name": "EMAIL_HANDLER"
}
]
}curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"to": "[email protected]",
"from": "[email protected]",
"subject": "Welcome to our service!",
"html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"text": "Welcome! Thanks for signing up."
}'cat > mail.txt <<EOF
From: [email protected]
To: [email protected]
Subject: Welcome to our service!
Thanks for signing up.
EOF
curl --ssl-reqd \
--url "smtps://smtp.mx.cloudflare.net:465" \
--user "api_token:<API_TOKEN>" \
--mail-from "[email protected]" \
--mail-rcpt "[email protected]" \
--upload-file mail.txt有关 REST API、Workers 绑定和 SMTP 的完整说明,请参阅 API 参考。
快速入门Email Sending
发送具有高送达率和全球性能的事务性邮件。
Email Routing
将传入邮件路由到自定义地址、Workers 或外部目标。
Deliverability
自动 IP 信誉管理与送达率优化。
Analytics & Observability
通过全面的指标和告警监控电子邮件表现。
API
使用 REST API、Workers 绑定 或 SMTP 发送和路由邮件。
Workers
构建可从边缘直接发送电子邮件的无服务器应用程序。
Queues
通过 Workers Queues 集成异步处理电子邮件事件。
Analytics Engine
使用 Workers Analytics Engine 存储和分析自定义电子邮件指标。