项目地址:GitHub
1 绑定域名
注册账号登录到cloudflare 控制台,开始绑定域名(如果你已经绑定好了可以直接跳到第二步)
![图片[1]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135330122.png)
![图片[2]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135407458.png)
选择免费的计划![图片[3]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135426825.png)
![图片[4]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135445383.png)
设置dns
![图片[5]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135500110.png)
不同的厂商的修改dns都差不多,这里以华为云为例
![图片[6]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135520097.png)
设置完成后可能要等几分钟,期间可以刷新浏览器看有没有完成
![图片[7]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135534443.png)
完成后的界面![图片[8]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135548239.png)
这样子账户主页就会显示你的域名了,域名绑定完成![图片[9]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135609298.png)
2 创建worker项目
到项目仓库fork项目代码到你的仓库
![图片[10]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135632808.png)
![图片[11]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135648870.png)
这样子仓库就会复制到你那边了
![图片[12]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135717743.png)
回到cloudflare控制台,找到workers页面导入你的github仓库代码
![图片[13]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135733748.png)
![图片[14]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135751267.png)
![图片[15]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135807582.png)
设置启动目录
![图片[16]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135822682.png)
等待构建部署完成
![图片[17]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135839296.png)
构建完成后的页面
![图片[18]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135853428.png)
这时候项目就会出现在worker列表了,点击名字进入可以查看和设置
![图片[19]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135931749.png)
3 设置环境变量
服务还需要设置一些环境变量和绑定数据库才能正常运行
![图片[20]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118135948788.png)
添加以下变量,注意domain是json类型的,管理员账号之后需要你在注册页面注册
| 变量名 | 值 | 类型 | 作用 |
|---|---|---|---|
| domain | [“你的域名”], 示例:[“mornglow.top”],多域名 [“doamin1″,”domain2”] | JSON | 网站会使用这个域名作为邮箱域名 |
| admin | 管理员的邮箱,示例:admin@mornglow.top | 纯文本 | 对应的用户变成管理员 |
| jwt_secret | 随便输入一串字符串,示例:Z7fxPq8mVL2bCr9XN1t | 纯文本 | 登录身份令牌的安全密钥 |
![图片[21]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140008079.png)
设置完成自定义域名和环境变量的样子
![图片[22]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140023718.png)
4 绑定数据库
找到左侧菜单存储和数据库,创建kv数据库,数据库名字随意
![图片[23]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140040378.png)
创建d1数据库,数据库名字随意 位置选择离你近的地方
![图片[24]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140058668.png)
回到worker设置界面绑定刚刚创建的数据库 d1数据库 变量名为 db kv数据库 变量名为 kv
![图片[25]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140117756.png)
浏览器输入https://你的自定义域名/api/init/你绑定的的jwt_secret 会自动初始化数据库(如果之前部署过只会更新不会覆盖原有数据)
![图片[26]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140134241.png)
浏览器输入你绑定的自定义域名网站已经能打开了,注册登录了
![图片[27]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140152716.png)
5 启用邮件接收
设置完成后才能接收邮件了
回到cloudflare控制台,点击菜单账户主页,再点你的域名
![图片[28]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140209398.png)
菜单栏会发生变化
![图片[29]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140223143.png)
![图片[30]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118140241952.png)
![图片[31]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118141103235.png)
启用电子邮件
![图片[32]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118141119381.png)
![图片[33]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://gcore.jsdelivr.net/gh/bootsp/cdn/xiaoil_cn/pic20251118141146244.png)
设置转发到worker
![图片[34]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/37.DaLoqVR3.png)
![图片[35]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/38.Dk2Q6rid.png)
设置完成的样子
![图片[36]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/39.bGAmdx0R.png)
测试接收邮件
![图片[37]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/39-1.Cc0DTjkv.png)
6 附件收发
设置完这一步后才能接收附件和发送附件,如果你不需要可以跳过
如果你用不了r2可以,可以用kv存储替代,访问域名改成worker自定义域
![图片[38]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/75.DH80T0M3.png)
设置R2, 回到上一级菜单,找到r2对象存储,创建存储桶
![图片[39]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/40.WONmF-YG.png)
桶名字可以随便填 位置选择离你近的地方
![图片[40]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/41.BPcNjn7T.png)
设置自定义域名 (不要设置跟worker自定义域一样)
![图片[41]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/42.BbGZYanD.png)
![图片[42]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/43.DFPO8BD7.png)
自定义域名添加到项目设置里面
![图片[43]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/44.p9iGRPfF.png)
回到worker绑定刚才创建的r2存储桶
r2存储桶 变量名为 r2
![图片[44]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/45.vmEhVcGn.png)
7 邮件发送
使用第三方服务resend发送邮件
浏览器输入resend.com注册
![图片[45]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/56.CrJAIfTy.png)
添加域名
![图片[46]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/57.MLUNfMnR.png)
![图片[47]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/58.Cj6IFCEr.png)
![图片[48]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/59.B3lJ7t_g.png)
![图片[49]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/60.Ds1H60BZ.png)
等待验证完成
![图片[50]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/61.xb4lGtMg.png)
验证完成后的样子
![图片[51]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/62.gV0bR7ri.png)
创建apiKey
![图片[52]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/62-1.DmH9kxC-.png)
![图片[53]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/63.1lvwY6_J.png)
![图片[54]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/64.CV5wSsOd.png)
回到项目网站设置
![图片[55]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/64-1.B_a0RcVl.png)
设置邮件状态回调接口
![图片[56]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/65.DmjeB5n_.png)
回调接口 https://你的项目自定义域/api/webhooks
选中图中对应选项
![图片[57]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/66.ZQ0oBT9_.png)
8 人机验证
设置这一步后可以开启人机验证,防止网站被机器人批量注册
菜单栏找到 turnstile
![图片[58]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/50.DAVy0Nn2.png)
![图片[59]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/51.Bvo73Vks.png)
添加你的域名
![图片[60]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/52.CGjXaNsO.png)
名字随意
![图片[61]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/53.BdXyyvKA.png)
复制这两个密钥
![图片[62]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/54.CF8EQrSM.png)
回到项目设置页面设置密钥
![图片[63]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/55.ConP-oGH.png)
9 TG和其他邮箱转发
在TG搜索找到这个人
![图片[64]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/69.pNmxvVJL.png)
创建机器人并且获取token![图片[65]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/68.B-YfDeoE.png)
给机器人一条发消息
![图片[66]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/70.Cvk5_nfk.png)
浏览器输入 https://api.telegram.org/bot你的机器TOKEN/getUpdates 获取chat_id 如果获取不到就再给机器人发几条消息
![图片[67]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/74.BIj9obw9.png)
设置token 和 chat_id
![图片[68]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/71.Dj7WQ9mH.png)
转发到其他服务商邮箱 在cloudflare验证邮箱
![图片[69]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/72.B7qsGeUH.png)
设置邮箱
![图片[70]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识](https://doc.skymail.ink/assets/73.BtuYJ_pw.png)
教程完结
部署更新
如果你是用界面部署,fork最新代码到你的仓库worker会自动重新部署,绑定的数据库 d1 kv r2 会掉,每次更新都要重新绑定 (目前没有更好的办法解决)
更新数据库结构
执行 https://你的项目域名/api/init/你的jwt_secret 更新数据库 (只会更新不会覆盖已有数据)










暂无评论内容