feat: 分组代理支持 & API优先级回退 & 详细错误弹框
- 分组管理新增 proxy_url 字段,支持 HTTP/SOCKS5 代理 - Graph API 请求(获取邮件/详情/刷新Token/删除)均支持走分组代理 - 获取邮件/删除邮件按 Graph API → IMAP(新) → IMAP(旧) 优先级自动回退 - ProxyError 时跳过 IMAP 回退,避免无意义重试 - 所有方式失败时弹框逐一展示每种 API 的中文失败原因 - 更新 README 文档说明 API 优先级、代理支持、IMAP 删除限制
This commit is contained in:
1 parent
11092a9e29
commit
3d8f2157b9
4 files changed
+303
-43
No files matched your search
@@ -15,7 +15,8 @@
|
||||
|
||||
#### 核心功能
|
||||
- 🔐 **登录验证** - 密码保护的 Web 界面,支持在线修改密码
|
||||
- 📁 **分组管理** - 支持创建、编辑、删除邮箱分组,自定义分组颜色
|
||||
- 📁 **分组管理** - 支持创建、编辑、删除邮箱分组,自定义分组颜色,支持分组级别代理设置(⭐ 2026-02-18 新增)
|
||||
- 🌐 **分组代理** - 每个分组可配置 HTTP/SOCKS5 代理,分组下所有邮箱的 Graph API 请求走该代理(⭐ 2026-02-18 新增)
|
||||
- 📧 **多邮箱管理** - 批量导入和管理多个 Outlook 邮箱账号
|
||||
- 📬 **邮件查看** - 查看收件箱、垃圾邮件和已删除邮件
|
||||
- 🔍 **全屏查看** - 支持全屏模式查看邮件,完整展示长邮件内容(⭐ 2026-01-23 新增)
|
||||
@@ -32,6 +33,8 @@
|
||||
- 🏷️ **标签管理** - 支持给邮箱账号打标签,支持批量打标签/去标签,支持按标签筛选(⭐ 2026-01-31 新增)
|
||||
- 📦 **批量移动分组** - 支持批量选择复个邮箱账号并移动到指定分组(⭐ 2026-02-08 新增)
|
||||
- 🗑️ **邮件删除** - 支持单封/批量永久删除邮件,二次确认防误删(⭐ 2026-01-31 新增),注意:买的号大概率是没有开删除的api权限的 所以删除大概率会失败,自己授权的删除应该无问题
|
||||
- 🔄 **API 优先级回退** - 获取邮件/刷新Token/删除邮件均按 Graph API → IMAP(新) → IMAP(旧) 优先级自动回退(⭐ 2026-02-18 新增)
|
||||
- ❌ **详细错误弹框** - 所有 API 方式均失败时,弹框逐一展示每种方式的中文失败原因(⭐ 2026-02-18 新增)
|
||||
|
||||
#### Token 刷新管理
|
||||
- 🔁 **全量刷新** - 一键刷新所有账号 Token,实时进度展示,防止 90 天过期(⭐ 2026-01-23 新增)
|
||||
@@ -510,6 +513,56 @@ user@outlook.com----password123----24d9a0ed-8787-4584-883c-2fd79308940a----0.AXE
|
||||
> [!CAUTION]
|
||||
> **永久删除**:删除操作不可恢复!邮件将被直接永久删除,不会移动到"已删除"文件夹。
|
||||
|
||||
### 📡 API 调用优先级与代理说明(⭐ 2026-02-18 新增)
|
||||
|
||||
#### API 调用优先级
|
||||
|
||||
本工具在获取邮件、刷新 Token、删除邮件时,会按以下优先级自动尝试并回退:
|
||||
|
||||
| 优先级 | 方式 | 说明 |
|
||||
|--------|------|------|
|
||||
| 1️⃣ | **Graph API** | 推荐方式,功能最完整 |
|
||||
| 2️⃣ | **IMAP(新服务器)** | `outlook.live.com`,Graph 失败后回退 |
|
||||
| 3️⃣ | **IMAP(旧服务器)** | `outlook.office365.com`,最后尝试 |
|
||||
|
||||
> [!NOTE]
|
||||
> 如果 Graph API 失败原因是**代理连接错误**(ProxyError),则不会继续回退 IMAP,因为代理问题与 API 方式无关。
|
||||
|
||||
#### 如何判断当前使用的是 Graph API
|
||||
|
||||
- 获取邮件后,邮件列表上方会显示方法标签:`Graph API`、`IMAP (New)` 或 `IMAP (Old)`
|
||||
- **通过本项目 OAuth2 助手授权的账号,都是使用 Graph API**
|
||||
- 从第三方购买的账号,取决于其提供的 client_id 和 refresh_token 的权限配置
|
||||
|
||||
#### 分组代理支持
|
||||
|
||||
每个分组可配置 HTTP 或 SOCKS5 代理,分组下所有邮箱在以下操作时会走该代理:
|
||||
|
||||
- ✅ 获取邮件(Graph API)
|
||||
- ✅ 查看邮件详情(Graph API)
|
||||
- ✅ 刷新 Token(包括手动刷新、全量刷新、定时刷新)
|
||||
- ✅ 删除邮件(Graph API)
|
||||
|
||||
**代理格式示例:**
|
||||
```
|
||||
http://127.0.0.1:7890
|
||||
socks5://127.0.0.1:7891
|
||||
socks5://user:pass@proxy.example.com:1080
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **仅 Graph API 请求支持走代理**,IMAP 连接目前不支持代理。如果你的账号需要通过代理访问,请确保该账号使用的是 Graph API 方式(通过本项目授权的账号默认使用 Graph API)。
|
||||
|
||||
> [!WARNING]
|
||||
> 使用 SOCKS5 代理需要安装 `pysocks` 依赖(`pip install pysocks` 或 `pip install requests[socks]`),Docker 镜像已内置。
|
||||
|
||||
#### IMAP 删除邮件的限制
|
||||
|
||||
> [!CAUTION]
|
||||
> **通过 IMAP 方式获取的邮件目前不支持删除操作。** 这是因为 Graph API 返回的邮件 ID 与 IMAP 的 UID 格式不兼容,无法互相通用。如果删除操作报错,请确认:
|
||||
> 1. 你的账号是否通过本项目 OAuth2 助手授权(授权的账号使用 Graph API,支持删除)
|
||||
> 2. 你的 client_id 是否拥有 `Mail.ReadWrite` 权限(购买的号大概率没有此权限)
|
||||
|
||||
### 9. 系统设置
|
||||
|
||||
点击导航栏的「⚙️ 设置」按钮,可以修改以下配置:
|
||||
|
||||
Reference in new issue
Block a user