# Cloudflare Temp Email - Free Temporary Email Service

docs MIT License GitHub contributors GitHub top language

Featured|HelloGitHub

中文文档 | English Document

> This project is for learning and personal use only. Please do not use it for any illegal activities, or you will be responsible for the consequences. **A fully-featured temporary email service!** - **Completely Free** - Built on Cloudflare's free services with zero cost - **High Performance** - Rust WASM email parsing for extremely fast response - **Modern UI** - Responsive design with multi-language support and easy operation - **Address Password** - Support setting individual passwords for email addresses to enhance security - **Agent-friendly** - Built-in mailbox [`skill`](skills/cf-temp-mail-agent-mail/SKILL.md) for AI agents - **Mobile admin** - Community client [CloudMail](https://github.com/Lur1N77777/CloudMail) for Android admin and mailbox management ## Deployment Documentation - Quick Start [Documentation](https://temp-mail-docs.awsl.uk) | [Github Action Deployment Guide](https://temp-mail-docs.awsl.uk/en/guide/actions/github-action.html) Deploy to Cloudflare Workers ## Changelog See [CHANGELOG](CHANGELOG.md) for the latest updates. ## Live Demo Try it now → [https://mail.awsl.uk/](https://mail.awsl.uk/)
Service Status Monitoring (Click to expand/collapse) | | | | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [Backend](https://temp-email-api.awsl.uk/) | [![Deploy Backend Production](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/backend_deploy.yaml/badge.svg)](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/backend_deploy.yaml) ![](https://uptime.aks.awsl.icu/api/badge/10/status) ![](https://uptime.aks.awsl.icu/api/badge/10/uptime) ![](https://uptime.aks.awsl.icu/api/badge/10/ping) ![](https://uptime.aks.awsl.icu/api/badge/10/avg-response) ![](https://uptime.aks.awsl.icu/api/badge/10/cert-exp) ![](https://uptime.aks.awsl.icu/api/badge/10/response) | | [Frontend](https://mail.awsl.uk/) | [![Deploy Frontend](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/frontend_deploy.yaml/badge.svg)](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/frontend_deploy.yaml) ![](https://uptime.aks.awsl.icu/api/badge/12/status) ![](https://uptime.aks.awsl.icu/api/badge/12/uptime) ![](https://uptime.aks.awsl.icu/api/badge/12/ping) ![](https://uptime.aks.awsl.icu/api/badge/12/avg-response) ![](https://uptime.aks.awsl.icu/api/badge/12/cert-exp) ![](https://uptime.aks.awsl.icu/api/badge/12/response) |
Star History (Click to expand/collapse) Star History Chart
Table of Contents (Click to expand/collapse) - [Cloudflare Temp Email - Free Temporary Email Service](#cloudflare-temp-email---free-temporary-email-service) - [Deployment Documentation - Quick Start](#deployment-documentation---quick-start) - [Changelog](#changelog) - [Live Demo](#live-demo) - [Core Features](#core-features) - [Email Processing](#email-processing) - [User Management](#user-management) - [Admin Features](#admin-features) - [Multi-language \& Interface](#multi-language--interface) - [Integration \& Extensions](#integration--extensions) - [Technical Architecture](#technical-architecture) - [System Architecture](#system-architecture) - [Tech Stack](#tech-stack) - [Main Components](#main-components) - [Join the Community](#join-the-community)
## Core Features
Core Features Details (Click to expand/collapse) ### Email Processing - [x] Use `rust wasm` to parse emails, with fast parsing speed. Almost all emails can be parsed. Even emails that Node.js parsing modules fail to parse can be successfully parsed by rust wasm - [x] **AI Email Recognition** - Use Cloudflare Workers AI to automatically extract verification codes, authentication links, service links and other important information from emails - [x] Support optional random second-level subdomain mailbox creation for selected base domains - [x] Support sending emails with `DKIM` verification - [x] Support multiple sending methods such as `SMTP` and `Resend` - [x] Add attachment viewing feature with support for displaying attachment images - [x] Support S3 attachment storage and deletion - [x] Spam detection and blacklist/whitelist configuration - [x] Email forwarding feature with global forwarding address support ### User Management - [x] Use `credentials` to log in to previously used mailboxes - [x] Add complete user registration and login functionality. Users can bind email addresses and automatically obtain email JWT credentials to switch between different mailboxes after binding - [x] Support `OAuth2` third-party login (Github, Authentik, etc.) - [x] Support `Passkey` passwordless login - [x] User role management with support for multi-role domain and prefix configuration - [x] User inbox viewing with address and keyword filtering support ### Admin Features - [x] Complete admin console - [x] Create mailboxes without prefix in `admin` backend - [x] Admin user management page with user address viewing feature - [x] Scheduled cleanup function with support for multiple cleanup strategies - [x] Get mailboxes with custom names, `admin` can configure blacklist - [x] Add access password for use as a private site ### Multi-language & Interface - [x] Both frontend and backend support multi-language - [x] Modern UI design with responsive layout - [x] Google Ads integration support - [x] Use shadow DOM to prevent style pollution - [x] Support URL JWT parameter auto-login ### Integration & Extensions - [x] Complete `Telegram Bot` support, `Telegram` push notifications, and Telegram Bot mini app - [x] Add `SMTP proxy server` supporting `SMTP` for sending emails and `IMAP` for viewing emails - [x] Webhook support and message push integration - [x] Support `CF Turnstile` CAPTCHA verification - [x] Rate limiting configuration to prevent abuse - [x] **Agent-friendly**: bundled [`cf-temp-mail-agent-mail`](skills/cf-temp-mail-agent-mail/SKILL.md) skill lets AI agents consume a mailbox directly, see [docs](vitepress-docs/docs/en/guide/feature/agent-email.md) - [x] Community mobile admin client: [CloudMail](https://github.com/Lur1N77777/CloudMail) is built with Expo / React Native for this project's compatible API, providing an Android admin console, address management, inbox/sent/unknown mail, quick verification-code copy, OLED black theme, and local grouping.
## Technical Architecture
Technical Architecture Details (Click to expand/collapse) ### System Architecture - **Database**: Cloudflare D1 as the main database - **Frontend Deployment**: Deploy frontend using Cloudflare Pages - **Backend Deployment**: Deploy backend using Cloudflare Workers - **Email Routing**: Use Cloudflare Email Routing ### Tech Stack - **Frontend**: Vue 3 + Vite + TypeScript - **Backend**: TypeScript + Cloudflare Workers - **Email Parsing**: Rust WASM (mail-parser-wasm) - **Database**: Cloudflare D1 (SQLite) - **Storage**: Cloudflare KV + R2 (optional S3) - **Proxy Service**: Python SMTP/IMAP Proxy Server ### Main Components - **Worker**: Core backend service - **Frontend**: Vue 3 user interface - **Mail Parser WASM**: Rust email parsing module - **SMTP Proxy Server**: Python email proxy service - **Pages Functions**: Cloudflare Pages middleware - **Documentation**: VitePress documentation site
### Important Notes - When adding domain records in Resend, if your DNS provider is hosting your 3rd level domain a.b.com, please remove the 2nd level domain prefix b from the default name generated by Resend, otherwise it will add a.b.b.com, causing verification to fail. After adding the record, you can verify it using: ```bash nslookup -qt="mx" a.b.com 1.1.1.1 ``` ## Join the Community - [Telegram](https://t.me/cloudflare_temp_email)