Files
cloud-mail/README-en.md
2025-11-06 22:59:00 +08:00

4.6 KiB

Cloud Mail

Serverless responsive email service with sending capabilities, deployable on the Cloudflare platform 🎉

Project Showcase

Features

  • 💰 Low-Cost Usage: No server required — deploy to Cloudflare Workers to reduce costs.

  • 💻 Responsive Design: Automatically adapts to both desktop and most mobile browsers.

  • 📧 Email Sending: Integrated with Resend for bulk email sending, embedded images, attachments, and status tracking.

  • 🛡️ Admin Features: Admins can manage users and emails, with RBAC permission control to limit access to features and resources.

  • 📦 Attachment Support: Send and receive attachments, stored and downloaded via R2 object storage.

  • 🔔 Email Push: Forward received emails to Telegram bots or other email providers.

  • 📡 Open API: Supports batch user creation via API and multi-condition email queries

  • 📈 Data Visualization: Use Echarts to visualize system data, including user email growth.

  • 🎨 Personalization: Customize website title, login background, and transparency.

  • 🤖 CAPTCHA: Integrated with Turnstile CAPTCHA to prevent automated registration.

  • 📜 More Features: Under development...

Tech Stack

目录结构

cloud-mail
├── mail-worker				    # Backend worker project
│   ├── src                  
│   │   ├── api	 			    # API layer
│   │   ├── const  			    # Project constants
│   │   ├── dao                 # Data access layer
│   │   ├── email			    # Email processing and handling
│   │   ├── entity			    # Database entities
│   │   ├── error			    # Custom exceptions
│   │   ├── hono			    # Web framework, middleware, error handling
│   │   ├── i18n			    # Internationalization
│   │   ├── init			    # Database and cache initialization
│   │   ├── model			    # Response data models
│   │   ├── security			# Authentication and authorization
│   │   ├── service			    # Business logic layer
│   │   ├── template			# Message templates
│   │   ├── utils			    # Utility functions
│   │   └── index.js			# Entry point
│   ├── package.json			# Project dependencies
│   └── wrangler.toml			# Project configuration
│
├─ mail-vue				        # Frontend Vue project
│   ├── src
│   │   ├── axios 			    # Axios configuration
│   │   ├── components			# Custom components
│   │   ├── echarts			    # ECharts integration
│   │   ├── i18n			    # Internationalization
│   │   ├── init			    # Startup initialization
│   │   ├── layout			    # Main layout components
│   │   ├── perm			    # Permissions and access control
│   │   ├── request			    # API request layer
│   │   ├── router			    # Router configuration
│   │   ├── store			    # Global state management
│   │   ├── utils			    # Utility functions
│   │   ├── views			    # Page components
│   │   ├── app.vue			    # Root component
│   │   ├── main.js			    # Entry JS file
│   │   └── style.css			# Global styles
│   ├── package.json			# Project dependencies
└── └── env.release				# Environment configuration

Support

License

This project is licensed under the MIT license.

Communication

Telegram