使用Cloudflare搭建自己的临时/免费/域名邮箱
1. 前言
1.1 项目
GitHub 地址:https://github.com/dreamhunter2333/cloudflare_temp_email
这样夜梦就可以有无数个邮箱了~
夜梦的博客:tech.yemengstar.com/?p=6924
1.2 准备
夜梦这里使用的是雨云的服务器,九折 + 十元优惠券链接:https://www.rainyun.com/YeMeng_
更多服务器推荐请看:https://tech.yemengstar.com/?p=5865
夜梦的域名是在namesilo上面注册的,提供隐私保护。优惠码:dreamorrow
2. 环境
夜梦以 Ubuntu22.04 系统为例进行演示。
夜梦这里安装 nvm 来管理 node 版本
这里我们安装 node 18.16.0 版本
安装 wrangler
3.Cloudflare D1
克隆仓库到本地
创建 D1 数据库
之后会弹出验证你的 cf 账户链接
我们点击链接,同意授权

授权成功后会自动跳转到 localhost 地址,无需担心,我们只要把 localhost 换为服务器 IP 即可看到提示

创建后会返回数据库信息:
然后我们创建数据表
成功后会返回
4. 后端 Cloudflare Worker 搭建
接下来搭建 cf worker,我们先保存好上一步获得的数据库信息。然后完善以下内容:
其中 vars
里面的 domain
可以是你在 cf 托管的任何一个域名。jmt_secret
可以随便写。D1 databas
e 就是之前的数据库信息。保存好这些数据,之后我们会用到。
然后我们执行
修改配置文件
这里需要设置两项东西,具体内容就是上面我们完善的内容:
修完完成后,我们保存退出。
启动部署

这个可以自行选择,Y/n 均可。
然后我们前往 cloudflare 的 Workers & Pages 查看具体信息。

D1 数据库

5. 前端 Cloudflare pages 搭建
在开始之前,我们先在 CF 里面完成域名设置。
这里需要设置两项东西:1. 自定义域名;2.email triggers
添加自定义域名,右边有一个 add custom domain,点击后设置你的邮箱域名。


我们这里需要记录一下 URL,后面会用到。
然后我们设置 email triggers,回到之前设置的托管在 cf 的域名。

我们跳过设置。

添加 DNS 记录。

在 email routing 的 routes 中开启 catch-all address,Action 选择刚刚设置好的 worker 域名,然后保存。

回到 SSH 终端,我们先安装pnpm。
安装依赖:
依赖安装完毕以后,我们复制环境变量
这里我们要修改的是 VITE_API_BASE
,就是上一步设置的域名 url。比如我这边的设置如下:
You should add .env.local and modify VITE_API_BASE to your worker’s url .
For example: VITE_API_BASE=https://xxx.xxx.workers.dev – don’t put / in the end
保存退出后,我们开始部署
这里会提示输入项目名称,需要是小写字母,否则会报错
然后等待部署完成即可。

6. 使用
我们访问上面出现的网址,即可进入使用页面。推荐使用 chrome 浏览器。

点击 Get New Email 即可获得随机邮箱。

然后我们就可以收到邮件了!
