编程 Cloud Mail:基于Cloudflare的简约邮箱服务,零服务器成本搭建私人邮箱

2026-06-21 07:17:42 +0800 CST views 10

Cloud Mail:基于 Cloudflare 的简约邮箱服务,零服务器成本搭建私人邮箱

标签: Cloudflare / 邮箱服务 / 开源 / Workers / Hono / Vue3 / Resend / R2 / D1
原文: 微信公众号「一飞开源」https://mp.weixin.qq.com/s/AbAkKuo-j5x7MYLjhWd9WA
GitHub: https://github.com/maillab/cloud-mail
License: MIT


一句话定位

Cloud Mail 是一个基于 Cloudflare 全家桶的简约响应式邮箱服务。只需要一个域名,就可以创建多个不同的邮箱,部署到 Cloudflare Workers,零服务器成本搭建自己的邮箱服务。


功能概览

功能说明
💰 低成本部署到 Cloudflare Workers,无需服务器
💻 响应式自动适配 PC 和手机端浏览器
📧 邮件发送集成 Resend,支持群发、内嵌图片、附件、发送状态查看
🛡️ 管理员用户/邮件管理,RBAC 权限控制,资源限制
📦 附件收发R2 对象存储保存和下载文件
🔔 邮件推送接收邮件后转发到 TG 机器人或其他邮箱
📡 开放 API批量生成用户、多条件查询邮件
🔢 验证码识别Workers AI 自动识别邮件验证码
📈 数据可视化ECharts 展示系统数据、用户邮件增长
🎨 个性化自定义网站标题、登录背景、透明度
🤖 人机验证Turnstile 防止批量注册

技术栈:Cloudflare 全家桶

组件技术
平台Cloudflare Workers
Web 框架Hono
ORMDrizzle
前端框架Vue3
UI 框架Element Plus
邮件发送Resend
缓存Cloudflare KV
数据库Cloudflare D1
文件存储Cloudflare R2

核心优势:从运行时、数据库、缓存、文件存储到邮件发送,全部基于 Cloudflare 生态,无需自建任何服务器


架构解析

┌─────────────────────────────────────────┐
│  Vue3 + Element Plus (前端)              │
│  响应式布局 · ECharts 可视化 · i18n       │
├─────────────────────────────────────────┤
│  Cloudflare Workers (后端)               │
│  Hono · Drizzle ORM · RBAC · Turnstile  │
├─────────────────────────────────────────┤
│  Cloudflare 生态                         │
│  D1 (数据库) · KV (缓存) · R2 (文件)      │
│  Resend (邮件) · Workers AI (验证码)      │
└─────────────────────────────────────────┘

项目结构

后端(mail-worker)

mail-worker/
├── src/
│   ├── api/              # API 接口层
│   ├── const/            # 项目常量
│   ├── dao/              # 数据访问层
│   ├── email/            # 邮件处理与接收
│   ├── entity/           # 数据库实体
│   ├── error/            # 自定义异常
│   ├── hono/             # Web 框架配置、拦截器、全局异常
│   ├── i18n/             # 语言国际化
│   ├── init/             # 数据库缓存初始化
│   ├── model/            # 响应体数据封装
│   ├── security/         # 身份权限认证
│   ├── service/          # 业务服务层
│   ├── template/         # 消息模板
│   ├── utils/            # 工具类
│   └── index.js          # 入口文件
├── package.json
└── wrangler.toml         # Cloudflare Workers 配置

前端(mail-vue)

mail-vue/
├── src/
│   ├── axios/            # Axios 配置
│   ├── components/       # 自定义组件
│   ├── echarts/          # ECharts 组件导入
│   ├── i18n/             # 语言国际化
│   ├── init/             # 入站初始化
│   ├── layout/           # 主体布局组件
│   ├── perm/             # 权限认证
│   ├── request/          # API 接口
│   ├── router/           # 路由配置
│   ├── store/            # 全局状态管理
│   ├── utils/            # 工具类
│   ├── views/            # 页面组件
│   ├── app.vue
│   ├── main.js
│   └── style.css
├── package.json
└── env.release           # 项目配置

