# 零成本自建专属邮箱系统:Cloud Mail 完全指南

## 引言:为什么需要自建邮箱服务?

在数字时代,拥有独立的邮箱系统不仅关乎隐私保护,更是专业形象的体现。想象一下:当你使用 yourname@yourdomain.com 而非公共邮箱与客户沟通时,信任度将大幅提升。但传统企业邮箱动辄每年数百元的费用,让个人和小团队望而却步。

今天我要介绍的 Cloud Mail 彻底改变了这一现状——基于 Cloudflare 免费云平台构建的邮箱系统,零服务器成本零月费,只需一个域名即可创建专业邮箱服务。下面我将详细解析这个开源项目的功能特性、技术架构和部署方法。

>

项目在线演示:https://skymail.ink

## 一、Cloud Mail 核心功能解析

### 1.1 完全免费的云端服务

Cloud Mail 巧妙利用 Cloudflare 的免费资源层:

  • 无服务器架构:运行在 Cloudflare Workers(免费额度:每天10万次请求)
  • 免费数据库:使用 Cloudflare D1(SQLite 数据库)
  • 免费存储:附件存放于 Cloudflare R2(每月10GB免费额度)
  • 邮件推送:通过 Resend 服务发送邮件(免费层每月3000封)

### 1.2 媲美商业邮箱的核心功能

功能类别 具体实现 用户价值
多账号管理 单用户支持绑定多个邮箱地址 统一管理业务/个人邮箱
附件处理 R2对象存储托管附件 支持大文件收发
安全防护 Turnstile人机验证 防止机器人批量注册
管理后台 RBAC权限控制系统 灵活控制用户权限
邮件追踪 Resend投递状态回调 实时监控邮件送达情况
数据可视化 ECharts集成 直观查看系统使用情况

### 1.3 企业级管理功能

管理员后台提供完整控制能力:

  • 用户管理:冻结账户、分配资源配额
  • 邮件审计:查看系统所有邮件往来
  • 系统设置

    • 关闭/开放用户注册
    • 配置邮件发送频率限制
    • 设置私人站点访问模式
  • 资源监控:实时查看存储空间、邮件数量

## 二、技术架构揭秘

### 2.1 前端技术栈

graph LR
A[Vue3] --> B[Element Plus]
A --> C[ECharts]
A --> D[Axios]
  • 响应式设计:自适应PC/手机浏览器
  • 交互体验:类Gmail的邮件操作流程
  • 可视化:邮件数据统计图表

### 2.2 后端技术栈

graph TB
H[Hono] --> D[Drizzle ORM]
H --> K[Cloudflare KV]
H --> R[R2]
H --> D1[D1]
  • Web框架:Hono(专为边缘计算优化的轻量框架)
  • 数据库层:Drizzle ORM 操作 D1 数据库
  • 缓存系统:Cloudflare KV 存储会话数据
  • 文件系统:R2 对象存储托管附件

### 2.3 邮件处理流程

1. 收件 -> Cloudflare邮件路由 -> Worker处理
2. 发件 -> Resend API -> 投递状态回调
3. 附件 -> R2上传/下载接口

## 三、详细部署教程

### 3.1 环境准备

# 必需工具
Node.js v18.20+
Cloudflare 账号(需绑定域名)
Git

# 克隆代码库
git clone https://github.com/LaziestRen/cloud-mail
cd cloud-mail/mail-worker
npm install

### 3.2 基础设施配置

在Cloudflare控制台创建:

  1. D1数据库:用于存储用户/邮件数据
  2. KV命名空间:用于缓存会话
  3. R2存储桶:用于附件存储
  4. Workers:准备部署后端

### 3.3 配置文件修改

编辑 wrangler.toml

[[d1_databases]]
binding = "db"
database_name = "cloudmail_db"  # 替换为你的D1名称
database_id = "xxxx-xxxx-xxxx" # 替换为D1 ID

[[kv_namespaces]]
binding = "kv"
id = "xxxx-xxxx-xxxx"         # KV命名空间ID

[[r2_buckets]]
binding = "r2"
bucket_name = "attachments"   # R2存储桶名称

[assets]
binding = "assets"
directory = "./dist"

