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
-
Serverless: Cloudflare Workers
-
Web Framework: Hono
-
ORM: Drizzle
-
Frontend Framework: Vue3
-
UI Framework: Element Plus
-
Email Service: Resend
-
Cache: Cloudflare KV
-
Database: Cloudflare D1
-
File Storage: Cloudflare R2
目录结构
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.




