Deploy with clarity

OmniMail 部署

想快速试用,使用一键部署;准备长期维护,先 Fork 再连接 Cloudflare。无论哪种方式,都应先在测试子域完成真实邮件链路验证。

基于仓库 README Cloudflare Workers Builds Git 驱动更新
快速试用

Deploy to Cloudflare

Cloudflare 导入一份独立仓库快照,并引导创建绑定资源。它不会形成 GitHub Fork,也不会自动同步上游。

  • 启动路径短,适合快速体验
  • 生成独立 GitHub 仓库
  • 后续升级需要自行维护
一键部署到 Cloudflare
Before you begin

部署前需要准备

Cloudflare 账户 以及已托管到 Cloudflare DNS 的域名
GitHub 账户 用于导入快照或维护自己的 Fork
Node.js 22+ 仅在本地开发与手动构建时需要
发信服务(可选) Resend 或 SendFlare;不配置仍可收件
先用测试子域。如果根域名已有邮件服务,建议使用 inbox.example.com 等专用子域测试,不要直接替换现有 MX 记录。
Fork deployment

长期维护路径

01

Fork 仓库并确认上游关系

在 GitHub 创建 Fork。完成后,仓库标题下应显示 forked from mibgb65-cloud/OmniMail

02

导入到 Cloudflare Workers Builds

进入 Cloudflare Dashboard → Workers & Pages → Create application → Import a repository,选择你的 Fork,并使用以下仓库配置。

Project nameomni-mail
Production branchmain
Root directory/
Build commandnpm run build
Deploy commandnpm run deploy
Preview builds首次部署暂时关闭
03

配置首次初始化所需变量

在 Worker 的 Variables & Secrets 中设置两项必需配置。Secret 只保存到 Cloudflare,绝不能提交到 GitHub。

SETUP_TOKEN · Secret至少 32 个 UTF-8 字节的随机值
SUPER_ADMIN_EMAIL · Textowner@example.com
不要复制示例 Token。请在自己的密码管理器或安全终端中生成全新随机值;初始化完成且无需重跑时,可以删除 SETUP_TOKEN。
04

添加自定义域名并启用 Email Routing

在 Worker 的 Domains & Routes 添加 mail.example.com。随后为收件域名启用 Email Routing,确认 Cloudflare 生成的 MX、SPF 与 DKIM 记录,并把 Catch-all 动作设为 Send to a Worker → omni-mail

这一段不会自动完成。一键部署与 Fork 部署都不会替你修改 DNS、MX 或 Email Routing;这些步骤必须在确认影响范围后手动执行。
05

初始化并完成真实链路测试

首次打开站点,依次检查 D1、R2、Queue、SUPER_ADMIN_EMAIL 与 SETUP_TOKEN。创建主管理员后添加收件域名与第一个邮箱,再从外部发一封测试邮件,确认 Routing → Worker → Queue → D1 / R2 全链路。

关于你正在看的这个介绍站

本介绍站是独立的纯静态 Cloudflare Pages 项目:没有 functions/、没有 _worker.js、没有 API。连接本仓库时,Build command 使用 exit 0,Build output directory 使用 . 即可。

Pages static only
Repository is the source of truth

完整部署文档

可选发信、Turnstile、Linux DO、MFA、备份与自动更新都涉及额外 Secret 或权限;本页只覆盖核心路径。