前期准备

准备好一个域名一个cloudflare账号并绑定域名,在准备好一个github账号

教程开始

首先访问项目到项目仓库fork项目代码到你的仓库


到cloudflare控制台,找到workers页面导入你的github仓库代码



设置启动目录/mail-worker

等待构建部署完成

等待构建完成后随后点击继续处理项目

设置环境变量

服务还需要设置一些环境变量和绑定数据库才能正常运行

添加以下变量,注意domain是json类型的

变量名类型作用
domain[“你的域名”], 示例:["mornglow.top"]json格式网站会使用这个域名作为邮箱域名
admin管理员的邮箱,示例:[email protected]纯文本该邮箱用户注册后会成为网站管理员
jwt_secret随便输入一串字符串,示例:Z7f!xPq8mV@L2bC$r9X&N1t纯文本居登录身份令牌的安全密钥


设置完成自定义域名和环境变量的样子

绑定数据库

找到左侧菜单存储和数据库,创建kv数据库,数据库名字随意

创建d1数据库,数据库名字随意

回到worker设置界面绑定数据库


绑定d1数据库,变量名称必须是db不可以写其他的

绑定kv数据库,变量名称必须是kv不可以写其他的

绑定完成后的样子

浏览器输入你绑定的自定义域名网站已经能打开了,注册登录了

启用邮件转发

回到cloudflare控制台,点击菜单账户主页,再点你的域名并设置邮箱






设置转发到worker


部署完成

附件接收

回到上一级菜单,找到r2对象存储,创建存储桶(需绑卡开通r2)

桶名字可以随便填

设置允许公开访问


复制这个域名后设置到worker里面

回到worker绑定刚才创建的r2存储桶



添加环境变量

添加以下变量

变量名类型作用
r2_domain刚才复制的域名纯文本用来下载接收附件


设置完成后的样子

人机验证

设置这一步后可以开启人机验证,防止网站被机器人批量注册
菜单栏找到 turnstile


添加你的域名

名字随意

复制这两个密钥

回到worker设置环境变量

变量名类型作用
site_key刚才复制的站点密钥纯文本前端网站的密钥
secret_key刚才复制的密钥纯文本后端服务的密钥


设置完成后的样子

邮件发送

使用第三方服务resend发送邮件
浏览器输入 resend.com 注册

添加域名




等待验证完成
创建apiKey



回到项目网站设置

设置邮件状态回调接口


项目更新教程

仓库代码更新后fork到你的仓库worker会自动重新部署,绑定的数据库 d1 kv r2 会掉,每次更新都要重新绑定 (目前没有更好的办法解决)

如果项目更新的版本涉及了数据库变更,还需要执行 https:// 你的项目域名/api/init/你的jwt_secret 更新数据库 (只会更新不会覆盖已有数据)

教程完结
本章转发至b站繁花落心成空