🧭 核心功能与特点

该项目旨在提供一个零成本、高性能、功能完整的临时邮箱解决方案,适合个人学习、隐私保护或 AI Agent 集成。其核心优势包括:

  • 完全免费:基于 Cloudflare 的免费套餐(Workers、Pages、D1 数据库、Email Routing)构建。
  • 高性能解析:使用 Rust WASM 解析邮件,速度快且兼容性好。
  • 丰富的功能
    • 支持收发邮件附件(含图片预览)、DKIM 验证
    • 支持 SMTPIMAP 代理,可接入邮件客户端。
    • 集成 Telegram Bot,支持消息推送和管理。
    • 支持 AI 邮件识别,自动提取验证码和认证链接。
    • 提供完整的 Web 管理后台,支持多角色和域名配置。
  • 现代化界面:响应式设计,支持多语言。
  • Agent 友好:内置 Skill,AI Agent 可直接消费邮箱服务。

📦 部署到 Cloudflare

部署过程主要分为几个步骤:准备 Cloudflare 资源、配置域名、部署代码。

1. 准备工作

  • 一个 Cloudflare 账户
  • 一个你拥有的域名(用于接收邮件,例如 example.com)。
  • GitHub 账户(推荐用于自动化部署)。

2. 部署步骤

方式一:通过 GitHub Actions 自动部署(推荐)

  1. Fork 本仓库到你的 GitHub 账户。
  2. 在 Cloudflare 创建 D1 数据库
    • 进入 Cloudflare Dashboard → Workers & Pages → D1。
    • 创建一个新的 D1 数据库,名称可自定义(如 cf-temp-mail-db)。
  3. 配置 GitHub Secrets:在你的 Fork 仓库中,进入 SettingsSecrets and variablesActions,添加以下 Secrets:
    • CF_API_TOKEN:你的 Cloudflare API Token(需有 Workers、Pages、D1 等编辑权限)。
    • CF_ACCOUNT_ID:你的 Cloudflare 账户 ID。
    • D1_DATABASE_ID:你创建的 D1 数据库 ID。
  4. 配置域名邮件路由
    • 在 Cloudflare Dashboard 中,进入你的域名 → Email → Email Routing。
    • 启用 Email Routing,并添加一条 Catch-all 规则,将邮件转发到一个真实的收件地址(用于接收系统通知)或直接路由到 Worker(本项目通常通过 Worker 处理)。
  5. 触发部署:推送到 main 分支,或手动运行 GitHub Actions 中的部署工作流。部署成功后,Worker 和 Pages 项目会自动创建。

方式二:手动部署(适合深入了解)

  1. 克隆仓库到本地。
  2. 安装依赖(Node.js、pnpm)。
  3. 配置 wrangler.toml 或通过命令行设置环境变量(如数据库绑定)。
  4. 使用 pnpm deploywrangler deploy 分别部署 Worker 和 Pages。

3. 初始配置

部署完成后,你需要:

  1. 访问 Pages 项目生成的 URL(即邮箱前端)。
  2. 按照界面引导,完成管理员账号的初始化设置。
  3. 在管理后台配置域名、邮箱前缀规则、SMTP/IMAP 代理等。

⚙️ 关键组件与配置

  • Worker:核心后端,处理邮件的接收、存储、解析和 API 请求。
  • Frontend (Pages):Vue 3 构建的用户界面,包含前台和管理后台。
  • Mail Parser WASM:Rust 编写的邮件解析模块。
  • SMTP/IMAP Proxy Server:一个可选的 Python 代理服务,让用户能用标准邮件客户端(如 Outlook、Thunderbird)连接。
  • 数据库 (D1):存储用户信息、邮件元数据和设置。
  • 存储 (R2):用于存储邮件附件(可选 S3 兼容存储)。

重要配置

  • 环境变量:需要在 Cloudflare Workers 和 Pages 中设置必要的环境变量,如数据库 ID、R2 存储桶名称、管理员密码等。
  • 域名验证:配置完成后,务必通过 nslookup -qt="mx" your-domain.com 等命令验证 MX 记录生效。

🚀 使用方式

  • Web 界面:访问你的 Pages 项目 URL,即可注册/登录临时邮箱。
  • Telegram Bot:按照文档配置 Bot Token 后,可通过 Telegram 接收和发送邮件。
  • 邮件客户端:配置好 SMTP/IMAP 代理后,可使用任何标准邮件客户端访问邮箱。
  • AI Agent Skill:项目中包含一个 Agent Skill,AI Agent 可通过它直接调用邮箱功能(例如自动验证邮件)。

❓ 常见问题与注意事项

  • 费用:项目基于 Cloudflare 免费套餐,通常可以零成本运行。但需注意 Cloudflare 对 Worker 请求、D1 读写和 R2 存储的免费额度限制。
  • SMTP/IMAP 代理:Python 代理服务需要单独部署(推荐使用 Cloudflare Workers 或小型服务器)。
  • 域名要求必须拥有一个域名,并成功配置 Cloudflare 的 Email Routing 功能。
  • 安全性:本项目仅供学习和个人使用,请勿用于违法行为。部署时建议启用访问密码或 CF Turnstile 人机验证,防止被滥用。

总结

Cloudflare 临时邮箱项目为希望自建临时邮件服务的用户提供了一个低成本、功能强大的解决方案。部署的核心是拥有一个域名并借助 GitHub Actions 将项目自动部署到 Cloudflare。其完整的 Web 界面、API 和 Telegram Bot 支持,使其不仅是一个临时邮箱,更是一个可集成的邮件处理平台。如果你熟悉 Cloudflare 生态,这将是一个非常有趣的实战项目。

项目地址:https://github.com/dreamhunter2333/cloudflare_temp_email