基于 Cloudflare Workers、D1 和 Email Routing 的自托管临时邮箱服务,提供自定义域名地址管理、邮件收发和附件查看,可通过 Web 界面、SMTP/IMAP 代理及 Agent 接口访问邮箱。
本仓库源自 dreamhunter2333/cloudflare_temp_email,保留上游提交历史及 MIT 许可证。下述核心功能来自上游;本分支的介绍整理记录在 更新日志 中。
| 场景 | 实现与能力 |
|---|---|
| 自定义域名收件 | Email Routing 将来信交给 Worker 处理,邮件保存在 D1,支持地址创建、密码和生命周期管理。 |
| 邮件阅读与附件 | Web 收件箱支持邮件检索、正文和附件查看;前端优先使用 Rust WASM 解析邮件,并以 postal-mime 回退。 |
| 按需发信 | 支持 Resend、SMTP 等发送方式,需配置对应服务、域名和发送额度。 |
| 用户与站点访问 | 支持用户账号、OAuth2、Passkey、地址凭证、站点访问密码和域名权限配置。 |
| 通知与集成 | 支持邮件转发、Webhook、Telegram 推送及 SMTP/IMAP 代理。 |
| Agent 访问 | 提供解析后的邮件查询接口和 邮箱使用 skill,由用户提供邮箱地址凭证。 |
- 后端:TypeScript、Hono、Cloudflare Workers、Email Routing、D1。
- 前端:Vue 3、Vite、Naive UI;通过 Cloudflare Pages 或 Worker 静态资源部署。
- 邮件解析:Worker 默认使用 postal-mime;前端使用 mail-parser-wasm,并保留 postal-mime 回退。
- 可选组件:KV、R2/S3、Workers AI、Resend、Python SMTP/IMAP 代理。
- 自动化测试:仓库包含基于 Playwright、Docker Compose 和 Mailpit 的 API、浏览器及邮件代理测试。
收件需要配置自有域名的 Email Routing;发信、对象存储、AI 提取和通知集成取决于实际配置及服务额度。部署成本随域名、服务套餐和使用量变化。
现有 Agent skill 使用邮箱地址凭证查询或发送邮件,不负责创建邮箱,也未提供任务级只读凭证隔离。本文描述代码能力,不代表本分支已完成独立部署、成本评估或性能验收。
mail.awsl.uk 是上游项目提供的演示实例,不代表本仓库维护者的独立部署。部署和功能说明请结合本分支版本及所用配置核对。
核心功能详情(点击收缩/展开)
- 前端优先使用
mail-parser-wasm解析邮件,失败时回退到postal-mime;Worker 默认使用postal-mime - AI 邮件识别 - 使用 Cloudflare Workers AI 自动提取邮件中的验证码、认证链接、服务链接等重要信息
- 支持为指定基础域名创建随机二级域名邮箱地址,更适合收件隔离场景
- 支持发送邮件,支持
DKIM验证 - 支持
SMTP和Resend等多种发送方式 - 增加查看
附件功能,支持附件图片显示 - 支持 S3 附件存储和删除功能
- 垃圾邮件检测和黑白名单配置
- 邮件转发功能,支持全局转发地址
- 使用
凭证重新登录之前的邮箱 - 添加完整的用户注册登录功能,可绑定邮箱地址,绑定后可自动获取邮箱JWT凭证切换不同邮箱
- 支持
OAuth2第三方登录(Github、Authentik 等) - 支持
Passkey无密码登录 - 用户角色管理,支持多角色域名和前缀配置
- 用户收件箱查看,支持地址和关键词过滤
- 完整的 admin 控制台
-
admin后台创建无前缀邮箱 - admin 用户管理页面,增加用户地址查看功能
- 定时清理功能,支持多种清理策略
- 获取自定义名字的邮箱,
admin可配置黑名单 - 增加访问密码,可作为私人站点
- 前后台均支持多语言
- 现代化 UI 设计,支持响应式布局
- 支持 Google Ads 集成
- 使用 shadow DOM 防止样式污染
- 支持 URL JWT 参数自动登录
- 完整的
Telegram Bot支持,以及Telegram推送,Telegram Bot 小程序 - 添加
SMTP proxy server,支持SMTP发送邮件,IMAP查看邮件 - Webhook 支持,消息推送集成
- 支持
CF Turnstile人机验证 - 限流配置,防止滥用
- Agent 友好:内置
cf-temp-mail-agent-mailskill,AI agent 可直接消费邮箱,详见 文档 - 社区移动端管理客户端:CloudMail 基于 Expo / React Native,面向本项目兼容 API,提供 Android 管理员后台、地址管理、收件/发件/未知邮件、验证码快捷复制、OLED 黑主题和本地分组。
技术架构详情(点击收缩/展开)
- 数据库: Cloudflare D1 作为主数据库
- 前端部署: 使用 Cloudflare Pages 部署前端
- 后端部署: 使用 Cloudflare Workers 部署后端
- 邮件转发: 使用 Cloudflare Email Routing
- 前端: Vue 3 + Vite + Naive UI
- 后端: TypeScript + Cloudflare Workers
- 邮件解析: Worker 使用 postal-mime;前端使用 Rust WASM 并保留 postal-mime 回退
- 数据库: Cloudflare D1 (SQLite)
- 存储: Cloudflare KV + R2 (可选 S3)
- 代理服务: Python SMTP/IMAP Proxy Server
- Worker: 核心后端服务
- Frontend: Vue 3 用户界面
- Mail Parser WASM: Rust 邮件解析模块
- SMTP Proxy Server: Python 邮件代理服务
- Pages Functions: Cloudflare Pages 中间件
- Documentation: VitePress 文档站点
- 在Resend添加域名记录时,如果您域名解析服务商正在托管您的3级域名a.b.com,请删除Resend生成的默认name中二级域名前缀b,否则将会添加a.b.b.com,导致验证失败。添加记录后,可通过
nslookup -qt="mx" a.b.com 1.1.1.1进行验证。