mail-cloudflare邮箱部署

项目地址:GitHub

1 绑定域名

注册账号登录到cloudflare 控制台,开始绑定域名(如果你已经绑定好了可以直接跳到第二步)

图片[1]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[2]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

选择免费的计划图片[3]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

图片[4]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置dns

图片[5]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

不同的厂商的修改dns都差不多,这里以华为云为例

图片[6]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置完成后可能要等几分钟,期间可以刷新浏览器看有没有完成

图片[7]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

完成后的界面图片[8]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

这样子账户主页就会显示你的域名了,域名绑定完成图片[9]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

2 创建worker项目

到项目仓库fork项目代码到你的仓库

图片[10]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[11]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

这样子仓库就会复制到你那边了

图片[12]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

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

图片[13]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[14]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[15]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置启动目录

图片[16]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

等待构建部署完成

图片[17]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

构建完成后的页面

图片[18]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

这时候项目就会出现在worker列表了,点击名字进入可以查看和设置

图片[19]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

3 设置环境变量

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

图片[20]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

添加以下变量,注意domain是json类型的,管理员账号之后需要你在注册页面注册

变量名 类型 作用
domain [“你的域名”], 示例:[“mornglow.top”],多域名 [“doamin1″,”domain2”] JSON 网站会使用这个域名作为邮箱域名
admin 管理员的邮箱,示例:admin@mornglow.top 纯文本 对应的用户变成管理员
jwt_secret 随便输入一串字符串,示例:Z7fxPq8mVL2bCr9XN1t 纯文本 登录身份令牌的安全密钥

图片[21]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

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

图片[22]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

4 绑定数据库

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

图片[23]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

创建d1数据库,数据库名字随意 位置选择离你近的地方

图片[24]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

回到worker设置界面绑定刚刚创建的数据库 d1数据库 变量名为 db kv数据库 变量名为 kv

图片[25]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

浏览器输入https://你的自定义域名/api/init/你绑定的的jwt_secret 会自动初始化数据库(如果之前部署过只会更新不会覆盖原有数据)

图片[26]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

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

图片[27]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

5 启用邮件接收

设置完成后才能接收邮件了

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

图片[28]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

菜单栏会发生变化

图片[29]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[30]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[31]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

启用电子邮件

图片[32]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[33]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置转发到worker

图片[34]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[35]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置完成的样子

图片[36]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

测试接收邮件

图片[37]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

6 附件收发

设置完这一步后才能接收附件和发送附件,如果你不需要可以跳过

如果你用不了r2可以,可以用kv存储替代,访问域名改成worker自定义域

图片[38]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置R2, 回到上一级菜单,找到r2对象存储,创建存储桶

图片[39]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

桶名字可以随便填 位置选择离你近的地方

图片[40]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置自定义域名 (不要设置跟worker自定义域一样)

图片[41]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[42]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

自定义域名添加到项目设置里面

图片[43]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

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

r2存储桶 变量名为 r2

图片[44]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

7 邮件发送

使用第三方服务resend发送邮件

浏览器输入resend.com注册

图片[45]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

添加域名

图片[46]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[47]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[48]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[49]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

等待验证完成

图片[50]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

验证完成后的样子

图片[51]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

创建apiKey

图片[52]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[53]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[54]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

回到项目网站设置

图片[55]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置邮件状态回调接口

图片[56]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

回调接口 https://你的项目自定义域/api/webhooks

选中图中对应选项

图片[57]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

8 人机验证

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

菜单栏找到 turnstile

图片[58]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识图片[59]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

添加你的域名

图片[60]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

名字随意

图片[61]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

复制这两个密钥

图片[62]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

回到项目设置页面设置密钥

图片[63]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

9 TG和其他邮箱转发

在TG搜索找到这个人

图片[64]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

创建机器人并且获取token图片[65]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

给机器人一条发消息

图片[66]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

浏览器输入 https://api.telegram.org/bot你的机器TOKEN/getUpdates 获取chat_id 如果获取不到就再给机器人发几条消息

图片[67]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置token 和 chat_id

图片[68]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

转发到其他服务商邮箱 在cloudflare验证邮箱

图片[69]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

设置邮箱

图片[70]-mail-cloudflare邮箱部署 - 小小博客 - 记录与学习前端知识-小小博客 - 记录与学习前端知识

教程完结

部署更新

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

更新数据库结构

执行 https://你的项目域名/api/init/你的jwt_secret 更新数据库 (只会更新不会覆盖已有数据)

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容