Cloud Mail
A simple, responsive email service designed to run on Cloudflare Workers đ
įŽäŊ䏿 | English
## Description
With only one domain, you can create multiple different email addresses, similar to major email platforms. This project can be deployed on Cloudflare Workers to reduce server costs and build your own email service.
## Project Showcase
- [Live Demo](https://skymail.ink)
- [Deployment Guide](https://doc.skymail.ink/en/)
|  |  |
|--------------------------|--------------------------|
|  |  |
## 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, supporting bulk email sending and attachments.
- **đĄī¸ Admin Features**: Admin controls for user and email management with RBAC-based access control.
- **đĻ 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
- **Platform**: [Cloudflare Workers](https://developers.cloudflare.com/workers/)
- **Web Framework**: [Hono](https://hono.dev/)
- **ORM**: [Drizzle](https://orm.drizzle.team/)
- **Frontend Framework**: [Vue3](https://vuejs.org/)
- **UI Framework**: [Element Plus](https://element-plus.org/)
- **Email Service**: [Resend](https://resend.com/)
- **Cache**: [Cloudflare KV](https://developers.cloudflare.com/kv/)
- **Database**: [Cloudflare D1](https://developers.cloudflare.com/d1/)
- **File Storage**: [Cloudflare R2](https://developers.cloudflare.com/r2/)
## Project Structure
```
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) license.
## Communication
[Telegram](https://t.me/cloud_mail_tg)