免费0元搭建邮箱:一个域名,无限邮箱
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
AI 时代,账号越来越值钱了。 想多注册几个账号?首先就得准备不同的邮箱。 只需要一个域名,就能创建无数个独立邮箱地址。 每个平台一个邮箱,邮件统一进入自己的收件箱。 更重要的是,整个系统不需要购买服务器,利用 Cloudflare 免费资源,搭配一个开源项目,就能搭建自己的无限邮箱系统。 前置条件
第 1 步:域名托管到 Cloudflare把域名 NS 改到 Cloudflare,等状态从 Pending 变 Active。
Cloudflare 域名列表,状态 Active 实测:免费二级域名托管到 Cloudflare 顺畅,没卡在 NS 或 PSL 上,状态直接 Active。 第 2 步:部署 Worker2.1 Clone 仓库git clone https://github.com/maillab/cloud-mail.git cd cloud-mail/mail-worker2.2 安装 Worker 依赖pnpm install仓库的构建命令只装 2.3 配置 |
domain | ["xxx.ccwu.cc"] | |
admin | admin@xxx.ccwu.cc | |
jwt_secret |

环境变量填写页
Worker → Domains → 添加自定义域 mail.xxx.ccwu.cc。
等 DNS 生效后,浏览器访问:
https://mail.xxx.ccwu.cc/api/init/<你的jwt_secret>返回 success 才算初始化成功。这一步会在 D1 里建表。
浏览器访问后返回纯文本:success(返回 200 OK)。如果返回 Database not initialized 说明 JWT secret 不匹配
Cloudflare → 域名 → 电子邮件服务 → Email Routing → 路由规则。
全收(Catch-all)规则:
cloud-mail(即 Worker 名称)
Catch-all 规则指向 cloud-mail
同时确认 Worker Settings → Trigger Events 里出现了 *@xxx.ccwu.cc 的邮件触发器。
打开 https://mail.xxx.ccwu.cc/login,注册第一个账号(自动成为管理员)。
立刻去系统设置里关闭「开放注册」。
从 Gmail 发一封到 test@xxx.ccwu.cc。
如果 noRecipient 设为 1(默认),而 test@xxx.ccwu.cc 这个地址还没在系统里创建,Cloudflare 会直接 reject 邮件,不会入库,邮件直接消失,D1 里查不到任何记录。
解决方法(二选一):
test@xxx.ccwu.cc 这个邮箱账号setting: 的 noRecipient 改为 0(允许任意收件)改完后重发一封,几秒内就能在 D1 和前端看到。

收件箱里有 2 封真实来信

邮件详情:Gmail 来信
Cloudflare Email Routing Analytics 也能看到数据:过去 7 天 3 封来信,1 封已处理,2 封失败(对应修复前后)。
这是 cloud-mail 用起来最舒服的一点。因为 Email Routing 用的是 Catch-all(全收),发给 anything@xxx.ccwu.cc 的邮件都会被 Worker 接住,不管这个地址有没有在系统里注册过。
前提是 KV 里 setting: 的 noRecipient 设为 0(我们已经在第 8 步改过了)。
在邮箱前端,点左上角的 + 按钮,可以随时添加新邮箱地址:
github@xxx.ccwu.ccshopping@xxx.ccwu.ccnetflix@xxx.ccwu.cc每个地址独立收件箱,互不干扰。哪个服务泄露了你的邮箱,看哪个地址开始收垃圾邮件就知道了。

收件箱列表
manyEmail | |
addEmail | |
noRecipient | |
minEmailPrefix |
管理员的权限默认都是「无限制」。
Gmail 支持 user+tag@gmail.com 这种加号别名,但很多网站注册时会拒绝含 + 的邮箱。用独立域名造地址完全没这个问题,每个地址看起来都是一个正常的独立邮箱。
cloud-mail 默认用 Resend 发件。去 resend.com 添加域名时:

Resend 拒绝免费公共域名
报错原文:
We don't allow free public domains. Please use a domain you own instead.
原因:免费二级域名服务被 Resend 归入"公共域名"黑名单。不是所有免费域名都不行,而是 Resend 会检查域名是否来自公共域名池。如果你花几十块钱注册一个 .com / .xyz 顶级域名,Resend 是能正常验证的。

Cloudflare Email Sending 提示升级计划
Cloudflare 自家的 Email Sending 功能也不行——它在 Workers Paid 计划($5/月起步)才可用。Free 计划页面直接显示"升级您的计划以开始发送邮件"。
即使你在 wrangler.toml 里加了 [[send_email]] name = "email" 绑定,部署也成功,但发信时会报:
email.sending.error.email.sending_disabled纯免费的话只能收信。发信要么出域名钱,要么出订阅钱。
需要 R2 对象存储。R2 免费额度 10GB/月,但需要在 Cloudflare Billing 页面绑定信用卡并确认订阅。本文因 R2 未开通,未能实测 5MB PDF 附件收发。
db | |
kv | |
r2 | |
mail-worker | |
https://mail. | |
success | |
mail-vue 的依赖,mail-worker 的 pnpm install 需要手动跑,文档没提。name 字段如果传完整域名会报 must be a subdomains of 。,留空才正常。文档没说清楚。setting 里 noRecipient 默认为 1,收件人不存在时邮件直接被 reject,不在 D1 留任何痕迹。如果你没有先在系统里创建对应邮箱地址,邮件会凭空消失。文档完全没提醒。能访问:https://mail.xxx.ccwu.cc
管理员:admin@xxx.ccwu.cc
阅读原文:原文链接