[vars]
domain = ["yourdomain.com"]   # 你的邮箱域名
admin = "admin@yourdomain.com"# 管理员邮箱
jwt_secret = "secure_string"  # 加密密钥

### 3.4 部署到Cloudflare

# 执行部署命令
npm run deploy

# 初始化数据库
访问 https://yourdomain.com/api/init/你的jwt_secret

### 3.5 配置邮件路由

  1. 进入 Cloudflare 控制台
  2. 导航到:电子邮件 → 电子邮件路由
  3. 创建路由规则:*@yourdomain.com 转发到你的Worker

### 3.6 Resend配置(邮件发送)

  1. 注册 Resend 账号
  2. 添加并验证你的域名
  3. 创建API Key并填入Cloud Mail后台
  4. 设置Webhook:https://yourdomain.com/api/webhooks

## 四、进阶使用技巧

### 4.1 多域名配置

支持同时管理多个域名邮箱:

[vars]
domain = ["business.com", "personal.net"]

### 4.2 邮件自动转发

设置规则将特定邮件转发到Telegram:

// 在邮件处理逻辑中添加
if (mail.subject.includes("紧急")) {
  forwardToTelegram(mail);
}

### 4.3 存储优化策略

graph LR
A[新附件] --> B{大小判断}
B -- <5MB --> C[直接存入R2]
B -- >5MB --> D[生成预签名链接]

## 五、本地开发指南

### 5.1 启动开发环境

npm run dev
# 访问 http://localhost:8787

### 5.2 初始化本地数据库

访问 http://127.0.0.1:8787/api/init/你的jwt_secret

### 5.3 配置特殊参数

# 在开发模式下
R2域名 = http://127.0.0.1:8787/api/file
关闭Turnstile验证

## 六、项目目录解析

cloud-mail
├── mail-worker         # 后端核心
│   ├── src/api         # RESTful接口
│   ├── src/email       # 邮件处理逻辑
│   ├── src/entity      # 数据库模型
│   └── src/service     # 业务逻辑层
└── mail-vue            # 前端工程
    ├── src/views       # 所有页面组件
    ├── src/store       # 全局状态管理
    └── src/request     # API请求封装

关键文件说明:

  • mail-worker/src/email/receiver.js – 邮件接收处理器
  • mail-vue/src/views/mail/Compose.vue – 邮件编写组件
  • mail-worker/src/service/user.service.js – 用户管理逻辑

## 七、常见问题解答(FAQ)

### Q1:需要多少预算才能运行?

零费用! Cloudflare Workers、D1、R2都有永久免费额度,Resend每月免费3000封邮件足够个人使用。

### Q2:能支持多少用户?

实测数据:

  • 100活跃用户:日均500封邮件
  • D1数据库:最高支持500MB数据
  • 免费额度内支持中小团队使用

### Q3:邮件投递可靠性如何?

通过Resend发送邮件:

  • 专业邮件服务商投递
  • 投递成功率 > 99.5%
  • 支持DKIM/SPF认证

### Q4:如何备份数据?

建议方案:

# 导出D1数据库
wrangler d1 export your-db --output ./backup.sql

# 定时备份到GitHub
0 2 * * * /path/to/backup_script.sh

### Q5:手机端体验如何?


完全响应式设计:

  • 移动端专属布局
  • 触控优化操作
  • 附件预览功能

## 八、未来发展方向

根据项目路线图,即将推出:

  1. 邮件自动分类:基于内容自动归档
  2. 团队协作空间:共享邮件线程
  3. 日历集成:邮件转会议邀约
  4. 多语言支持:中英文界面切换

## 结语:开启你的专属邮箱之旅

Cloud Mail 打破了自建邮箱的技术壁垒和经济门槛。通过本文指南,您已经掌握:

  • 免费邮箱系统的部署方法
  • 企业级功能的配置技巧
  • 日常运维的最佳实践

>

项目地址:https://github.com/LaziestRen/cloud-mail
问题交流:Telegram群组

现在就开始行动吧!只需30分钟,您就能拥有媲美付费服务的专属邮箱系统。期待在社区看到您的实践分享和创新改进。