# email-manager **Repository Path**: rymaker/email-manager ## Basic Information - **Project Name**: email-manager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-07 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 邮箱账户管理平台 基于 Nuxt 4 的邮箱账户管理系统,支持以下能力: - 管理员登录(仅登录页,无注册页) - 邮箱账户增删改查 - 每个账户关联多个平台注册关系 - 批量导入(`邮箱----密码----client_id----refresh_token`) - 按账户调用邮件查询接口(`/api/mail-new`) - 后端基于 MySQL + TypeORM + Redis 会话 - 前端使用 Pinia + SCSS ## 默认管理员 - 用户名:`sun` - 密码:`Henkaku@1` 系统启动后会自动检测并补种该管理员账号。 ## 环境变量 项目已提供 `.env.example`,按需复制为 `.env`: ```bash cp .env.example .env ``` ## 本地启动 ```bash npm install npm run dev ``` ## 数据库说明 - 表结构 SQL 见 `database/schema.sql` - TypeORM 默认开启 `synchronize: true`,用于快速落库 - 生产环境建议关闭 `synchronize`,改用 migration ## 关键接口 - `POST /api/auth/login` 管理员登录 - `POST /api/auth/logout` 退出 - `POST /api/auth/key` 生成 API Key(用于免登录调用) - `GET /api/accounts` 账户列表 + 平台关联 - `POST /api/accounts` 创建账户 - `PUT /api/accounts/:id` 更新账户 - `DELETE /api/accounts/:id` 删除账户 - `POST /api/accounts/import` 批量导入 - `GET /api/accounts/:id/mail` 查询邮件 - `GET /api/accounts/mail-latest?id=1` 获取账户最新邮件(合并 INBOX + Junk) ## API Key 鉴权 受保护接口支持两种鉴权方式: - 会话 Cookie(后台登录后自动携带) - API Key(三选一): - Query:`api_key=...` - Header:`x-api-key: ...` - Header:`Authorization: Bearer ...` ### 生成 API Key 登录后调用:`POST /api/auth/key` 请求体(可选): ```json { "ttlDays": 30 } ``` - `ttlDays` 范围:1-3650 - 不传时使用 `API_KEY_TTL_SECONDS`(默认 2592000 秒,即 30 天) - 返回的 `apiKey` 只会明文返回一次,请妥善保存