从免费域名到 Cloudflare Workers:自建临时域名邮箱完整流程

临时邮箱最大的用途,是在注册网站、接收验证码或做测试时,避免把自己的常用邮箱暴露出去。很多公共临时邮箱虽然方便,但经常遇到广告多、地址被封、稳定性差、验证码收不到等问题。如果手里有一个自己的域名,就可以把邮件接收能力掌握在自己手里。 这篇文章把整个流程合并成一篇,从免费域名申请、托管到 Cloudf...
从免费域名到 Cloudflare Workers:自建临时域名邮箱完整流程
从免费域名到 Cloudflare Workers:自建临时域名邮箱完整流程

临时邮箱最大的用途,是在注册网站、接收验证码或做测试时,避免把自己的常用邮箱暴露出去。很多公共临时邮箱虽然方便,但经常遇到广告多、地址被封、稳定性差、验证码收不到等问题。如果手里有一个自己的域名,就可以把邮件接收能力掌握在自己手里。

这篇文章把整个流程合并成一篇,从免费域名申请、托管到 Cloudflare,再到使用 Cloudflare Workers、D1、KV 和 Email Routing 搭建临时邮箱服务,完整走一遍。

一、准备一个可托管到 Cloudflare 的域名

搭建域名邮箱,首先需要一个域名。域名可以购买,也可以使用支持 Cloudflare 托管的免费二级域名。

常见选择包括:

  • DigitalPlat / FreeDomain:部分后缀支持 Cloudflare,但账号注册可能需要 KYC,部分后缀也可能收费。
  • DNSHE:注册门槛较低,只需邮箱验证,部分免费二级域名可以直接托管到 Cloudflare。

DNSHE 当前可用的免费根域包括 cc.cdcn.mtccwc.ccbbroot.com 等。其中部分后缀可以直接注册并接入 Cloudflare,部分可能需要邀请码。

DNSHE 注册域名流程

  1. 打开 DNSHE 网站并注册账号。
  2. 填写邮箱、密码,完成邮箱验证码验证。
  3. 登录后台后,进入左侧的 Free Domains
  4. 点击 Register a Domain
  5. 选择一个可用根域,例如 cc.cdccwc.cc
  6. 填写想要的二级域名前缀。
  7. 点击确认注册。

注册完成后,就得到一个类似 example.cc.cd 这样的免费二级域名。

二、把域名接入 Cloudflare

域名拿到后,需要把它托管到 Cloudflare,这样后续才能使用 Workers、Email Routing 等能力。

操作流程:

  1. 登录 Cloudflare。
  2. 进入 Domains / 域 页面。
  3. 点击添加域名。
  4. 输入刚刚注册的域名。
  5. 选择 Free 免费计划。
  6. DNS 记录可以先不添加,直接继续。
  7. Cloudflare 会给出两条 nameserver。
  8. 回到 DNSHE,把域名的 nameserver 替换成 Cloudflare 提供的两条。
  9. 回到 Cloudflare 点击“我已更新名称服务器”。
  10. 等待解析生效,通常几分钟到几十分钟不等。

当 Cloudflare 中域名状态显示为 Active / 活动 后,说明域名已经成功托管。

三、选择临时邮箱项目

Cloudflare Workers 生态里有不少临时邮箱项目可以使用,常见选择包括:

  • Cloudflare Temp Mail
  • Freemail
  • Moemail

如果只是想快速搭建一个可用的临时邮箱平台,可以选择 Cloudflare Temp Mail。它通常包含 Worker 后端、D1 数据库表结构、KV 缓存、前端页面等内容。

四、创建 D1 数据库

后端需要存储邮件、地址、用户等数据,因此要先创建 D1 数据库。

步骤如下:

  1. 在 Cloudflare 后台打开 存储与数据库
  2. 进入 D1 SQL 数据库
  3. 点击创建数据库。
  4. 输入数据库名称,例如 mail_d1
  5. 创建完成后进入该数据库。

创建后数据库是空的,还需要初始化表结构。

初始化表结构

  1. 打开 Cloudflare Temp Mail 项目仓库。
  2. 找到 db/schema.sql
  3. 复制 SQL 内容。
  4. 回到 Cloudflare D1 数据库页面。
  5. 打开 控制台
  6. 粘贴 SQL 并执行。

执行成功后,刷新概览页,如果能看到多个数据表,说明数据库初始化完成。

五、创建 Workers KV

除了 D1,还需要创建 KV 命名空间,用于缓存或存储部分运行状态。

步骤:

  1. 在 Cloudflare 后台进入 Workers KV
  2. 点击创建实例。
  3. 命名为 mail_kv 或其他容易识别的名称。
  4. 创建即可,不需要额外配置。

