CloudFlare免费收发邮件服务

CloudFlare免费收发邮件服务
Cookie🍪CloudFlare免费邮局,无需服务器,可以收邮件和发邮件
项目地址:https://github.com/dreamhunter2333/cloudflare_temp_email
官方文档:https://temp-mail-docs.awsl.uk/
博主自己搭建的演示站:https://mail.cookieadd.me
安装前工作
CloudFlare账号一枚
托管在CloudFlare的域名一枚,本博客教程使用的演示域名:cookieadd.me
(MJJ们应该都有一枚域名的吧?)
一、后端部署
(1)创建D1数据库和KV
- 在works和pages中选D1数据库
- 创建数据库起名字dev
- 创建后进入到dev数据库,然后打开控制台
- 把schema.sql文件中的内容复制到命令行中,然后点击执行按钮
- 数据库创建完成
- 在works和pages中选KV
- 创建KV起名字dev
(2)后端程序部署
- 还是在works和pages中,创建应用程序,选workers
- 起名字mail-api,保存,然后点右下角部署
- 然后界面中右上角点“编辑代码”
- 然后再左边点击文件按钮,右键点works.js然后删除
- 再下载works.js
- 右键点击,出现上传,把下载的works.js上传上去,然后右上角部署
- 再来到项目的“设置”–>“变量”中,添加变量
- 先添加这三个基础变量(添加完成记得点部署)
1
2
3
4ADMIN_PASSWORDS = ["123456"] # 后台管理地址
DOMAINS = ["cookieadd.me"] # 你的域名
JWT_SECRET =["xxxyyyzzz"] # 随便取一个变量,用于生成 jwt 的密钥, jwt 用于给用户登录以及鉴权
ENABLE_USER_CREATE_EMAIL = true # 允许游客创建邮箱 - 还是在变量这边,绑定D1数据库和KV
- KV的变量名称需写“KV”大写,然后命名空间选择我们刚刚创建的dev
- D1的变量名称需写“DB”大写,然后数据库选择我们刚刚创建的dev
- 绑定自己的域名,来到“触发器”这里添加自定义域名,我以mail-api.cookieadd.me为例
- 后端验证,访问https://mail-api.cookieadd.me/health_check,返回结果是OK就可以
二、前端部署
- 先来到作者的官方文档中,点击这里生成配置文件
- 在该页面中的地址栏输入后端的域名的https地址,比如我使用的后端地址是https://mail-api.cookieadd.me
- 生成配置,下载得到一个frontend.zip文件
- 回到CloudFlare还是在works和pages中
- 创建应用程序,选Pages,选择“使用直接上传创建”,然后再选择“上传资产”按钮
- 项目名取“mail”创建项目,再点击“从计算机中选择”上传刚刚下载的frontend.zip文件
- 上传成功点击“部署站点”
- 添加自定义域名
三、设置邮件路由
- 回到CloudFlare面板首页,然后选择需要使用的域名进入,cookieadd.me
- 左边菜单选择“电子邮件”,点击开始使用,先跳过指南
- 再点击“启用电子邮件路由”,添加解析
- 选择“路由规则”,编辑Catch-all地址,操作选发送到Worker,目标选择我们的后端的Worker保存
- Catch-all地址的状态开关需要打开(如果无法打开请到“目标地址”添加一个自己能正常收件的邮箱)
- 截至目前我们的收件功能已完成,
四、发件功能
- 发件需要借助Resend,注册一个Resend账号
- 绑定自己的邮箱域名
- 然后在API-Key中创建一个api,全部权限,然后把密码拷贝保存
- 到后端的Worker中设置–>变量–>添加一个变量
RESEND_TOKEN = re_XhiUoBtX_PUswPAwbaFvyqyk5jqptLkjt(上一步拷贝出来的密码)
截止到以上步骤,就可以完整的收发邮件了
管理后台地址:https://mail.cookieadd.me/admin
密码是变量ADMIN_PASSWORDS中设置的123456
进阶玩法
(1)Telegram机器人通知收件信息
- 创建机器人(具体方法自己搜)
- 拿到用于这个项目的机器人token,还有telegram的账户id
- 到后端的Worker中设置–>变量–>添加一个变量
TELEGRAM_BOT_TOKEN = 机器人token - 在邮件的管理后台,机器人中填入账户id
官方变量说明
1 | # TITLE = "Custom Title" # 自定义网站标题 |








































