LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

免费0元搭建邮箱:一个域名,无限邮箱

admin
2026年11月6日 22:17 本文热度 464

AI 时代,账号越来越值钱了。

想多注册几个账号?首先就得准备不同的邮箱。

只需要一个域名,就能创建无数个独立邮箱地址。

每个平台一个邮箱,邮件统一进入自己的收件箱。

更重要的是,整个系统不需要购买服务器,利用 Cloudflare 免费资源,搭配一个开源项目,就能搭建自己的无限邮箱系统。



前置条件

  • 一个 Cloudflare 账号(免费版就够收信用)
  • 一个域名(我用一个免费二级域名,下面统一写成 xxx.ccwu.cc)
  • Node.js + pnpm 环境
  • Wrangler CLI

第 1 步:域名托管到 Cloudflare

把域名 NS 改到 Cloudflare,等状态从 Pending 变 Active。

Cloudflare 域名列表,状态 Active

实测:免费二级域名托管到 Cloudflare 顺畅,没卡在 NS 或 PSL 上,状态直接 Active。


第 2 步:部署 Worker

2.1 Clone 仓库

git clone https://github.com/maillab/cloud-mail.git cd cloud-mail/mail-worker

2.2 安装 Worker 依赖

pnpm install

仓库的构建命令只装 mail-vue 的前端依赖,mail-worker 的后端依赖得手动装。跳过这步,wrangler deploy 会报 Could not resolve "drizzle-orm"、Could not resolve "dayjs"。

2.3 配置 wrangler.toml

在 mail-worker/wrangler.toml 里:

[[d1_databases]] binding = "db" database_name = "cloud-mail-db" database_id = "<你的D1数据库ID>"  [[kv_namespaces]] binding = "kv" id = "<你的KV命名空间ID>"  [vars] domain = ["xxx.ccwu.cc"] admin = "admin@xxx.ccwu.cc" jwt_secret = "<随机长字符串>"

变量名要对得上:db、kv、domain、admin、jwt_secret,写错程序找不到。

2.4 Wrangler OAuth 登录(小坑)

npx wrangler login

第一次跑会打开浏览器授权,但 Windows 非交互环境下容易超时。如果超时,重新跑一次命令,浏览器里点允许就行。

2.5 部署

npx wrangler deploy

部署成功后会输出 Worker URL 和版本 ID。

部署输出:Deployed cloud-mail triggers (3.43s) / Current Version ID: 94548d54

第 3 步:创建 D1 / KV / R2 并绑定

在 Cloudflare 控制台:

  • D1 数据库
    → 创建 cloud-mail-db → 绑定变量名 db
  • KV 命名空间
    → 创建 cloud-mail-kv → 绑定变量名 kv
  • R2 存储桶
    (附件功能可选)→ 绑定变量名 r2

R2 需要单独开通订阅(免费额度 10GB/月,但要在 Billing 里确认),如果没绑卡可能开通不了。

D1/KV/R2 绑定界面

Worker 部署后可以在 Settings → Bindings 页面确认绑定是否生效。


第 4 步:环境变量

Worker Settings → Variables:

变量名
类型
值
domain
JSON
["xxx.ccwu.cc"]
admin
变量
admin@xxx.ccwu.cc
jwt_secret
变量
随机长字符串(建议 32+ 字符)

环境变量填写页


第 5 步:绑定自定义域名并初始化

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 不匹配



第 6 步:打开收信通道

Cloudflare → 域名 → 电子邮件服务 → Email Routing → 路由规则。

全收(Catch-all)规则:

  • 操作:cloud-mail(即 Worker 名称)
  • 状态:活跃

Catch-all 规则指向 cloud-mail

同时确认 Worker Settings → Trigger Events 里出现了 *@xxx.ccwu.cc 的邮件触发器。


第 7 步:注册管理员账号

打开 https://mail.xxx.ccwu.cc/login,注册第一个账号(自动成为管理员)。

立刻去系统设置里关闭「开放注册」。


第 8 步:收信实测

从 Gmail 发一封到 test@xxx.ccwu.cc。

如果 noRecipient 设为 1(默认),而 test@xxx.ccwu.cc 这个地址还没在系统里创建,Cloudflare 会直接 reject 邮件,不会入库,邮件直接消失,D1 里查不到任何记录。

解决方法(二选一):

  • 先在系统里添加 test@xxx.ccwu.cc 这个邮箱账号
  • 去 KV 里把 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.cc
     → 专门给 GitHub 用
  • shopping@xxx.ccwu.cc
     → 专门给电商平台用
  • netflix@xxx.ccwu.cc
     → 专门给流媒体用

每个地址独立收件箱,互不干扰。哪个服务泄露了你的邮箱,看哪个地址开始收垃圾邮件就知道了。

收件箱列表

系统设置相关

设置项
说明
manyEmail
是否允许用户创建多个邮箱(0=允许)
addEmail
是否允许添加邮箱(0=允许)
noRecipient
收件人不存在时的行为(0=照收,1=拒绝)
minEmailPrefix
邮箱前缀最短长度(默认 1)

管理员的权限默认都是「无限制」。

和 Gmail 别名(+ 号)的区别

Gmail 支持 user+tag@gmail.com 这种加号别名,但很多网站注册时会拒绝含 + 的邮箱。用独立域名造地址完全没这个问题,每个地址看起来都是一个正常的独立邮箱。

第 9 步:发信

发信第一个卡点:Resend 拒绝免费域名

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 提示升级计划

Cloudflare 自家的 Email Sending 功能也不行——它在 Workers Paid 计划($5/月起步)才可用。Free 计划页面直接显示"升级您的计划以开始发送邮件"。

即使你在 wrangler.toml 里加了 [[send_email]] name = "email" 绑定,部署也成功,但发信时会报:

email.sending.error.email.sending_disabled

发信能走的路

方案
费用
条件
Resend + 自己注册的域名
域名 ~$10/年
域名不能来自公共域名池
Cloudflare Email Sending
Workers Paid $5/月
付费计划
其他 SMTP/API 服务
免费额度
看各家的域名策略

纯免费的话只能收信。发信要么出域名钱,要么出订阅钱。


附:附件功能

需要 R2 对象存储。R2 免费额度 10GB/月,但需要在 Cloudflare Billing 页面绑定信用卡并确认订阅。本文因 R2 未开通,未能实测 5MB PDF 附件收发。


参数速查

项目
值
D1 变量名
db
KV 变量名
kv
R2 变量名
r2
(未绑定)
Worker 根目录
mail-worker
jwt_secret 长度
43 字符
初始化 URL 格式
https://mail./api/init/
初始化返回
success
收信延迟
< 60 秒
发信
不可用(见上文)
附件
未实测(R2 未开通)

文档里没写的四处

  • 构建命令不装 Worker 依赖
    :README 和构建流程都只装前端 mail-vue 的依赖,mail-worker 的 pnpm install 需要手动跑,文档没提。
  • Cloudflare Email Routing DNS 启用接口
    :API 传 name 字段如果传完整域名会报 must be a subdomains of 。,留空才正常。文档没说清楚。
  • Wrangler OAuth 超时
    :Windows 非交互环境下经常超时,需要重试。文档没提。
  • noRecipient 默认值坑
    :setting 里 noRecipient 默认为 1,收件人不存在时邮件直接被 reject,不在 D1 留任何痕迹。如果你没有先在系统里创建对应邮箱地址,邮件会凭空消失。文档完全没提醒。

最终邮箱地址

能访问:https://mail.xxx.ccwu.cc

管理员:admin@xxx.ccwu.cc


阅读原文:原文链接


该文章在 2026/11/9 9:35:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号