后续绑定时要注意变量名:

  • D1 数据库绑定变量名通常填写 DB
  • KV 绑定变量名通常填写 KV

变量名写错会导致 Worker 运行时报错。

六、部署后端 Worker

后端 Worker 用来接收邮件、处理 API 请求、读写 D1 和 KV。

创建 Worker

  1. 打开 Cloudflare 后台。
  2. 进入 Workers 和 Pages
  3. 点击创建应用程序。
  4. 选择从 Hello World 开始。
  5. 设置 Worker 名称,例如 xapi
  6. 点击部署。

部署后,会得到一个类似:

https://xapi.<account-name>.workers.dev

的后端地址。

绑定 D1 和 KV

进入刚创建的 Worker:

  1. 打开设置或绑定选项卡。
  2. 添加 D1 数据库绑定。
  3. 变量名填写 DB
  4. 选择前面创建的 D1 数据库。
  5. 添加 KV 命名空间绑定。
  6. 变量名填写 KV
  7. 选择前面创建的 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 脚本。

操作方式:

  1. 打开 Cloudflare Temp Mail 项目发布页或仓库。
  2. 下载或复制 worker.js
  3. 回到 Cloudflare Worker 的代码编辑页面。
  4. 删除默认 Hello World 代码。
  5. 粘贴或上传新的 worker.js
  6. 点击部署。

部署完成后,后端就具备了临时邮箱的 API 和邮件处理能力。

九、配置自定义后端域名,可选

如果不想直接使用 workers.dev 域名,可以给后端绑定自定义域名,例如:

xapi.example.cc.cd

在 Worker 设置里的 域和路由 中添加自定义域名即可。Cloudflare 会自动为当前域名添加对应路由记录。

这个步骤不是必须的,但如果前端访问后端不稳定,使用自定义域名通常更方便。

十、开启 Cloudflare Email Routing

临时邮箱要能收邮件,必须开启 Cloudflare Email Routing。

步骤:

  1. 在 Cloudflare 中打开对应域名。
  2. 进入 电子邮件 / Email
  3. 打开 电子邮件路由 / Email Routing
  4. 点击添加记录并启用。
  5. Cloudflare 会自动添加 MX、SPF、DKIM 等相关记录。

启用后,还要配置路由规则。

配置 Catch-All

  1. 进入 Email Routing 的路由规则页面。
  2. 开启 Catch-All。
  3. 编辑 Catch-All 操作。
  4. 操作选择 发送到 Worker
  5. 目标选择刚刚部署的后端 Worker,例如 xapi
  6. 保存。

这样,所有发往 @example.cc.cd 的邮件都会交给 Worker 处理。

十一、部署前端页面

后端完成后,还需要一个前端页面来创建邮箱、查看邮件、登录后台等。

如果使用 Cloudflare Temp Mail 自带前端,可以按以下方式部署:

  1. 打开项目文档中的前端生成页面。
  2. 输入自己的后端地址。
  3. 生成 frontend.zip
  4. 回到 Cloudflare Workers 和 Pages
  5. 点击创建应用程序。
  6. 选择上传静态文件。
  7. 上传 frontend.zip
  8. 设置项目名称,例如 webui
  9. 高级设置中,将未找到处理设置为 single-page-application
  10. 点击部署。

前端部署后,建议绑定自定义域名,例如:

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。
  • 变量名是否严格为 DBKV

2. Worker 报错怎么办?

重点检查:

  • nodejs_compat 是否开启。
  • JWT_SECRET 是否已设置。
  • DOMAINSDEFAULT_DOMAINS 是否是合法 JSON。
  • ADMIN_PASSWORDS 是否是数组格式。
  • D1 数据库是否已经执行过 schema.sql

3. 前端无法访问后端怎么办?

可以尝试:

  • 给后端绑定自定义域名。
  • 检查前端生成时填写的后端 URL 是否正确。
  • 检查浏览器控制台是否有 CORS、网络连接或 API 报错。

总结

整套流程可以概括为:

  1. 申请一个可托管到 Cloudflare 的域名。
  2. 把域名 nameserver 切到 Cloudflare。
  3. 创建 D1 数据库并初始化表结构。
  4. 创建 KV 命名空间。
  5. 创建后端 Worker,绑定 D1、KV 和环境变量。
  6. 替换为临时邮箱项目的 Worker 代码。
  7. 启用 Email Routing,并把 Catch-All 指向 Worker。
  8. 上传前端静态文件并绑定自定义域名。
  9. 打开前端页面开始创建和管理临时邮箱。

完成后,你就拥有了一套基于 Cloudflare 免费资源的自建临时邮箱系统。它不依赖传统服务器,维护成本低,适合个人测试、验证码接收和临时注册场景。

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文