跳转到内容
搜索文档

Cloudflare Email Service

最后更新 查看 MarkdownAgent 设置

发送事务性邮件,并将传入邮件路由到 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: "user@example.com",
			from: "welcome@yourdomain.com",
			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("support@yourdomain.com")) {
			await message.forward("team@yourdomain.com");
		}

		// Send auto-reply
		await env.EMAIL.send({
			to: message.from,
			from: "noreply@yourdomain.com",
			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": "user@example.com",
    "from": "welcome@yourdomain.com",
    "subject": "Welcome to our service!",
    "html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
    "text": "Welcome! Thanks for signing up."
  }'

Cloudflare 还为 REST API 提供官方 SDK:NodePythonGo

cat > mail.txt <<EOF
From: welcome@yourdomain.com
To: user@example.com
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 "welcome@yourdomain.com" \
  --mail-rcpt "user@example.com" \
  --upload-file mail.txt

有关 REST API、Workers 绑定和 SMTP 的完整说明,请参阅 API 参考

快速入门

功能

Email Sending

发送具有高送达率和全球性能的事务性邮件。

Email Routing

将传入邮件路由到自定义地址、Workers 或外部目标。

Deliverability

自动 IP 信誉管理与送达率优化。

Analytics & Observability

通过全面的指标和告警监控电子邮件表现。

API

使用 REST APIWorkers 绑定SMTP 发送和路由邮件。


相关产品

Workers

构建可从边缘直接发送电子邮件的无服务器应用程序。

Queues

通过 Workers Queues 集成异步处理电子邮件事件。

Analytics Engine

使用 Workers Analytics Engine 存储和分析自定义电子邮件指标。


更多资源

定价

了解 Email Service 的定价和套餐。

示例

探索实用示例与实现模式。

Discord

向其他开发者提问并讨论 Email Service。

Twitter

关注产品公告和开发者动态。

这篇文档对您有帮助吗?