🎬 2026 终极教程:Cloudflare 免费搭建专属域名邮箱(发信+收信+TG推送)

🎬 2025 终极教程:Cloudflare 免费搭建专属域名邮箱(发信+收信+TG推送)

📋 0. 准备工作 (Preparation)

  • 账号:Cloudflare 账号、Telegram 账号、Resend.com 账号。
  • 域名:一个已经托管在 Cloudflare 上的域名(例如 900900.xyz)。
  • 工具:电脑文本编辑器(推荐 VS Code,或电脑自带的记事本)。

🏗️ 第一部分:数据库与存储 (D1 & KV)

1. 创建 D1 数据库

  1. 登录 Cloudflare 仪表盘,点击左侧菜单 Storage & Databases (存储和数据库) -> D1 SQL Database (D1 SQL 数据库)
  2. 点击 Create (创建)
  3. 数据库名称自己随便填写一个,如填 vmail-db,点击 Create (创建)

2. 初始化数据库 (官方源码引用)

我们需要给数据库建立表结构。

  1. 获取代码
🔒

此部分内容受密码保护

请输入密码查看隐藏内容

  1. 替换代码
  • 用记事本打开下载好的 worker.js全选并复制所有内容。
  • 回到 刚刚创建的 Worker 页面,点击右上角 Edit code (编辑代码)
  • 在左侧文件列表点击 worker.js
  • 删除 编辑器里原本的所有代码。
  • 粘贴 你刚才复制的新代码。
  • 点击右上角 Deploy (部署)

🔄 以后如何更新后端?
不需要删除 Worker 重建。只需去上面的链接下载最新的 worker.js,重复“编辑代码 -> 全选覆盖 -> 部署”的步骤即可无缝升级。

3. 设置运行环境 (Runtime)

  1. 进入你刚刚创建的worker页面,点击打开顶部右侧的 Settings (设置) 标签。
  2. 列表找到 Runtime (运行时)
  3. 选择 Compatibility flags (兼容性标志),点击右侧的编辑笔图标,弹出Add compatibility flag (添加兼容性标志)
  4. 输入 nodejs_compat,点击 Save (保存)

4. 绑定数据库 (Bindings)和kv存储

绑定 KV Namespace

  1. 在 Worker 编辑页面顶部,点击 Bindings (绑定) 标签。
  2. 点击Add binding(添加绑定)
  3. 绑定 KV namespace
  • 点击 Add binding (添加绑定) -> KV Namespace (KV 命名空间)
  • Variable name (变量名) 填 KV (必须大写)。
  • Namespace (命名空间) 选之前创建的空间 vmail-kv
  • 填写好点Add Binding

绑定 D1 database

  1. 在 Worker 编辑页面顶部,点击 Bindings (绑定) 标签。
  2. 点击Add binding(添加绑定)
  3. 绑定 D1 Database
  • 点击 Add binding (添加绑定) -> D1 Database (D1 数据库)
  • Variable name (变量名) 填 DB (必须大写)。
  • D1 database (D1 数据库) 选之前创建的数据库 vmail-db
  • 填写好点Add Binding

5. 配置环境变量 (Variables)

点击 Settings (设置) -> Variables & Secrets (变量和机密) -> Add variable (添加变量)
全部添加好点击保存部署就行了。

⚠️ 请严格按照下表选择类型 (Type) 并填写:

变量名 (Name) 值 (Value) 示例 类型 (Type) 说明
DOMAINS ["900900.xyz"] JSON 你的域名,可以多个域名,英文逗号分隔
ADMIN_PASSWORDS ["123456"] JSON 后台密码,要有引号和方括号
JWT_SECRET 随便填一串乱码 Text (文本) 登录加密密钥
ENABLE_AUTO_REPLY true Text (文本) 开启自动回复
ENABLE_USER_CREATE_EMAIL true Text (文本) 允许用户创建邮箱
ENABLE_USER_DELETE_EMAIL true Text (文本) 允许删除邮件
NO_LIMIT_SEND_ROLE admin Text (文本) 无限制发信角色

