# get_hotmail_code **Repository Path**: wangguosen/get_hotmail_code ## Basic Information - **Project Name**: get_hotmail_code - **Description**: 获取微软邮箱 hotmail 内容 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微软邮箱管理端 ## 数据库 默认使用 SQLite: ```text hotmail.db ``` 切换 PostgreSQL 直接设置: ```powershell $env:DATABASE_URL="postgresql+psycopg://user:pass@host:5432/dbname" ``` ## 管理员登录 ```powershell $env:ADMIN_USERNAME="admin" $env:ADMIN_PASSWORD="your_password" ``` 系统内置两个本地管理账号: ```text admin / admin123 jnm / jnm123456 ``` 每个管理账号只能看到和操作自己的导入批次、邮箱列表、缓存邮件。 ## 运行 ```powershell py -m venv .venv .\.venv\Scripts\python.exe -m pip install -r requirements.txt .\.venv\Scripts\python.exe app.py ``` 打开: ```text http://127.0.0.1:5000/admin/login ``` ## 导入格式 `hotmail.txt` 或后台导入都使用: ```text 邮箱----密码----OAuth Client ID----Refresh Token ``` ## 直达链接 每个邮箱都会生成一个唯一 `slug`,详情页地址形如: ```text /m/ ``` 直达页使用缓存展示,后台自动刷新默认只拉当前文件夹最近 10 封邮件,可通过环境变量调整: ```bash MAIL_PUBLIC_FETCH_LIMIT=10 ``` ## 定时预热 服务启动后会在后台定时预热可用邮箱缓存,默认每 120 秒处理 5 个可用邮箱,只拉收件箱最近 10 封。预热失败不会把邮箱状态改成失败。 ```bash MAIL_PREHEAT_ENABLED=1 MAIL_PREHEAT_INTERVAL_SECONDS=120 MAIL_PREHEAT_BATCH_SIZE=5 MAIL_PREHEAT_LIMIT=10 MAIL_PREHEAT_FOLDERS=inbox ``` 如果也要预热垃圾箱: ```bash MAIL_PREHEAT_FOLDERS=inbox,junk ``` ## API ### 管理后台接口 - `GET /api/admin/dashboard` - `POST /api/admin/import` - `POST /api/admin/mailboxes` - `PUT /api/admin/mailboxes/` - `POST /api/admin/mailboxes//test` - `POST /api/admin/mailboxes//refresh` - `GET /api/m//messages?folder=inbox|junk` - `POST /api/m//refresh` ### 程序调用接口 本地基础地址: ```text http://127.0.0.1:5000 ``` 服务器部署后把 `127.0.0.1` 换成服务器公网 IP 或内网 IP。 获取最多 100 个可用邮箱: ```text GET /api/program/mailboxes?username=admin&password=admin123 GET /api/program/mailboxes?username=admin&password=admin123&limit=100 ``` 实时获取某个邮箱的邮件 JSON。这个接口每次都会直连微软邮箱读取,不读取也不更新本地缓存数据库;页面直达页 `/m/` 仍然使用缓存逻辑。 ```text GET /api/program/messages?username=admin&password=admin123&email=test@hotmail.com&folder=inbox GET /api/program/messages?username=admin&password=admin123&email=test@hotmail.com&folder=junk ``` 更新某个邮箱状态: ```http POST /api/program/status Content-Type: application/json { "username": "admin", "password": "admin123", "email": "test@hotmail.com", "status": 1 } ``` 状态码: ```text 0 = available 1 = used 2 = locked 3 = failed ``` ## 部署 ```bash python3 -m venv .venv ./.venv/bin/pip install -r requirements.txt ADMIN_USERNAME=admin ADMIN_PASSWORD=secret SECRET_KEY=change-me ./.venv/bin/gunicorn -w 2 -b 0.0.0.0:5000 app:app ```