ZMAIL-24小时临时邮箱 https://mail.mdzz.uk
Find a file
2025-12-31 11:09:38 +08:00
.github/workflows feat: 添加Github Action实现自动化部署 2025-10-10 03:30:04 +08:00
frontend chore: update blog addr 2025-12-31 11:09:38 +08:00
worker feat: 重构数据库清理逻辑以提升性能 2025-10-10 04:09:20 +08:00
.gitignore feat: first commit 2025-03-10 06:30:09 +08:00
LICENSE Initial commit 2025-03-10 06:24:37 +08:00
package.json add build command 2025-06-22 19:48:34 -04:00
pnpm-lock.yaml monorepo to simplify the deploy 2025-06-22 18:19:36 -04:00
pnpm-workspace.yaml monorepo to simplify the deploy 2025-06-22 18:19:36 -04:00
README.en.md Remove video tutorial and support author sections 2025-10-23 01:37:29 +08:00
README.md Remove video tutorial and author support sections 2025-10-23 01:36:44 +08:00
wrangler.toml feat: 添加Github Action实现自动化部署 2025-10-10 03:30:04 +08:00

🚀 ZMAIL - 24-hour Temporary Email Service

English | 中文

If you find this project helpful, please consider giving it a Star . Your support is greatly appreciated!

ZMAIL Logo

💌 Secure, Simple, Disposable Email Service

🌐 Live Demo Features🚀 Deployment💻 Development🔧 Tech Stack


Features

Instant Creation

Get a temporary email address instantly, no registration required

🔒 Privacy Protection

Protect your real email from spam and data leaks

Real-time Reception

Receive emails in real-time without refreshing the page

🌐 Global Availability

Built on Cloudflare's global edge network for fast access worldwide

🔄 Auto-refresh

Automatically check for new emails, never miss important messages

📱 Responsive Design

Perfect fit for all devices, from mobile to desktop


🚀 Quick Deployment

ZMAIL now adopts a brand new integrated deployment approach, with frontend and backend integrated into a single Cloudflare Worker, making deployment even simpler!

🎯 Deployment Options

We provide two deployment methods, you can choose according to your needs:

Advantages:

  • Simple deployment, one-click completion
  • No need to modify configuration files
  • Perfect for quick testing

Disadvantages:

  • Cannot receive subsequent code updates
  • Need to manually bind custom domain

📋 Deployment Steps:

  1. Click the "Deploy to Cloudflare" button above
  2. Follow the page instructions to connect your GitHub account
  3. Fill in application name and database name
  4. In Advanced Settings -> Build Variables, set:
    • VITE_EMAIL_DOMAIN: Your domain list, separated by ',' (e.g., mdzz.uk,zaunist.com)
  5. Click "Create and Deploy"
  6. After deployment, bind custom domain in Cloudflare Workers dashboard
  7. Configure Cloudflare Email routing to forward emails to your Worker

Advantages:

  • Can receive subsequent code updates
  • Fully customizable configuration
  • Better version control
  • Automatic deployment via GitHub Actions, more secure and convenient

Disadvantages:

  • Requires some technical knowledge
  • Need to manually create database and configure secrets

📋 Deployment Steps:

  1. Fork this project to your GitHub account
  2. Create a D1 database in your Cloudflare Dashboard and note down the database_name and database_id
  3. In your GitHub repository, go to Settings > Secrets and variables > Actions
  4. Click New repository secret and add the following five secrets:
    • CF_API_TOKEN: Your Cloudflare API Token. You can create one here using the "Edit Cloudflare Workers" template.
    • CF_ACCOUNT_ID: Your Cloudflare Account ID. You can find it on the right side of the Workers page.
    • D1_DATABASE_ID: The ID of the D1 database you created in step 2.
    • D1_DATABASE_NAME: The name of the D1 database you created in step 2.
    • VITE_EMAIL_DOMAIN: Your list of domains, separated by commas (e.g., example.com,test.com).
  5. After completing the steps above, the project will be automatically deployed on every push to the main branch. You can also trigger the deployment manually from the Actions page.
  6. After deployment, bind a custom domain to your Worker.
  7. Finally, configure Cloudflare Email Routing to forward emails to your Worker.

📧 Configure Email Routing

Regardless of which deployment method you choose, you need to configure Cloudflare Email routing:

  1. Find your domain in the Cloudflare dashboard
  2. Go to "Email" -> "Email Routing"
  3. Enable Email Routing
  4. Add routing rules:
    • Match type: "Catch-all address"
    • Action: "Send to a Worker"
    • Select your deployed Worker
  5. If you have multiple domains, repeat the above steps for each domain

💻 Local Development

🚀 Development

# install dependencies
pnpm install

# start frontend development server
pnpm dev:frontend

# start backend development server
pnpm dev:backend

⚙️ Deployment

# deploy
pnpm run deploy

🔧 Tech Stack

🎨 Frontend

  • React - UI library
  • TypeScript - Type-safe JavaScript
  • Tailwind CSS - Utility-first CSS framework
  • Vite - Modern frontend build tool

⚙️ Backend

  • Cloudflare Workers - Edge computing platform
  • Cloudflare D1 - Edge SQL database
  • Cloudflare Email Workers - Email processing service

👥 Contributing

Contributions via Pull Requests or Issues are welcome!

📄 License

MIT License