亮点解读

1. 零服务器成本

传统邮箱服务需要 VPS + 邮件服务器软件(Postfix/Dovecot),维护成本高。Cloud Mail 全部跑在 Cloudflare Workers 上,利用 Cloudflare 免费额度,个人使用几乎零成本。

2. 一个域名多个邮箱

类似 Gmail 别名,但更灵活。一个域名下可以创建多个独立邮箱账户,适合:

  • 个人不同用途分离(工作/注册/临时)
  • 小团队共享域名邮箱
  • 临时邮箱服务

3. 验证码自动识别

利用 Workers AI 自动识别邮件中的验证码。这个功能非常实用——很多场景只需要从邮件里提取验证码,不需要看全文。

4. 邮件推送到 Telegram

接收邮件后自动转发到 TG 机器人,实时感知新邮件,不用频繁登录查看。

5. RBAC 权限 + 开放 API

管理员可以控制用户权限和资源限制,API 支持批量创建用户和查询邮件,适合需要程序化管理的场景。


适合谁用?

  • 🏠 个人用户:想拥有自己域名的邮箱,不想花钱买服务器
  • 🏢 小团队:需要域名邮箱 + 权限管理
  • 🔧 开发者:需要邮箱 API 集成到自己的应用中
  • 📮 临时邮箱:注册网站用的一次性邮箱服务
  • 🌐 Cloudflare 用户:已经在用 Cloudflare 生态,想加一个邮箱服务

竞品对比

对比项Cloud Mail自建 PostfixZoho MailMigadu
服务器无需需要 VPS无需无需
成本近零VPS 费用免费版有限按域名收费
自定义域名
开源✅ MIT
验证码识别✅ Workers AI
TG 推送需自建
管理后台✅ RBAC需自建

快速开始

前置条件

  • 一个域名
  • Cloudflare 账号
  • Resend 账号(邮件发送)

部署步骤

  1. Clone 项目
  2. 配置 wrangler.toml(D1、KV、R2 绑定)
  3. 部署 Workers:npx wrangler deploy
  4. 配置域名 DNS(MX 记录指向 Cloudflare)
  5. 构建 Vue 前端并部署到 Cloudflare Pages

总结

Cloud Mail 把邮箱服务这件事做轻了——用 Cloudflare Workers 代替 VPS,用 D1 代替 MySQL,用 R2 代替文件服务器,用 Resend 代替 Postfix。如果你有一个域名,想零成本搭一个私人邮箱服务,Cloud Mail 是目前最优雅的开源方案之一。

核心价值

  • 🆓 零服务器成本(Cloudflare 免费额度)
  • 🔧 完整功能(发送/接收/附件/推送/验证码识别)
  • 🔐 权限管理(RBAC + Turnstile)
  • 📡 开放 API(批量操作/程序化管理)
  • 🌍 响应式 + i18n

相关链接


Keywords: Cloud Mail, Cloudflare Workers, 邮箱服务, Hono, Vue3, Resend, D1, R2, 零服务器, 开源项目, RBAC, Turnstile, 验证码识别

推荐文章

在 Rust 生产项目中存储数据
2024-11-19 02:35:11 +0800 CST
Vue3中如何实现响应式数据?
2024-11-18 10:15:48 +0800 CST
Nginx 反向代理 Redis 服务
2024-11-19 09:41:21 +0800 CST
前端如何一次性渲染十万条数据?
2024-11-19 05:08:27 +0800 CST
全栈利器 H3 框架来了!
2025-07-07 17:48:01 +0800 CST
PHP 8.4 中的新数组函数
2024-11-19 08:33:52 +0800 CST
CSS 奇技淫巧
2024-11-19 08:34:21 +0800 CST
程序员茄子在线接单