type
status
date
slug
summary
tags
category
icon
ZMAIL 是一个安全、简单、即用即走的临时邮箱服务,邮箱有效期默认24小时,24小时以后邮箱包括邮箱中的所有邮件自动销毁

必要条件
要部署自己的临时匿名邮箱,需要满足几个前提条件:
- 一个可用的Github账号
- 通过信用卡验证以后的cloudflare账号(未使用信用卡验证无法使用
workers和pages
)
- 有一个自己的域名,并且托管到cloudflare
功能特色
- 匿名-无需注册,访问即可获得一个随机邮箱
- 自定义邮箱-支持自定义邮箱地址
- 全球可用-基于cloudflare构建,全球边缘网络加速
- 响应式设计-完美适配从桌面端到移动端的设备
部署
ZMAIl系统一共分为两个部分,一是用于展示的前端工程项目,二是负责接收邮件并临时存储的 worker项目。
部署ZMAIL需要分别部署两个组件,由于worker临时存储邮件内容使用到cloudflare D1 数据库,我们需要先创建一个cloudflare D1数据库。
创建D1数据库
访问cloudflare dashboard → 存储和数据库 → D1 SQL 数据库;点击
创建
根据提示创建一个数据库。创建完成以后如下图所示,我们需要记住两个数据:数据库名:
tempmail
(只能自定义)数据库ID:
987e6b1a-946a-4cba-84fc-23c4c31d72d6
(不允许自定义)
部署 ZMAIL 电子邮件 worker
配置数据库
fork 一份 https://github.com/zaunist/zmail 到你自己的仓库。然后修改
worker
目录下的 wrangler.toml
文件中的 database_name
和 database_id
:https://github.com/zaunist/zmail/blob/main/worker/wrangler.toml如下图所示,我这个仓库中的数据库名和数据库ID正好对应前面创建的D1数据库的名字和ID:

这里不用担心数据库名字和数据库ID泄漏会有什么影响。没有 API token,别人没有办法操作操作你的数据库,而将ID写入wrangler.toml是为了更好的利用cloudflare的CI/CD能力。
部署cloudflare worker
访问 cloudflare dashboard → Workers和Pages。
点击创建,选择右边导入存储库,如果是第一次使用,需要先连接自己的 Github 仓库。

接着填入worker的设置,其中项目名称、分支都会自动识别,不用修改,构建命令不用填,留空就行,我们只需要填写部署命令和高级设置中的路径。
部署命令:
yarn deploy
路径:
/worker

填写完成以后点击保存并部署,等待一会就可以部署成功。注意:在部署worker之前,一定要先创建D1数据库,并且按照前面所讲的,修改仓库中的 wrangler.toml 文件中的 database_name 和 database_id,如果没有正确填写同一个账号下的数据库的 database_name 和 database_id,那么在这里部署 worker 将会失败!!!
部署成功以后,可以在 workers 页面查看。部署成功以后,在zmail-backend的设置页面的绑定菜单中会新增一个数据库资源,也就是最开始创建的 tempmail 数据库。

默认的访问地址是
zmail-backend.xxx.workers.dev
这样的,在测试通过以后,记住这个地址,就叫它addr1吧,我们后面还需要用到。当然你不想用分配的默认域名,也可以绑定自己的域名。在这之后我们可以去访问部署好的 worker 地址,确认API服务是否正常,数据库连接是否正常,在我自己的项目中,这个地址是:https://api.mail.mdzz.uk/api/debug/db ,如果数据库连接正常,那么将会输出,输出任何其他信息都表示部署有问题:

搭建前端服务
搭建前端服务,我们需要使用到 cloudflare pages,同样的,来到
workers 和 pages
菜单,点击创建。不同的是这次我们需要选择创建 pages,而不是 worker。
选择
通过导入现有Git存储库创建
,选择 zmail 仓库,然后点击开始设置
。
预设框架:React(Vite)
构建命令:yarn build
构建输出目录:dist
根目录(高级)→ 路径:frontend
环境变量(高级):
变量名称:
VITE_API_BASE_URL
值:自己的worker地址,也就是addr1,在我这里就是https://api.mail.mdzz.uk变量名称:
VITE_EMAIL_DOMAIN
值:你自己的邮箱域名,在我这里就是 mdzz.uk
设置填写完成以后,点击保存并部署,等待部署完成。
部署完成
当数据库、worker以及前端pages都创建完成,zmail的部署就已经完成90%,只差最后一步设置就可以实现接收邮件了。
配置
访问账户主页,选择一个你想用于接收邮件的域名,我选择的是 mdzz.uk。单击域名,进入域名的管理页面。

选择
电子邮件→电子邮件路由→路由规则
,将Catch-All
状态设置为活动,点击编辑,选择发送到worker
,然后在 worker 列表选择 zmail-backend


点击保存,等待生效即可
接收邮件测试
当上述一切操作都完成,那么你就可以访问自己的前端网页,你可以给 pages 绑定任意一个你喜欢的域名地址,不一定非得是 mail.xxxx。同时,你也可以在网页上创建你的自定义域名邮箱。
以我的项目为例,访问 https://mail.mdzz.uk/,网页上就会自动生成一个随机邮箱,向邮箱发送任意一封邮件,等待大约十几秒钟,刷新一下网页就可以在收件箱中看到邮件。
在线体验
在线体验地址:https://mail.mdzz.uk/
- 作者:阿杰鲁
- 链接:https://dddd.moe/article/1b27d549-6f33-805a-a3b4-d83ef2633eab
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。