新增支持API添加用户,查询邮件
This commit is contained in:
142
README.md
142
README.md
@@ -6,7 +6,7 @@
|
||||
<h1>Cloud Mail</h1>
|
||||
</div>
|
||||
<div align="center">
|
||||
<h4>使用Vue3开发的响应式简约邮箱服务,支持邮件发送附件收发,可以部署到Cloudflare云平台实现免费白嫖🎉</h4>
|
||||
<h4>使用Vue3开发的响应式邮箱服务,支持邮件发送,无需服务器可部署到Cloudflare平台 🎉</h4>
|
||||
</div>
|
||||
<div align="center">
|
||||
<span>简体中文 | <a href="/README-en.md" style="margin-left: 5px">English </a></span>
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
## 项目简介
|
||||
|
||||
只需要一个域名,就可以创建多个不同的邮箱,类似各大邮箱平台 QQ邮箱,谷歌邮箱等,本项目使用Cloud flare部署,Resend推送邮件,无需服务器费用,搭建属于自己的邮箱服务
|
||||
只需要一个域名,就可以创建多个不同的邮箱,类似各大邮箱平台 QQ邮箱,谷歌邮箱等,本项目使用Cloudflare部署,Resend推送邮件,无需服务器费用,搭建自己的邮箱服务
|
||||
|
||||
## 项目展示
|
||||
## 项目展示
|
||||
|
||||
[**👉 在线演示**](https://skymail.ink)
|
||||
|
||||
[**👉 小白保姆教程-界面部署**](https://doc.skymail.ink)
|
||||
- [在线演示](https://skymail.ink)<br>
|
||||
- [部署文档](https://doc.skymail.ink)<br>
|
||||
- [小白保姆教程-界面部署](https://doc.skymail.ink/guide/via-ui.html)
|
||||
|
||||
|  |  |
|
||||
|--------------------------|---------------------|
|
||||
@@ -33,31 +33,33 @@
|
||||
|
||||
## 功能介绍
|
||||
|
||||
- **💰免费白嫖**:无需服务器,部署到Cloudflare Workers 免费使用,不要钱
|
||||
- **💰 低成本使用**:无需服务器,部署到 Cloudflare Workers 降低使用成本
|
||||
|
||||
- **💻响应式设计**:响应式布局自动适配PC和大部分手机端浏览器
|
||||
- **💻 响应式设计**:响应式布局自动适配PC和大部分手机端浏览器
|
||||
|
||||
- **📧邮件发送**:集成resend发送邮件,支持群发,内嵌图片和附件发送,发送状态查看
|
||||
- **📧 邮件发送**:集成resend发送邮件,支持群发,内嵌图片和附件发送,发送状态查看
|
||||
|
||||
- **🛡️管理员功能**:可以对用户,邮件进行管理,RABC权限控制对功能及使用资源限制
|
||||
- **🛡️ 管理员功能**:可以对用户,邮件进行管理,RABC权限控制对功能及使用资源限制
|
||||
|
||||
- **🔀多号模式**:开启后一个用户可以添加多个邮箱,默认一用户一邮箱,类似各大邮箱平台
|
||||
- **🔀 多号模式**:开启后一个用户可以添加多个邮箱,默认一用户一邮箱,类似各大邮箱平台
|
||||
|
||||
- **📦附件收发**:支持收发附件,使用R2对象存储保存和下载文件
|
||||
- **📦 附件收发**:支持收发附件,使用R2对象存储保存和下载文件
|
||||
|
||||
- **🔔邮件推送**:接收邮件后可以转发到TG机器人或其他服务商邮箱
|
||||
- **🔔 邮件推送**:接收邮件后可以转发到TG机器人或其他服务商邮箱
|
||||
|
||||
- **📈数据可视化**:使用echarts对系统数据详情,用户邮件增长可视化显示
|
||||
- **📡 开放API**:支持使用API批量生成用户,多条件查询邮件
|
||||
|
||||
- **⭐星标邮件**:标记重要邮件,以便快速查阅
|
||||
- **📈 数据可视化**:使用echarts对系统数据详情,用户邮件增长可视化显示
|
||||
|
||||
- **🎨个性化设置**:可以自定义网站标题,登录背景,透明度
|
||||
- **⭐ 星标邮件**:标记重要邮件,以便快速查阅
|
||||
|
||||
- **⚙️功能设置**:可以对注册,邮件发送,添加等功能关闭和开启,设为私人站点
|
||||
- **🎨 个性化设置**:可以自定义网站标题,登录背景,透明度
|
||||
|
||||
- **🤖人机验证**:集成Turnstile人机验证,防止人机批量注册
|
||||
- **⚙️ 功能设置**:可以对注册,邮件发送,添加等功能关闭和开启,设为私人站点
|
||||
|
||||
- **📜更多功能**:正在开发中...
|
||||
- **🤖 人机验证**:集成Turnstile人机验证,防止人机批量注册
|
||||
|
||||
- **📜 更多功能**:正在开发中...
|
||||
|
||||
|
||||
|
||||
@@ -80,110 +82,10 @@
|
||||
- **文件存储**:[Cloudflare R2](https://developers.cloudflare.com/r2/)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 使用教程
|
||||
|
||||
### 环境要求
|
||||
|
||||
Nodejs v18.20 +
|
||||
|
||||
Cloudflare 账号 (需要绑定域名)
|
||||
|
||||
|
||||
**克隆项目到本地**
|
||||
``` shell
|
||||
git clone https://github.com/eoao/cloud-mail #拉取代码
|
||||
cd cloud-mail/mail-worker #进入worker目录
|
||||
```
|
||||
|
||||
**安装依赖**
|
||||
```shell
|
||||
npm i
|
||||
```
|
||||
|
||||
**项目配置**
|
||||
|
||||
mail-worker/wrangler.toml
|
||||
|
||||
```toml
|
||||
[[d1_databases]]
|
||||
binding = "db" #d1数据库绑定名默认不可修改
|
||||
database_name = "" #d1数据库名字
|
||||
database_id = "" #d1数据库id
|
||||
|
||||
[[kv_namespaces]]
|
||||
binding = "kv" #kv绑定名默认不可修改
|
||||
id = "" #kv数据库id
|
||||
|
||||
|
||||
[[r2_buckets]]
|
||||
binding = "r2" #r2对象存储绑定名默认不可修改
|
||||
bucket_name = "" #r2对象存储桶的名字
|
||||
|
||||
|
||||
[assets]
|
||||
binding = "assets" #静态资源绑定名默认不可修改
|
||||
directory = "./dist" #前端vue项目打包的静态资源存放位置,默认dist
|
||||
|
||||
[vars]
|
||||
orm_log = false
|
||||
domain = [] #邮件域名可以配置多个示例: ["example1.com","example2.com"]
|
||||
admin = "" #管理员的邮箱 示例: "admin@example.com"
|
||||
jwt_secret = "" #登录身份令牌的密钥,随便填一串字符串
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
**远程部署**
|
||||
|
||||
1. 在 Cloudflare 控制台创建KV,D1数据库,R2对象存储
|
||||
2. 在项目目录 `mail-worker/wrangler.toml` 配置文件中配置对应环境变量,以及创建的数据库id和名称
|
||||
3. 执行远程部署命令
|
||||
|
||||
```shell
|
||||
npm run deploy
|
||||
```
|
||||
|
||||
4. 在Cloudflare→账户主页→你的域名→电子邮件→电子邮件路由→路由规则→Catch-all地址,编辑发送到worker
|
||||
|
||||
5. 浏览器输入 `https://你的项目域名/api/init/你的jwt_secret` 初始化或更新 d1和kv数据库
|
||||
|
||||
6. 部署完成登录网站,使用管理员账号可以在设置页面添加配置 R2域名 Turnstile密钥 等
|
||||
|
||||
|
||||
[👉 使用 Github Action 部署](/doc/github-action.md)
|
||||
|
||||
**本地运行**
|
||||
|
||||
1. 本地运行,数据库,对象存储会自动安装,无需创建,数据库数据保存在 `mail-worker/.wrangler` 文件夹
|
||||
|
||||
```shell
|
||||
npm run dev
|
||||
```
|
||||
2. 浏览器输入 `http://127.0.0.1:8787/api/init/你的jwt_secret` 初始化d1和kv数据库
|
||||
|
||||
3. 本地运行项目设置页面r2域名可设置为 `http://127.0.0.1:8787/api/file`
|
||||
|
||||
**邮件发送**
|
||||
|
||||
1. 在 resend 官网注册后,点击左侧 Domains 添加并验证你的域名,等待验证完成
|
||||
2. 点击左侧 Api Keys 创建立api key, 复制token回到项目网站设置页面添加 resend token
|
||||
|
||||
3. 点击左侧 Webhooks 添加回调地址 `https://你的项目域名/api/webhooks`
|
||||
|
||||
勾选✅ (email.bounced email.complained email.delivered email.delivery_delayed)
|
||||
|
||||
**项目更新**
|
||||
|
||||
更新后需要执行 `https://你的项目域名/api/init/你的jwt_secret` 来同步数据库结构
|
||||
|
||||
## 赞助
|
||||
|
||||
|
||||
<a href="https://support.skymail.ink" >
|
||||
<a href="https://doc.skymail.ink/support.html" >
|
||||
<img width="170px" src="./doc/images/support.png" alt="">
|
||||
</a><br><br>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user