首页 / 资源下载 / 正文 2026 终极教程:Cloudflare免费搭建专属域名邮箱(发信+收信+TG推送) 2026-01-21 2 43 min ## 📋 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. **获取代码**: * 打开官方数据库文件链接:**[schema.sql (点击打开)](https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/db/schema.sql)** * 在 GitHub 页面右上角点击 **Copy raw file (复制原始内容)** 图标(两个小方块),复制所有代码。 2. **执行初始化**: * 回到 Cloudflare,点击刚才创建的 `vmail-db` 进入详情。 * 点击 **Console (控制台)** 标签。 * 在输入框中 **粘贴** 刚才复制的代码。 * 点击 **Execute (执行)**。 * *提示:看到 "Success" 即表示成功。* > **🔄 以后如何更新数据库?** > 如果未来作者更新了功能,只需再次访问上面的 GitHub 链接,查看 `db` 文件夹下有没有新的 `.sql` 补丁文件。如果有,复制内容并在 **Console (控制台)** 里执行即可。 ### 3. 创建 KV 存储 1. 点击左侧菜单 **Storage & Databases (存储和数据库)** -> **KV**。 2. 点击 **Create (创建)**。 3. 随便自定义,如命名为 `vmail-kv`,点击 **Add (添加)**。 --- ## ⚙️ 第二部分:后端 Worker 部署 (核心大脑) ### 1. 创建 Worker 应用 1. 点击左侧菜单 **Compute & AI (计算和 AI)** -> **Workers & Pages**。 2. 点击 **Create application (创建应用)**。 3. 在模版选择页面,请直接点击 **Start with Hello World** (从 Hello World 开始)。 4. 随便取个名称,也可以用默认的 5. 直接点击 **Deploy (部署)**。 ### 2. 上传代码 (官方发布版) 1. **下载代码**: * 点击下载官方最新构建版:**[worker.js](https://www.google.com/search?q=https://github.com/dreamhunter2333/cloudflare_temp_email/releases/latest/download/worker.js)** * *注意:请直接下载这个文件,这是编译好的单文件。* 2. **替换代码**: * 用记事本打开下载好的 `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 部署 (界面) 这里提供两种方法,**小白推荐方法一,进阶推荐方法二**。 ### 方法一:在线生成 (小白推荐 🌟) 1. 打开官方提供的 **[在线生成器页面](https://temp-mail-docs.awsl.uk/zh/guide/ui/pages.html)**。 2. 在输入框中填入你上一步绑定的 **后端域名** (例如 `https://mail.900900.xyz`)。 3. 点击 **生成** 按钮。 4. 点击下载生成的 `frontend.zip` 文件。 ### 方法二:手动修改 (进阶用户) 1. 下载官方前端包:**[frontend.zip](https://github.com/dreamhunter2333/cloudflare_temp_email/releases/latest/download/frontend.zip)**。 2. 解压后进入 `assets` 文件夹,找到 `index-xxxx.js`。 3. 用记事本打开,搜索 `https://temp-email-api.xxx.xxx`,替换为你的后端域名。 4. 保存并重新打包为 ZIP 文件。 ### 上传部署 (Pages) 1. 回到 Cloudflare -> **Compute & AI** -> **Workers & Pages**。 2. 点击 **Create application (创建应用)** 3. **关键点**:不要点 Connect to Git,看页面最底部。 4. 点击链接:**"Want to deploy Pages? Start now" (想要部署 Pages?立即开始)**。 5. 选择 **Upload assets (上传资产)**。 6. 项目名自定义填 `vmail-web` -> **Create Project (创建项目)**。 7. 上传你准备好的 ZIP 文件 -> **Deploy site (部署站点)**。 8. **绑定域名**:点击 **Custom domains (自定义域名)** -> 绑定你喜欢的网址 (例如 `bb.900900.xyz`)。 > **🔄 以后如何更新前端?** > 重复“方法一”或“方法二”获取新的 ZIP 包,然后在 Cloudflare Pages 页面点击 **Create new deployment (创建新部署)** 上传即可。 --- ## 📩 第四部分:配置收信与发信 ### 1. 配置收信 (Email Routing) * **启用**:点击域名 -> **Email (电子邮件)** -> **Email Routing (路由)** -> **Enable (启用)**。 * *如果提示添加 DNS 记录,点击 **Add records (添加记录)** 自动添加。* * **规则**:点击 **Routes (路由)** -> **Create rule (创建规则)**: * **Action (操作)**: `Send to a Worker` (发送到 Worker) * **Destination (目标)**: `vmail-worker` * **Match (匹配)**: `Catch-all` (全部捕获) * 点击 **Save (保存)**。 ### 2. 配置发信 (Resend) * **注册**:去 [Resend.com](https://resend.com) 注册并添加域名 `900660.xyz`。 * **DNS 配置 (避坑点)**: * 去 Cloudflare DNS 添加 Resend 给出的 MX 和 TXT 记录。 * ⚠️ **Proxy status (代理状态)** 必须是 **DNS Only (灰色云朵)**。 * ⚠️ **绝对不要**添加 Resend 页面里 "Enable Receiving" 下方的 MX 记录!我们只用它发信。 * **获取密钥**:Resend 左侧 **API Keys** -> Create -> Full Access -> 复制 `re_` 开头的密钥。 * **填入 Cloudflare**: 1. 回到 `vmail-worker` -> **Settings (设置)** -> **Variables & Secrets (变量和机密)**。 2. 点击 **Add variable (添加变量)**。 3. **Variable name (变量名)**: 输入 `RESEND_TOKEN`。 4. **Value (值)**: 粘贴你的 Resend 密钥。 5. **Type (类型)**: 选择 **Secret (机密)**。 6. 点击 **Deploy (部署)** 或 **Save (保存)**。 --- ## 🤖 第五部分: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 我的专属邮箱 ``` 4. **BotFather 回复**: "Good. Now let's choose a username... It must end in `bot`..." *(好,现在取个唯一 ID,必须以 bot 结尾。)* 5. **你发送** (唯一 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. 配置小程序按钮 (强烈推荐) 为了解决 HTML 邮件看不了的问题,我们必须配置这个按钮。 1. 对 BotFather 发送:`/mybots` 2. 点击你的机器人 -> **Bot Settings** -> **Menu Button** -> **Configure Menu Button**。 3. **Send me the URL**: 发送你的前端网址 (例如 `https://bb.900900.xyz`)。 4. **Enter a title**: 发送按钮名称 (例如 `打开邮箱`)。 --- ## ✅ 结尾:验收成果 1. **网页测试**:访问 `bb.9009000.xyz`,复制右上角的邮箱地址。 2. **发信测试**:用 QQ 邮箱给它发一封信。 3. **TG 推送测试**: * 在 Telegram 对机器人发送 `/new`,生成一个新地址。 * 给这个新地址发信。 * 手机应该会震动并推送消息。 * 如果提示“解析失败”,点击左下角 **“打开邮箱”** 按钮查看详情。 🎉 **恭喜!你现在拥有了一个永久免费、无限续杯的专属域名邮箱系统!** 🔒 付费内容 购买后可查看完整内容 价格: ¥9.9 VIP会员可享受更低价格 开通VIP 标签:域名邮箱 分享: ← 上一篇 支持 eSIM卡的设备列表:安卓手机,苹果iPhone手机,iPad设备,笔记本电脑 下一篇 jQuery .clearQueue() 方法完全指南:精准控制动画队列 → 💬 评论 😊 😀 😂 😊 😍 🥰 😎 🤔 👍 👏 🎉 ❤️ 🔥 ✨ 💯 😢 🙏 💪 👀 🌟 💖 🌈 提交评论