*注意:发信变量RESEND_TOKEN 和 tg机器人变量TELEGRAM_BOT_TOKEN 我们留到后面章节专门填。
这个域名变量DOMAINS的值必须是根域名或者你托管到cloudflare的二级免费域名,填错无法收信。配置收信与发信看第四部分。

6. 绑定后端域名

  1. 点击 Settings (设置) -> Routes and domains (路由和域名)
  2. 点击右侧 Add (添加) -> Custom Domain (自定义域名)
  3. 输入一个二级域名,例如 mail.9009000.xyz
  4. 点击 Add Custom Domain (添加)
  • ⚠️ 重要:请拿小本本记下这个域名,下一步前端配置要用!

🎨 第三部分:前端 Pages 部署 (界面)

这里提供两种方法,小白推荐方法一,进阶推荐方法二

🔒

此部分内容受密码保护

请输入密码查看隐藏内容


🤖 第五部分:Telegram 机器人 (手机收信)

⚠️ 重要说明:关于邮件解析
Telegram 的聊天气泡不支持复杂的 HTML 邮件(如验证码、推广邮件)。
如果你收到邮件时提示:“解析失败,请打开 mini app 查看”,这是正常现象
请点击聊天框底部的 “打开邮箱” 按钮,在小程序里可以完美查看邮件原文。

1. 申请机器人 (保姆级对话)

打开 Telegram,搜索 @BotFather
⚠️ 注意:请认准名字后面带蓝色对勾 ✅ 的才是官方机器人,其他的都是假的!

(请严格照着下面的剧本操作)

  1. 点击 Start,发送指令:
    ```text
    /newbot


2. **BotFather 回复**:
"Alright, a new bot. How are we going to call it?..."
*(好,取个名字吧。)*
3. **你发送** (机器人的显示名称,可用中文):
```text
我的专属邮箱
  1. BotFather 回复
    “Good. Now let’s choose a username… It must end in bot…”
    (好,现在取个唯一 ID,必须以 bot 结尾。)
  2. 你发送 (唯一 ID,必须英文+数字,不能重复):
    ```text
    vmail_900900_bot


*(如果提示 Username is already taken,就换个复杂的,比如 `my_vip_mail_999_bot`)*
6. **BotFather 回复**:
"Done! Congratulations..."
*(恭喜!...)*
**👉 复制那串红色的 Token** (例如 `7123...:AAF...`)。

### 2. 配置后端变量 (双语指引)

1. 回到 Cloudflare `vmail-worker` -> **Settings (设置)** -> **Variables & Secrets (变量和机密)**。
2. 点击 **Add variable (添加变量)**。
3. **Variable name (变量名)**: 输入 `TELEGRAM_BOT_TOKEN`。
4. **Value (值)**: 粘贴刚才复制的 Token。
5. **Type (类型)**: 选择 **Secret (机密)**。
6. 点击 **Encrypt (加密)**。
7. 点击 **Deploy (部署)** 或 **Save (保存)**。

### 3. 激活机器人 (Webhook)

Worker 无法主动连接 TG,必须手动激活一次。
请在浏览器地址栏输入以下网址并回车(**替换成你的 Token 和 后端域名**):

```text
https://api.telegram.org/bot<你的Token>/setWebhook?url=https://<你的后端域名>/telegram/webhook

示例:`https://api.telegram.org/bot7123:AAF.../setWebhook?url=https://mail.900900.xyz/telegram/webhook`

看到网页显示 {"ok":true, ... "description":"Webhook was set"} 即代表激活成功。

4. 配置小程序按钮 (强烈推荐)

✅ 结尾:验收成果

  1. 网页测试:访问 bb.9009000.xyz,复制右上角的邮箱地址。
  2. 发信测试:用 QQ 邮箱给它发一封信。
  3. TG 推送测试
  • 在 Telegram 对机器人发送 /new,生成一个新地址。
  • 给这个新地址发信。
  • 手机应该会震动并推送消息。
  • 如果提示“解析失败”,点击左下角 “打开邮箱” 按钮查看详情。

🎉 恭喜!你现在拥有了一个永久免费、无限续杯的专属域名邮箱系统!

📑 文章目录