自建无限邮箱Cloud-Mail使用教程
CloudMail 无限邮系统后台设置与高级进阶教程
本教程基于GitHub的开源项目[Cloud Mail]详细介绍如何利用 Cloudflare 路由实现虚拟邮箱,以及如何深度配置 CloudMail 系统的后台功能(包含注册限制、人机验证、多号多邮箱模式、Telegram 机器人提醒以及多域名后级扩展)。
一、 极简模式:纯 Cloudflare 邮件路由实现虚拟邮箱
如果不想部署完整的 CloudMail 网页系统,可以直接利用 Cloudflare 的“电子邮箱路由”功能实现一个纯匿名的“全收(Catch-All)”虚拟邮箱。
- 启用全收规则
- 登录 Cloudflare 控制台,进入个人域名(例如
yourdomain.com)。 - 在左侧菜单选择 电子电子邮件 -> 电子电子邮件路由。
- 切换到 路由规则 标签页,找到 全收规则 (Catch-All),点击右侧的三个点选择 编辑。
- 配置转发规则
- 将操作由发送到 Workers 改为 发送到电子电子邮件。
- 在目标输入框中点击 添加新地址,输入常用的真实邮箱。
- 点击 添加地址。
- 邮箱验证与接入
- 去验证邮箱中查收来自 Cloudflare 的验证邮件,点击
Verify email address完成验证。 - 回到 Cloudflare,点击 接入域名(选择配置的域名),点击完成。
- 再次确认全收规则处于 启用 状态。
- 效果
- 此时,任何人向该域名下的任意前缀(如
[email protected],[email protected])发送邮件,都会被无条件转发至设置的真实邮箱,实现“一个域名、无限邮箱”的接收效果。
二、 CloudMail 系统后台:基础设置与安全防刷
进入管理员后台 -> 系统设置,可以对系统进行更高级的控流与定制。
1. 注册与登录控制
- 关闭用户注册:在后台关闭“用户注册”开关后,前端页面的“创建账号”或“注册”按钮会直接隐藏,防止外部不请自来的用户占用资源。
- 隐藏登录后缀:开启“隐藏登录”后,前端登录页面的域名后缀下拉列表会消失。用户需要手动输入完整的邮箱地址才能登录。
2. 注册码(邀请码)模式
为了将系统限制在特定人群或进行收费管理,可以启用注册码:
- 开启“启用注册码”开关。
- 进入 注册密钥 菜单,点击 ➕(加号) 自动生成一条注册码。
- 权限身份选择 普通用户,设置有效日期以及可使用次数。
- 逻辑:一旦该注册码被使用达到指定次数后,再次使用该码注册系统就会报错提示失效。
3. 用户名限制
- 邮箱前缀长度:可以限制用户注册时的用户名至少包含多少个字母或数字(例如至少3位)。
- 禁止包含的字符:可以添加敏感词屏蔽列表,防止用户注册包含不良词汇的邮箱前缀。
三、 多号模式(多虚拟邮箱)与权限控制
CloudMail 引入了“用户”与“虚拟邮箱”相隔离的概念。
- 什么是多号模式?
- 用户注册的主账号(如
[email protected])在系统里被定义为 用户。 - 在该主账号登录状态下,用户可以点击 ➕ 号自主添加其他的衍生邮箱(如
[email protected],[email protected])。 - 收信逻辑:向
123-1或123-2发送的邮件,主邮箱以及对应的子邮箱都能同步收到,类似于一个用户收件箱聚合了多个虚拟外壳。 - 登录逻辑:子邮箱(虚拟邮箱)不能直接用于登录系统,必须通过主邮箱账号进行登录管理。
- 数量限制与开关
- 管理员可以在后台随时关闭“添加邮箱”和“多号模式”功能。
- 如果需要修改每个普通用户自助添加的虚拟邮箱数量上限(默认 10 个),可以进入 权限控制 -> 选择 普通用户 右侧的编辑 -> 在 邮箱侧栏 中调整上限数量,以此来实现海量无限邮箱。
四、 引入 Turnstile 人机验证(防机器人刷单)
为了防止恶意脚本批量自动化注册或疯狂生成邮箱,建议配置 Cloudflare 免费提供的 Turnstile 人机验证。
- 在 Cloudflare 获取密钥
- 在 Cloudflare 左侧主菜单,展开 应用程序和安全 -> 点击 Turnstile。
- 点击右上角 手动添加小部件。
- 小部件名称:随意填写。
- 主机名:选择或输入登录邮箱系统网页端所使用的域名。
- 点击 创建,系统将生成:站点密钥 (Site Key) 和 密钥 (Secret Key)。
- 在 CloudMail 中绑定
- 回到 CloudMail 后台的 人机验证 模块。
- 启用验证,点击铅笔图标编辑,将对应的“站点密钥”与“密钥”复制粘贴进去(注意顺序不要颠倒),保存。
- 开启“注册验证”与“添加邮箱验证”开关。
- 效果:用户在点击注册或在后台点击添加新邮箱时,会强制弹出人机验证框,有效过滤机器流量。
五、 Telegram 机器人新邮件实时提醒
让 Telegram 机器人成为即时“新信件推手”,比刷新网页更高效。
1. 申请 Telegram 机器人
- 在 Telegram 中搜索官方机器人之父:
@BotFather。 - 键入指令
/newbot开始创建。 - 按照提示先给机器人起一个显示名称(Name,可随意)。
- 再输入一个用户名(Username,必须以
bot结尾且全平台唯一)。 - 成功后,
BotFather会下发一串很长的 Token(HTTP API Token),将其复制下来。
2. 获取 Telegram Chat ID
- 为了让机器人精准地推送消息,需要获取 Chat ID。
- 在浏览器地址栏中,输入以下格式的 URL 并回车(注意:保留
bot三个字母,后面紧跟 Token 的值):
1 | https://api.telegram.org/bot<你的Token>/getUpdates |
- 如果页面返回的数据为空,先在 Telegram 里找到刚刚创建的机器人,随便给它发送几条消息,然后刷新上述浏览器页面。
- 此时页面会返回 JSON 数据,找到
"chat":{"id":XXXXXXXXX,...}里面的id数值(注意:复制的是id,不要错拷成了update_id)。
3. 在 CloudMail 中配置
- 回到后台 邮件推送 模块。
- 填入第一步获取的 Telegram Token。
- 填入邮箱系统登录域名。
- 填入第二步获取的 Chat ID。
- 打开下方的启用开关并保存。
- 效果:当有新邮件到达 CloudMail 邮箱时,Telegram 机器人会第一时间弹窗提醒查看信件,速度甚至比登录邮箱后台刷新还要快。
⚠️ 关于第三方邮件转发(如转发到 Gmail)的提示:
在后台“邮件推送”的“转发规则”中,虽然支持填写第三方邮箱(如 Gmail)进行双重转发,但由于 Google 等服务商对垃圾邮件和来路域名的检测机制极为严格,很多时候转过去的邮件会被直接拦截吞掉(垃圾箱也找不到)。因此,更推荐使用 Telegram 机器人 作为核心提醒手段。
六、 进阶:如何绑定并扩展多个域名后缀
如果有多个域名,并希望它们在同一个 CloudMail 系统中都能作为邮箱后缀供用户选择:
- 修改 Workers 环境变量
- 登录 Cloudflare 账户,进入 计算 (Workers 和 Pages) -> 找到 CloudMail 部署项目。
- 进入项目设置,修改名为
DOMAINS(或系统指定的域名数组)的环境变量。 - 格式要求:多个域名必须用英文双引号包裹,并用英文逗号隔开,例如:
["domain1.com","domain2.xyz"]。 - 前提条件:新添加的域名必须也已经托管在当前的同一个 Cloudflare 账户下。
- 修改完成后,点击 重新部署。
- 配置新域名的邮件路由
- 返回 Cloudflare 域名列表,点击新加入的域名。
- 按照系统初次部署时的邮件路由配置方法:将该域名的 全收规则 (Catch-All) 的操作改为 发送到 Workers,目标选择部署的同一个
cloudmailWorkers 项目。 - 开启路由启用开关。
- 效果
- 刷新 CloudMail 系统的注册或添加邮箱页面,新域名的后缀就会自动出现在下拉列表中,新老用户均可无缝使用新域名收发邮件。








