修改文档和修改项目错字

This commit is contained in:
eoao
2025-06-05 08:53:24 +08:00
parent 0692f8ec5e
commit 9f9dc3d019
13 changed files with 38 additions and 32 deletions

View File

@@ -10,15 +10,17 @@
</div> </div>
## 项目简介
只需要一个域名,就可以创建多个不同的邮箱,类似各大邮箱平台 QQ邮箱谷歌邮箱等本项目使用Cloud flare部署Rsend推送邮件无需服务器费用搭建属于自己的邮箱服务
## 项目展示 ## 项目展示
[**👉在线演示**](https://skymail.ink) [**👉 在线演示**](https://skymail.ink)
[**👉小白保姆教程-界面部署**](https://doc.skymail.ink) [**👉 小白保姆教程-界面部署**](https://doc.skymail.ink)
| ![](demo/demo1.png) | ![](demo/demo2.png) | | ![](demo/demo1.png) | ![](demo/demo2.png) |
|---------------------|---------------------| |---------------------|---------------------|
@@ -44,7 +46,7 @@
- **⭐星标邮件**:标记重要邮件,以便快速查阅 - **⭐星标邮件**:标记重要邮件,以便快速查阅
- **🎨个性化设置**:可以自定义网站标题,登录背景 - **🎨个性化设置**:可以自定义网站标题,登录背景,透明度
- **⏱️轮询刷新**:轮询请求服务器自动获取最新邮件,可自定义间隔 - **⏱️轮询刷新**:轮询请求服务器自动获取最新邮件,可自定义间隔
@@ -66,6 +68,8 @@
- **平台:** [Cloudflare workers](https://developers.cloudflare.com/workers/) - **平台:** [Cloudflare workers](https://developers.cloudflare.com/workers/)
- **邮件推送:** [Resend](https://resend.com/)
- **缓存**[Cloudflare KV](https://developers.cloudflare.com/kv/) - **缓存**[Cloudflare KV](https://developers.cloudflare.com/kv/)
- **数据库**[Cloudflare D1](https://developers.cloudflare.com/d1/) - **数据库**[Cloudflare D1](https://developers.cloudflare.com/d1/)
@@ -80,11 +84,9 @@
### 环境要求 ### 环境要求
Nodejs v18.20 + Nodejs v18.20 +
Cloudflare 账号 Cloudflare 账号 (需要绑定域名)
**克隆项目到本地** **克隆项目到本地**
@@ -100,6 +102,8 @@ npm i
**项目配置** **项目配置**
mail-worker/wrangler.toml
```toml ```toml
[[d1_databases]] [[d1_databases]]
binding = "db" #d1数据库绑定名默认不可修改 binding = "db" #d1数据库绑定名默认不可修改
@@ -132,40 +136,41 @@ jwt_secret = "" #登录身份令牌的密钥,随便填一串字符串
**远程部署** **远程部署**
Cloudflare控制台创建KVD1数据库R2对象存储 1. 在 Cloudflare 控制台创建KVD1数据库R2对象存储
2. 在项目目录 mail-worker/wrangler.toml 配置文件中配置对应环境变量以及创建的数据库id和名称
3. 执行远程部署命令
在 wrangler.toml 中配置对应环境变量 ```shell
npm run deploy
```
```shell 4. 在Cloudflare→账户主页→你的域名→电子邮件→电子邮件路由→路由规则→Catch-all地址编辑发送到worker
npm run deploy
```
然后在Cloudflare->域名管理->电子邮件->路由规则->Catch-all 地址. 这里选择发送到 worker, 然后选择创建的worker 5. 浏览器输入 https://你的项目域名/api/init/你的jwt_secret 初始化或更新 d1和kv数据库
浏览器输入 https://<你的项目域名>/api/init/<你的jwt_secret> 初始化或更新 d1和kv数据库 6. 部署完成登录网站,使用管理员账号可以在设置页面添加配置 R2域名 Turnstile密钥 等
部署完成登录网站,使用管理员账号在设置页面添加配置 R2域名 Turnstile密钥
**邮件发送** **邮件发送**
resend注册后验证你的域名并创建ApiKey 回到项目网站设置页面添加 resend token 1. 在 resend 官网注册后,点击左侧 Domains 添加并验证你的域名,等待验证完成
2. 点击左侧 Api Keys 创建立api key 复制token回到项目网站设置页面添加 resend token
在resend Webhooks 添加回调地址https://<你的项目域名>/api/webhooks 3. 点击左侧 Webhooks 添加回调地址 https://你的项目域名/api/webhooks
勾选✅ (email.bounced email.complained email.delivered email.delivery_delayed) 勾选✅ (email.bounced email.complained email.delivered email.delivery_delayed)
**本地运行** **本地运行**
本地运行,数据库,对象存储会自动安装,无需创建 1. 本地运行,数据库,对象存储会自动安装,无需创建,数据库数据保存在 mail-worker/.wrangler文件夹
```shell ```shell
npm run dev npm run dev
``` ```
浏览器输入http://127.0.0.1:8787/api/init/<你的jwt_secret>初始化d1和kv数据库 2. 浏览器输入 http://127.0.0.1:8787/api/init/你的jwt_secret 初始化d1和kv数据库
本地运行项目页面设置r2域名可设置为http://127.0.0.1:8787/api/file 3. 本地运行项目设置页面r2域名可设置为 http://127.0.0.1:8787/api/file
## 目录结构 ## 目录结构
@@ -218,4 +223,3 @@ cloud-mail

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -52,7 +52,7 @@ const routers = {
name: 'sys-email', name: 'sys-email',
component: () => import('@/views/sys-email/index.vue'), component: () => import('@/views/sys-email/index.vue'),
meta: { meta: {
title: '邮列表', title: '邮列表',
name: 'sys-email', name: 'sys-email',
menu: true menu: true
} }

View File

@@ -377,6 +377,9 @@ function submitRegister() {
height: 38px; height: 38px;
width: 100%; width: 100%;
margin-bottom: 18px; margin-bottom: 18px;
:deep(.el-input__inner) {
height: 36px;
}
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -6,8 +6,8 @@
<title></title> <title></title>
<link rel="icon" href="/assets/favicon-C5dAZutX.svg" type="image/svg+xml"> <link rel="icon" href="/assets/favicon-C5dAZutX.svg" type="image/svg+xml">
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<script type="module" crossorigin src="/assets/index-D0fGF25e.js"></script> <script type="module" crossorigin src="/assets/index-Th4oUcyH.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C-09JQBr.css"> <link rel="stylesheet" crossorigin href="/assets/index-3kOBVh6Q.css">
</head> </head>
<body> <body>
<div id="loading-first"> <div id="loading-first">

View File

@@ -15,7 +15,6 @@ enabled = true
#binding = "kv" #kv绑定名默认不可修改 #binding = "kv" #kv绑定名默认不可修改
#id = "" #kv数据库id #id = "" #kv数据库id
#(可选)
#[[r2_buckets]] #[[r2_buckets]]
#binding = "r2" #r2对象存储绑定名默认不可修改 #binding = "r2" #r2对象存储绑定名默认不可修改
#bucket_name = "" #r2对象存储桶的名字 #bucket_name = "" #r2对象存储桶的名字