Email-Manager 是一个 Microsoft 邮箱账户与邮件管理面板,提供 Web UI、批量导入、邮件检索、标签管理、API Key 管理和接口文档。
项目仓库: https://github.com/dangweilinshinidie/Email-Manager
- 新版本更新
- docker-compose 一键部署
- 线上部署前必看
- Railway 在线部署
- Zeabur 在线部署
- ClawCloud Run 在线部署
- 本地 Docker 部署
- 应用商店支持
- 首次使用流程
- 开发与调试
- 开源说明
当前版本已支持 2 种邮箱接入方式,可按账户情况自由选择:
IMAP适合继续使用传统微软邮箱邮件读取流程,基于 OAuth2 + IMAP 获取邮件内容。Microsoft Graph API适合使用 Graph 权限体系的场景,通过 Microsoft Graph API 读取邮件与详情。
这 2 种方式目前都已经支持:
- 单个账户添加
- 批量账户导入
- 连接测试
- 邮件列表读取
- 邮件详情查看
批量导入时的格式说明:
Graph API:邮箱----密码----client_id----令牌IMAP:支持邮箱----刷新令牌----客户端ID,兼容旧格式邮箱----占位密码----刷新令牌----客户端ID,也支持Outlook_OA2格式邮箱----密码----client_id----refresh_token
如果你已经拉取了仓库,直接执行下面命令就可以部署:
git clone https://github.com/dangweilinshinidie/Email-Manager.git Email-Manager
cd Email-Manager
docker-compose up -d部署完成后默认访问:
说明:
- 当前仓库内的 docker-compose.yml 默认会拉取镜像
dangweilinshinidie/email-manager:main - 默认把本地
./data映射到容器/app/data - 默认端口映射为
8073:8000 - 默认已包含
TRUST_PROXY_HEADERS=true - 如果你的环境使用新版 Docker Compose 插件,也可以使用
docker compose up -d
- 支持 2 种接入方式:
IMAP/Microsoft Graph API - Microsoft 邮箱账户管理、批量导入、快速检索
- 收件箱 / 垃圾箱邮件查看与详情展示
- 邮件主题、发件人、内容搜索
- API Key 创建、停用、调用记录查看
- 内置 API 文档,适合二次开发与自动化接入
- 默认支持 Docker 部署,适合线上长期运行
- 首次访问支持初始化管理员密码与使用协议确认
无论你使用 Railway、Zeabur 还是 ClawCloud Run,部署时都建议保持以下约束:
- 持久化目录挂载到
/app/data - 服务对内端口使用
8000 - 首次上线后访问 Web 页面完成初始化
- 如果暴露到公网,请自行配置 HTTPS、访问控制、日志审计和备份
- 若需要长期稳定运行,优先绑定自定义域名
强制环境变量:
| 变量名 | 强制值 / 推荐值 | 说明 |
|---|---|---|
HOST |
0.0.0.0 |
容器内监听地址 |
PORT |
8000 |
容器内监听端口 |
DATA_DIR |
/app/data |
数据目录 |
ACCOUNTS_FILE |
/app/data/accounts.json |
账户数据文件 |
PYTHONUNBUFFERED |
1 |
便于查看日志 |
TRUST_PROXY_HEADERS |
true |
强制开启。站点在 Nginx / 宝塔反向代理 / CDN / HTTPS 终止后面时如果未开启,浏览器写请求可能被判定为跨站 |
健康检查地址:
GET /api/auth/state
反向代理补充说明:
- 如果你的站点前面挂了 Nginx、宝塔反向代理、Caddy、Cloudflare 或其他 HTTPS 终止层,必须同时转发
Host和X-Forwarded-Proto - 建议额外转发
X-Forwarded-Host - 如果未正确转发这些头,后台创建 API Key、批量导入、删除账户这类
POST/PUT/DELETE请求可能会报错:Cross-site browser requests are not allowed.
Railway 适合直接从 GitHub 仓库快速上线,也适合直接使用 Docker 镜像部署。
跳转链接:
- 登录 Railway。
- 创建新项目并选择
Deploy from GitHub repo。 - 选择当前项目仓库
dangweilinshinidie/Email-Manager。 - Railway 会检测到仓库内的
Dockerfile并自动构建部署。 - 为服务添加持久化卷,并挂载到
/app/data。 - 设置环境变量:
HOST=0.0.0.0PORT=8000DATA_DIR=/app/dataACCOUNTS_FILE=/app/data/accounts.jsonTRUST_PROXY_HEADERS=true - 等待部署完成后打开 Railway 分配的域名。
- 首次进入页面后完成管理员密码初始化。
- 在 Railway 新建服务。
- 选择 Docker Image 方式。
- 填入镜像:
dangweilinshinidie/email-manager:main - 挂载持久化卷到
/app/data。 - 设置与上面一致的环境变量。
- 发布后访问域名完成初始化。
- Railway 是最省事的部署方式之一。
- 只要卷路径正确,服务重启后数据会保留。
- 建议绑定自定义域名并启用 HTTPS。
返回:
Zeabur 适合可视化部署和 GitHub 仓库直连部署。
跳转链接:
- 登录 Zeabur。
- 新建 Project。
- 选择从 GitHub 导入当前项目仓库:
https://github.com/dangweilinshinidie/Email-Manager - Zeabur 检测到
Dockerfile后会按容器方式构建。 - 为服务添加持久化存储,挂载目录设为
/app/data。 - 设置环境变量:
HOST=0.0.0.0PORT=8000DATA_DIR=/app/dataACCOUNTS_FILE=/app/data/accounts.jsonTRUST_PROXY_HEADERS=true - 等待部署完成后,使用分配域名访问。
- 在 Zeabur 创建新服务。
- 选择容器 / Docker Image 方式。
- 填入镜像:
dangweilinshinidie/email-manager:main - 添加卷并挂载到
/app/data。 - 配置环境变量并发布。
- Zeabur 界面化程度更高,适合不想手动写部署脚本的场景。
- 绑定域名和 HTTPS 也都可以直接在平台内继续配置。
返回:
按当前 ClawCloud Run 官方文档,推荐使用 App Launchpad 以容器 / Docker 镜像方式部署本项目,而不是按 VPS 方式处理。
这里我根据官方文档做的判断是:
- ClawCloud Run 当前更贴近托管容器应用流程
- 这个项目最适合直接使用公开镜像
dangweilinshinidie/email-manager:main - 数据目录仍然应挂载到
/app/data
跳转链接:
- 打开 ClawCloud Run 控制台
- ClawCloud Run 文档首页
- App Launchpad 文档
- Deploy Container Registry Services 文档
- Configuration Files 文档
- FAQ 文档
- 登录 ClawCloud Run。
- 进入
App Launchpad。 - 创建一个新的应用。
- 选择容器镜像部署方式。
- 填入镜像:
dangweilinshinidie/email-manager:main - 将服务端口设置为
8000。 - 配置环境变量:
HOST=0.0.0.0PORT=8000DATA_DIR=/app/dataACCOUNTS_FILE=/app/data/accounts.jsonTRUST_PROXY_HEADERS=true - 如平台支持持久化存储,请将数据目录挂载到
/app/data。 - 发布后通过平台生成的公网地址访问。
- 首次进入页面后完成管理员密码初始化。
- 若你不挂载持久化目录,容器重建后数据可能丢失。
- 如果要长期使用,建议绑定域名并启用 HTTPS。
- 如果你需要更复杂的资源配置,可以继续参考
Configuration Files文档。
我根据当前可检索到的 ClawCloud Run 官方文档,优先给出的是 App Launchpad + Docker 镜像 方案,因为这是最直接且与本项目最匹配的官方容器部署路径。
如果你后续要把 ClawCloud Run 再细化成“仓库直连构建”版本,我可以再按你指定的平台界面路径继续补一版。
返回:
如果你不走云平台,也可以直接在自己的服务器或本地机器使用 Docker Compose。
git clone https://github.com/dangweilinshinidie/Email-Manager.git Email-Manager
cd Email-Manager
docker compose up -d相关文件:
当前应用商店支持状态如下:
GMSSH:已支持,可直接通过应用商店下载安装。宝塔:敬请期待。aaPanel:敬请期待。1Panel:敬请期待。
说明:
- 目前只有
GMSSH已完成接入。 - 其他商店图标与入口说明已经预留,但暂未开放下载。
- 打开首页。
- 阅读并同意使用协议。
- 选择安装模式:
MREGISTER适配模式:会自动预置账户分类MREGISTER和快捷标签已注册CHATGPT。普通模式:纯净版本,不预置这 2 个默认分类配置。商业授权版本:界面已预留,当前暂未开放。 - 设置管理员密码。
- 登录后台。
- 添加单个 Microsoft 邮箱账户,或使用批量导入。
- 根据账户情况选择
IMAP或Microsoft Graph API接入方案。 - 进入邮件页面查看收件箱 / 垃圾箱邮件。
- 如需程序化调用,可进入 API 密钥页面创建 Key。
Microsoft-Email-Manager/
├─ main.py
├─ static/
│ ├─ index.html
│ ├─ home.html
│ ├─ open.html
│ └─ favicon.ico
├─ data/
├─ Dockerfile
├─ docker-compose.yml
├─ docker-entrypoint.sh
├─ docker.env.example
├─ requirements.txt
└─ README.md
pip install -r requirements.txt
python main.py默认访问地址:
- Web:http://127.0.0.1:8073/
- API 文档:http://127.0.0.1:8073/docs
GET /api/auth/statePOST /api/auth/setupPOST /api/auth/loginPOST /api/auth/logoutGET /accountsPOST /accountsGET /emails/{email_id}GET /emails/{email_id}/{message_id}GET /api/api-keysPOST /api/api-keys
本项目为开源程序,适合学习、研究、测试与自部署使用。