- 🎯 隐私友好,无需注册,开箱即用
✈️ 支持邮件收发- ✨ 支持保存密码,找回邮箱
- 😄 支持多域名后缀
- 🚀 快速部署,纯 Cloudflare 方案,无需服务器
原理:
- Email worker 接收电子邮件
- 前端 (Vite + React) 显示电子邮件
- 邮件存储 (Cloudflare D1)
- 发信使用 MailChannels API
本项目已完全基于 Cloudflare Pages 和 Cloudflare D1 构建,大大简化了部署流程。您只需要一个托管在 Cloudflare 上的域名即可。
- Cloudflare 账户与托管在 Cloudflare 上的域名
- 本地安装 Node.js 环境 (版本 >= 18.x) 和 pnpm
本项目已包含一个预先配置好的 GitHub Action 工作流,可以帮助您自动将 vMail 应用部署到 Cloudflare。
详细步骤请参考 GitHub Action 自动部署教程。
-
克隆项目到本地
git clone https://github.com/oiov/vmail cd vmail pnpm install -
创建 Cloudflare D1 数据库 在 Cloudflare 控制台或使用 Wrangler CLI 创建一个 D1 数据库。
-
配置
wrangler.toml将根目录下的wrangler.toml文件中的${...}占位符替换为您的 Cloudflare 和 D1 配置信息。您也可以通过 Cloudflare Pages 的环境变量来设置这些值。 -
构建和部署
# 构建前端应用 pnpm run build # 部署到 Cloudflare pnpm run deploy
Wrangler 将会自动处理前端静态资源和 Worker 的部署,并根据配置应用数据库迁移。
-
配置电子邮件路由 在您的 Cloudflare 域名管理界面,进入
Email->Email Routing->Routes,设置一个Catch-all规则,将所有发送到您域名的邮件Send to a Worker,选择您刚刚部署的 Worker。
-
复制环境变量文件
# 此命令会创建一个本地环境变量文件,wrangler dev 会自动加载 cp .env.example .env -
填写本地环境变量 在
.env文件中填写必要的环境变量,特别是D1_DATABASE_ID等。您需要先在 Cloudflare 创建一个 D1 数据库用于本地开发。 -
启动开发服务器
pnpm run dev
该命令会同时启动前端 Vite 开发服务器和本地的 Wrangler Worker 环境。
GNU General Public License v3.0