Skip to content

popsiclelmlm/temp_email

Repository files navigation

temp_email - 免费搭建临时邮件服务

中文文档 | English Document

本项目仅供学习和个人用途,请勿将其用于任何违法行为,否则后果自负。

一个功能完整、可私有部署的临时邮箱服务。 基于 Cloudflare 全家桶(Workers / Pages / D1 / Email Routing)运行,零服务器成本即可收发邮件。

本仓库在上游开源项目的基础上做了一次以「更好用、可运营」为目标的重构,重点强化了界面体验、地址生命周期管理与多套餐/配额能力(详见下方 本版本主要改动)。

  • 完全免费 - 基于 Cloudflare 免费服务构建,零成本运行
  • 高性能 - Rust WASM 邮件解析,几乎所有邮件都能解析,响应极快
  • 现代化界面 - 全新 Drift 视觉系统,响应式 + 深色模式,多语言
  • 地址生命周期 - 临时 / 长期 / 永久邮箱,保留倒计时,到期自动清理(永久邮箱不被误删)
  • 可运营 - 套餐 / 配额 / 发信余额展示,按角色控制权益,升级入口可开关

快速开始

部署方式(命令行 / 用户界面 / GitHub Actions)与配置说明见仓库内文档站 vitepress-docs/

cd vitepress-docs
pnpm install
pnpm dev        # 本地预览文档

各子项目的构建命令见 CLAUDE.md。Worker 绑定配置参考 worker/wrangler.toml.template

更新日志

查看 CHANGELOG(中文)/ CHANGELOG_EN(English)了解最新更新内容。

本版本主要改动

相对上游,本仓库新增 / 强化了以下能力:

  • 全新 Drift UI 重设计 - 统一主题 token(冷青主色、雾白/石墨背景、8px 圆角)、品牌化顶栏、桌面侧边工作区导航;地址管理工作台(表格 + 详情面板 + 当前邮箱快速切换),完整深色模式。
  • 地址保留期体系 - 地址区分 临时 / 长期 / 永久 三种保留状态,列表与详情展示保留倒计时;自动清理任务排除 永久 与仍在保留期内的地址,避免误删用户邮箱。
  • 永久邮箱升级 - 可将指定地址升级为永久邮箱,按用户角色 max_permanent_address_count 配额校验并二次确认。
  • 套餐与用量展示 - 展示当前套餐、地址上限、永久配额与发信余额;升级 / 付费入口由环境变量 ENABLE_PAYMENT_ENTRY 控制,关闭时不显示任何升级提示。
  • 每 IP + 域名创建限额 - 新建地址时按「IP × 基础域名」维度限流,缓解匿名滥用,额度可配置。
  • 创建流程增强 - 域名选择器按用户角色过滤可用域名、随机二级域名开关只对支持的域名显示、配额满时保留输入并明确提示原因。
  • 属性测试 - 新增多项前端属性测试(i18n 完整性、导航配置一致性、域名过滤、地址分组不重不漏等)。

升级数据库:全新部署使用 db/schema.sql;从旧版本升级请按日期顺序应用 db/ 下的增量迁移(保留期相关见 db/2026-06-08-retention-and-ip-limit.sql)。

核心功能

核心功能详情(点击收缩/展开)

邮件处理

  • 使用 rust wasm 解析邮件,解析速度快,几乎所有邮件都能解析
  • AI 邮件识别 - 使用 Cloudflare Workers AI 自动提取邮件中的验证码、认证链接、服务链接等重要信息
  • 支持为指定基础域名创建随机二级域名邮箱地址,更适合收件隔离场景
  • 支持发送邮件,支持 DKIM 验证
  • 支持 SMTPResend 等多种发送方式
  • 查看 附件 功能,支持附件图片显示
  • 支持 S3 附件存储和删除功能
  • 垃圾邮件检测和黑白名单配置
  • 邮件转发功能,支持全局转发地址

用户管理

  • 使用 凭证 重新登录之前的邮箱
  • 完整的用户注册登录功能,可绑定多个邮箱地址并一键切换当前邮箱
  • 支持 OAuth2 第三方登录(Github、Authentik 等)
  • 支持 Passkey 无密码登录
  • 用户角色管理,支持多角色域名、前缀与配额(地址上限 / 永久邮箱配额)配置
  • 用户收件箱查看,支持地址和关键词过滤

管理功能

  • 完整的 admin 控制台
  • admin 后台创建无前缀邮箱
  • admin 用户管理页面,支持查看用户地址
  • 定时清理功能,支持多种清理策略,且按地址保留状态保护永久 / 保留期内邮箱
  • 获取自定义名字的邮箱,admin 可配置黑名单
  • 增加访问密码,可作为私人站点

多语言与界面

  • 前后台均支持多语言
  • 全新 Drift 视觉系统,响应式布局 + 深色模式
  • 支持 Google Ads 集成
  • 使用 shadow DOM 防止邮件正文样式污染
  • 支持 URL JWT 参数自动登录

集成与扩展

  • 完整的 Telegram Bot 支持、Telegram 推送与 Telegram Bot 小程序
  • 内置 SMTP proxy server,支持 SMTP 发送、IMAP 查看邮件
  • Webhook 支持,消息推送集成
  • 支持 CF Turnstile 人机验证
  • 限流配置,防止滥用(含每 IP + 域名创建限额)
  • Agent 友好 - 通过 ENABLE_AGENT_EMAIL_INFO 展示 AI Agent 接入信息,便于 AI agent 直接消费邮箱,详见 文档

技术架构

技术架构详情(点击收缩/展开)

系统架构

  • 数据库: Cloudflare D1 作为主数据库
  • 前端部署: 使用 Cloudflare Pages 部署前端
  • 后端部署: 使用 Cloudflare Workers 部署后端
  • 邮件转发: 使用 Cloudflare Email Routing

技术栈

  • 前端: Vue 3 + Vite + Naive UI
  • 后端: TypeScript + Cloudflare Workers(Hono)
  • 邮件解析: Rust WASM (mail-parser-wasm)
  • 数据库: Cloudflare D1 (SQLite)
  • 存储: Cloudflare KV + R2 (可选 S3)
  • 代理服务: Python SMTP/IMAP Proxy Server

主要组件

  • Worker: 核心后端服务(worker/
  • Frontend: Vue 3 用户界面(frontend/
  • Mail Parser WASM: Rust 邮件解析模块(mail-parser-wasm/
  • SMTP Proxy Server: Python 邮件代理服务(smtp_proxy_server/
  • Pages Functions: Cloudflare Pages 中间件(pages/
  • Documentation: VitePress 文档站点(vitepress-docs/

提醒

  • 在 Resend 添加域名记录时,如果您的 DNS 服务商正在托管 3 级域名 a.b.com,请删除 Resend 生成的默认 name 中的二级域名前缀 b,否则会添加成 a.b.b.com 导致验证失败。添加记录后可通过以下命令验证:
nslookup -qt="mx" a.b.com 1.1.1.1

致谢

本项目基于 dreamhunter2333/cloudflare_temp_email 二次开发,上游项目以 MIT 许可 开源。依据 MIT,原始代码的版权声明予以保留(归原作者 Dream Hunter);本仓库在其基础上进行了大量重构与功能增强,这部分改动的版权由本仓库维护者及贡献者享有。感谢上游作者与社区的优秀工作。

About

Cloudflare-based temporary email service with Workers, Pages, D1, R2, SMTP/IMAP, Telegram Bot, and AI-agent friendly workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors