一个用 Go + SQLite 重构的临时邮箱平台,保留 MoeMail 现有前端体验。
简体中文 • English
MoeMail 现已用以下核心支撑:
.eml + 附件落本地磁盘,元数据信息写 SQLite。healthz/ready/metrics、systemd/nginx 配置与 deploy/ 里的脚本。本仓库不再依赖 Cloudflare Email Routing、Workers、D1、KV 或 Pages 作为生产路径。
# Go 后端
cd cmd/moemail
go run .
# Next 前端(`MOEMAIL_API_ORIGIN` 指向 Go 服务)
cd /workspace
npm run dev
浏览器访问 http://127.0.0.1:3000,确保 MOEMAIL_API_ORIGIN 指向监听 /api/ 的 Go 服务。
# 1. 导出静态前端,并同步到 internal/webui/out/
npm run build:webui
# 2. 构建带内嵌前端资源的 Go 单体二进制
go build ./cmd/moemail
npm run build:webui 会让 Next 进入 output: "export" 模式,产出 out/,再自动复制到 internal/webui/out/,供 Go //go:embed 直接打进最终二进制。
把 Go 服务配合 systemd 或 Docker 部署(参考 deploy/systemd/moemail.service),并先结束 Cloudflare Workers/Pages。DNS 记录应让 mail.<domain> 直接指向 Go SMTP 监听地址,不再走 Cloudflare Email Routing。若仍想保留 Turnstile,可继续使用,但收信、鉴权与存储全在 Go 进程内部。