Cloudflare Email Routing 免费邮件发送(作为 Service 服务)用于 Workers/Pages 项目中。
准备工作
-
准备一个域名,例如
example.com
。现在,在 cloudflare-dashboard 中添加一个网站并构建您的域名。这可能需要大约 30 分钟。 -
选择您的站点和域名,启用电子邮件路由。这可能需要大约 5 分钟。
-
安装 wrangler 以部署 cf worker。确保您的 node 版本 >= 16.13.0 并运行:
npm install wrangler -g
设置
- 获取代码
git clone https://github.com/willin/cloudflare-send-email-service.git
- 部署您的 worker
# 建议改个名字
wrangler deploy --name send-email-worker-service
- 配置域名解析
创建第一个 TXT 解析记录:
-
Name:
yourdomain.com
-
Value:
v=spf1 a mx include:relay.mailchannels.net ~all
创建第二个 TXT 解析记录:
-
Name:
_mailchannels.yourdomain.com
-
Value:
v=mc1 cfid=yourdomain.workers.dev
(cfid
会在你测试的报错信息中看到,解析后等待生效大约需要半天)
更多关于 Domain Lockdown 错误的信息
- 设置 DKIM
这一步是可选的,但强烈推荐您去做。您可以参考 MailChannels 文档 步骤来完成域名的 DKIM 设置。
API 文档
地址
http://{{your-cf-worker-prefix}}.workers.dev/
方法
POST
参数
名称 | 类型 | 描述 |
---|---|---|
sender_email |
string |
发件人的电子邮件地址。 |
sender_name |
string |
发件人的名称。 |
recipient_email |
string |
收件人的电子邮件地址。 |
subject |
string |
电子邮件的主题。 |
message |
string |
电子邮件的正文。 |
示例请求
curl -d"sender_email=admin(x)yourdomain.com&sender_name=Test&recipient_email=your-dest(x)example.com&subject='Hello Guy!'&message='My first email sent!'" "http://your-cf-worker-prefix.workers.dev/"
注意,端点 URL 中的 your-cf-worker-prefix
需要替换为实际的 worker 前缀。
作为 Service Binding 使用
TBD. 请继续关注我博客的新文章更新。