文档
快速开始

快速开始

用最短路径把 wr.do 跑成一个中文个人邮箱网站。

适用场景

这份快速开始适合你想做的是:

  • 只给自己或小范围成员使用
  • 只保留邮箱相关能力
  • 不开放陌生人注册
  • 希望用 Vercel + Cloudflare 这一套稳定上线

如果你的目标也是这样,直接继续下面这套最小路径即可。

第一步:准备资源

先准备好这些外部资源:

  • Cloudflare 账号和一个已接入 Cloudflare 的域名
  • Vercel 项目
  • Postgres 数据库
  • Brevo API Key
  • Cloudflare R2 存储桶

第二步:配置站点环境变量

本地或 Vercel 至少需要这些变量:

NEXT_PUBLIC_APP_URL=https://mail.yourdomain.com
NEXT_PUBLIC_APP_NAME=你的邮箱站名称
NEXT_PUBLIC_PERSONAL_MODE=true
DATABASE_URL=postgres://...
AUTH_SECRET=...
AUTH_URL=https://mail.yourdomain.com
BREVO_API_KEY=...
EMAIL_FROM=support@yourdomain.com
EMAIL_FROM_NAME=你的站点名称
NEXT_PUBLIC_SUPPORT_EMAIL=support@yourdomain.com

如果你希望附件走自定义访问域名,再加上:

NEXT_PUBLIC_EMAIL_R2_DOMAIN=https://mail-assets.yourdomain.com

第三步:先把主站跑起来

pnpm install
pnpm dev

如果是首次部署,还要确保数据库结构已经初始化。

你需要先确认三件事:

  • 首页能打开
  • 登录页能打开
  • 管理员后台能打开

第四步:在后台添加邮箱域名

进入 /admin/system/domains 后,先只添加一个域名,并保持站点定位聚焦在邮箱能力:

  • 开启 Email Service
  • 关闭 Shorten Service
  • 关闭 Subdomain Service

这样你的站点就不会再像一个综合平台,而是更接近一个私人邮箱门户。

第五步:配置发信

在 Brevo 里完成发信域名验证后:

  • 将 API Key 填入全局环境变量或域名级配置
  • EMAIL_FROM 设置为已验证的发件地址
  • 从站内向 Gmail 和 Outlook 各发送一封测试邮件

看到成功送达,说明发信链路已经通了。

第六步:配置收信

推荐链路如下:

Cloudflare Email Routing
  -> Email Worker
  -> R2
  -> /api/v1/email-catcher

你需要:

  • 部署 Cloudflare Email Worker
  • 把附件写入 R2
  • 在 Worker 中配置 APP_API_URL
  • 在 Cloudflare Email Routing 中把规则指向该 Worker

第七步:验证整条邮箱链路

完成后,用两个外部邮箱做真实测试:

  • Gmail -> 你的域名邮箱
  • Outlook -> 你的域名邮箱
  • 你的站内邮箱 -> Gmail
  • 你的站内邮箱 -> Outlook

再额外发一封带附件的邮件,确认附件能在前端正常访问。

推荐下一篇

实际部署步骤请继续看 个人邮箱部署