临时邮箱最大的用途,是在注册网站、接收验证码或做测试时,避免把自己的常用邮箱暴露出去。很多公共临时邮箱虽然方便,但经常遇到广告多、地址被封、稳定性差、验证码收不到等问题。如果手里有一个自己的域名,就可以把邮件接收能力掌握在自己手里。
这篇文章把整个流程合并成一篇,从免费域名申请、托管到 Cloudflare,再到使用 Cloudflare Workers、D1、KV 和 Email Routing 搭建临时邮箱服务,完整走一遍。
一、准备一个可托管到 Cloudflare 的域名
搭建域名邮箱,首先需要一个域名。域名可以购买,也可以使用支持 Cloudflare 托管的免费二级域名。
常见选择包括:
- DigitalPlat / FreeDomain:部分后缀支持 Cloudflare,但账号注册可能需要 KYC,部分后缀也可能收费。
- DNSHE:注册门槛较低,只需邮箱验证,部分免费二级域名可以直接托管到 Cloudflare。
DNSHE 当前可用的免费根域包括 cc.cd、cn.mt、ccwc.cc、bbroot.com 等。其中部分后缀可以直接注册并接入 Cloudflare,部分可能需要邀请码。
DNSHE 注册域名流程
- 打开 DNSHE 网站并注册账号。
- 填写邮箱、密码,完成邮箱验证码验证。
- 登录后台后,进入左侧的
Free Domains。 - 点击
Register a Domain。 - 选择一个可用根域,例如
cc.cd或ccwc.cc。 - 填写想要的二级域名前缀。
- 点击确认注册。
注册完成后,就得到一个类似 example.cc.cd 这样的免费二级域名。
二、把域名接入 Cloudflare
域名拿到后,需要把它托管到 Cloudflare,这样后续才能使用 Workers、Email Routing 等能力。
操作流程:
- 登录 Cloudflare。
- 进入
Domains / 域页面。 - 点击添加域名。
- 输入刚刚注册的域名。
- 选择 Free 免费计划。
- DNS 记录可以先不添加,直接继续。
- Cloudflare 会给出两条 nameserver。
- 回到 DNSHE,把域名的 nameserver 替换成 Cloudflare 提供的两条。
- 回到 Cloudflare 点击“我已更新名称服务器”。
- 等待解析生效,通常几分钟到几十分钟不等。
当 Cloudflare 中域名状态显示为 Active / 活动 后,说明域名已经成功托管。
三、选择临时邮箱项目
Cloudflare Workers 生态里有不少临时邮箱项目可以使用,常见选择包括:
- Cloudflare Temp Mail
- Freemail
- Moemail
如果只是想快速搭建一个可用的临时邮箱平台,可以选择 Cloudflare Temp Mail。它通常包含 Worker 后端、D1 数据库表结构、KV 缓存、前端页面等内容。
四、创建 D1 数据库
后端需要存储邮件、地址、用户等数据,因此要先创建 D1 数据库。
步骤如下:
- 在 Cloudflare 后台打开
存储与数据库。 - 进入
D1 SQL 数据库。 - 点击创建数据库。
- 输入数据库名称,例如
mail_d1。 - 创建完成后进入该数据库。
创建后数据库是空的,还需要初始化表结构。
初始化表结构
- 打开 Cloudflare Temp Mail 项目仓库。
- 找到
db/schema.sql。 - 复制 SQL 内容。
- 回到 Cloudflare D1 数据库页面。
- 打开
控制台。 - 粘贴 SQL 并执行。
执行成功后,刷新概览页,如果能看到多个数据表,说明数据库初始化完成。
五、创建 Workers KV
除了 D1,还需要创建 KV 命名空间,用于缓存或存储部分运行状态。
步骤:
- 在 Cloudflare 后台进入
Workers KV。 - 点击创建实例。
- 命名为
mail_kv或其他容易识别的名称。 - 创建即可,不需要额外配置。
后续绑定时要注意变量名:
- D1 数据库绑定变量名通常填写
DB - KV 绑定变量名通常填写
KV
变量名写错会导致 Worker 运行时报错。
六、部署后端 Worker
后端 Worker 用来接收邮件、处理 API 请求、读写 D1 和 KV。
创建 Worker
- 打开 Cloudflare 后台。
- 进入
Workers 和 Pages。 - 点击创建应用程序。
- 选择从
Hello World开始。 - 设置 Worker 名称,例如
xapi。 - 点击部署。
部署后,会得到一个类似:
https://xapi.<account-name>.workers.dev
的后端地址。
绑定 D1 和 KV
进入刚创建的 Worker:
- 打开设置或绑定选项卡。
- 添加 D1 数据库绑定。
- 变量名填写
DB。 - 选择前面创建的 D1 数据库。
- 添加 KV 命名空间绑定。
- 变量名填写
KV。 - 选择前面创建的 KV 实例。
七、配置变量和机密
后端还需要一些环境变量。常见配置如下:
DOMAINS = ["example.cc.cd"]
DEFAULT_DOMAINS = ["example.cc.cd"]
DISABLE_ANONYMOUS_USER_CREATE_EMAIL = false
JWT_SECRET = "你的随机密钥"
ADMIN_PASSWORDS = ["你的管理员密码"]
ENABLE_ADDRESS_PASSWORD = false
ENABLE_AUTO_REPLY = false
ENABLE_USER_CREATE_EMAIL = true
ENABLE_USER_DELETE_EMAIL = true
USER_ROLES = [
{"domains": ["example.cc.cd"], "prefix": "", "role": "vip"},
{"domains": ["example.cc.cd"], "prefix": "", "role": "admin"}
]
ADMIN_USER_ROLE = "admin"
其中:
DOMAINS:允许使用的域名列表。DEFAULT_DOMAINS:未登录用户可使用的默认域名。JWT_SECRET:JWT 签名密钥,建议随机生成。ADMIN_PASSWORDS:后台管理员密码列表。ENABLE_USER_CREATE_EMAIL:是否允许用户创建邮箱。ENABLE_USER_DELETE_EMAIL:是否允许用户删除邮箱。
添加变量后,记得重新部署 Worker。
另外,在 Worker 设置中建议开启兼容性标志:
nodejs_compat
八、替换 Worker 代码
刚创建的 Worker 默认只是 Hello World,需要替换为临时邮箱项目提供的 Worker 脚本。
操作方式:
- 打开 Cloudflare Temp Mail 项目发布页或仓库。
- 下载或复制
worker.js。 - 回到 Cloudflare Worker 的代码编辑页面。
- 删除默认 Hello World 代码。
- 粘贴或上传新的
worker.js。 - 点击部署。
部署完成后,后端就具备了临时邮箱的 API 和邮件处理能力。
九、配置自定义后端域名,可选
如果不想直接使用 workers.dev 域名,可以给后端绑定自定义域名,例如:
xapi.example.cc.cd
在 Worker 设置里的 域和路由 中添加自定义域名即可。Cloudflare 会自动为当前域名添加对应路由记录。
这个步骤不是必须的,但如果前端访问后端不稳定,使用自定义域名通常更方便。
十、开启 Cloudflare Email Routing
临时邮箱要能收邮件,必须开启 Cloudflare Email Routing。
步骤:
- 在 Cloudflare 中打开对应域名。
- 进入
电子邮件 / Email。 - 打开
电子邮件路由 / Email Routing。 - 点击添加记录并启用。
- Cloudflare 会自动添加 MX、SPF、DKIM 等相关记录。
启用后,还要配置路由规则。
配置 Catch-All
- 进入 Email Routing 的路由规则页面。
- 开启 Catch-All。
- 编辑 Catch-All 操作。
- 操作选择
发送到 Worker。 - 目标选择刚刚部署的后端 Worker,例如
xapi。 - 保存。
这样,所有发往 @example.cc.cd 的邮件都会交给 Worker 处理。
十一、部署前端页面
后端完成后,还需要一个前端页面来创建邮箱、查看邮件、登录后台等。
如果使用 Cloudflare Temp Mail 自带前端,可以按以下方式部署:
- 打开项目文档中的前端生成页面。
- 输入自己的后端地址。
- 生成
frontend.zip。 - 回到 Cloudflare
Workers 和 Pages。 - 点击创建应用程序。
- 选择上传静态文件。
- 上传
frontend.zip。 - 设置项目名称,例如
webui。 - 高级设置中,将未找到处理设置为
single-page-application。 - 点击部署。
前端部署后,建议绑定自定义域名,例如:
mail.example.cc.cd
如果前端需要给国内用户访问,自定义域名通常比默认 workers.dev 更实用。
十二、后台管理和使用方式
打开前端地址后,就可以使用临时邮箱系统。
常见入口方式:
- 连续点击页面 Logo 多次进入管理入口。
- 或者访问
/admin路径。
输入前面设置的 ADMIN_PASSWORDS 后,可以进入后台。
后台通常可以管理:
- 邮箱地址
- 用户
- 邮件
- 域名配置
- 统计数据
- 维护功能
- Telegram 机器人或其他高级功能
按照基础配置,这套系统一般可以满足接收验证码、注册测试、临时收信等需求。如果需要发信、自动回复、AI 邮件解析、Telegram 通知等功能,还需要继续配置额外服务。
十三、常见问题
1. 收不到邮件怎么办?
优先检查:
- 域名是否已经在 Cloudflare 中显示 Active。
- Email Routing 是否已启用。
- MX 记录是否存在。
- Catch-All 是否已经指向正确的 Worker。
- Worker 是否绑定了正确的 D1 和 KV。
- 变量名是否严格为
DB和KV。
2. Worker 报错怎么办?
重点检查:
nodejs_compat是否开启。JWT_SECRET是否已设置。DOMAINS和DEFAULT_DOMAINS是否是合法 JSON。ADMIN_PASSWORDS是否是数组格式。- D1 数据库是否已经执行过
schema.sql。
3. 前端无法访问后端怎么办?
可以尝试:
- 给后端绑定自定义域名。
- 检查前端生成时填写的后端 URL 是否正确。
- 检查浏览器控制台是否有 CORS、网络连接或 API 报错。
总结
整套流程可以概括为:
- 申请一个可托管到 Cloudflare 的域名。
- 把域名 nameserver 切到 Cloudflare。
- 创建 D1 数据库并初始化表结构。
- 创建 KV 命名空间。
- 创建后端 Worker,绑定 D1、KV 和环境变量。
- 替换为临时邮箱项目的 Worker 代码。
- 启用 Email Routing,并把 Catch-All 指向 Worker。
- 上传前端静态文件并绑定自定义域名。
- 打开前端页面开始创建和管理临时邮箱。
完成后,你就拥有了一套基于 Cloudflare 免费资源的自建临时邮箱系统。它不依赖传统服务器,维护成本低,适合个人测试、验证码接收和临时注册场景。
1 个帖子 - 1 位参与者