[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83983":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":36,"discoverSource":37},83983,"cf-outlook-email","roseforyou\u002Fcf-outlook-email","roseforyou","📬 基于 Cloudflare Workers 的轻量级 Outlook 邮件管理工具 · 免费 · 无需服务器 | Lightweight Outlook email manager, serverless & free ⚡","https:\u002F\u002Fgithub.com\u002Froseforyou\u002Fcf-outlook-email\u002Fblob\u002Fmain\u002Fdocs\u002FGUIDE.md",null,"JavaScript",61,14,52,0,2,4,8,3.53,"GNU General Public License v3.0",false,"main",true,[25,26,27,28,29,30,31,32,33],"cloudflare-workers","d1","email","email-client","hono","microsoft-graph","outlook","serverless","typescript","2026-06-12 02:04:36","# 📬 Outlook 邮件管理\n\n\u003Cdiv align=\"center\">\n\n**基于 Cloudflare Workers 的轻量级 Outlook 邮件管理工具**\n\n🆓 完全免费 · ☁️ 无需服务器 · 🌍 全球加速 · 🌗 深浅主题\n\n[![License: GPL-3.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-GPL%203.0-blue.svg)](.\u002FLICENSE)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.8+-3178C6?logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![Cloudflare Workers](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCloudflare-Workers-F38020?logo=cloudflare&logoColor=white)](https:\u002F\u002Fworkers.cloudflare.com\u002F)\n[![Hono](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHono-4-E36002?logo=hono&logoColor=white)](https:\u002F\u002Fhono.dev\u002F)\n[![D1](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FD1-SQLite-003B57?logo=sqlite&logoColor=white)](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fd1\u002F)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002Froseforyou\u002Fcf-outlook-email\u002Fpulls)\n\n[![Deploy to Cloudflare](https:\u002F\u002Fdeploy.workers.cloudflare.com\u002Fbutton)](https:\u002F\u002Fdeploy.workers.cloudflare.com\u002F?url=https:\u002F\u002Fgithub.com\u002Froseforyou\u002Fcf-outlook-email)\n\n⚠️ 此按钮**无法一键部署**：项目依赖 D1 数据库与 Secret，需手动建库、跑迁移、设密钥，按钮会因框架检测失败而报错。请按 📖 [详细部署教程](.\u002Fdocs\u002FGUIDE.md) 操作（约 5 分钟）。\n\n🌐 [English](.\u002FREADME_EN.md) · 📖 [详细部署教程](.\u002Fdocs\u002FGUIDE.md) · 🔌 [对外 API 文档](.\u002Fdocs\u002FAPI.md)\n\n\u003C\u002Fdiv>\n\n---\n\n| 🌙 深色模式 | ☀️ 浅色模式 |\n|:---:|:---:|\n| ![深色模式](.\u002Fdocs\u002Fpreview.png) | ![浅色模式](.\u002Fdocs\u002Fpreview-light.png) |\n\n## ✨ 特性\n\n- 🔐 **一键授权** — 浏览器弹窗登录微软账号，自动获取凭证，无需手动复制 token\n- 🔄 **Token 自动续期** — 每次读邮件自动刷新 token，只要定期使用就不会过期\n- 📦 **批量管理** — 批量导入\u002F导出\u002F删除\u002F移组，支持单条与选中导出、分组和状态筛选\n- 📨 **邮件阅读** — 通过 Microsoft Graph API 实时读取，支持收件箱\u002F垃圾箱\u002F已删除文件夹切换、聚合视图、分页加载、搜索和 HTML 渲染\n- 📭 **临时邮箱** — 集成 GPTMail API，一键生成临时邮箱接收邮件\n- 🎨 **精致主题** — 深色\u002F浅色\u002F跟随系统，毛玻璃质感 + 圆形扫掠切换 + 低频呼吸光晕\n- 🆓 **完全免费** — 运行在 Cloudflare 免费层，无需信用卡\n\n## 🚀 快速部署\n\n> 💡 完整步骤请看 [详细部署教程](.\u002Fdocs\u002FGUIDE.md)\n\n```bash\n# 1. 克隆 & 安装\ngit clone https:\u002F\u002Fgithub.com\u002Froseforyou\u002Fcf-outlook-email.git\ncd cf-outlook-email\npnpm install\n\n# 2. 登录 Cloudflare\npnpm exec wrangler login\n\n# 3. 创建数据库（把输出的 database_id 填入 wrangler.toml）\npnpm exec wrangler d1 create outlook-email-db\ncp wrangler.toml.example wrangler.toml\n# 编辑 wrangler.toml，替换 REPLACE_WITH_YOUR_DATABASE_ID\n\n# 4. 配置密码\npnpm exec wrangler secret put ADMIN_PASSWORD\npnpm exec wrangler secret put COOKIE_SECRET\n\n# 5. 初始化 & 部署\npnpm exec wrangler d1 migrations apply outlook-email-db --remote\npnpm exec wrangler deploy\n```\n\n部署完成后访问输出的 URL，用设置的密码登录即可。🎉\n\n## 📮 添加邮箱\n\n登录后点击 **添加账号** → **一键授权** → 弹出微软登录窗口 → 授权后自动填入凭证 → 保存。\n\n支持所有 Outlook \u002F Hotmail \u002F Live 邮箱，也支持批量导入（格式：`邮箱----密码----client_id----refresh_token`）。\n\n## 🧱 技术栈\n\n| 层 | 技术 |\n|---|---|\n| ⚙️ 运行时 | Cloudflare Workers (TypeScript) |\n| 🧭 路由 | Hono |\n| 🗄️ 数据库 | Cloudflare D1 (SQLite) |\n| 🎨 前端 | 原生 HTML\u002FCSS\u002FJS |\n| 📧 邮件 | Microsoft Graph API |\n| 🚀 部署 | Wrangler |\n\n## 🗂️ 项目结构\n\n```\nsrc\u002F                     后端源码（Worker）\n├── index.ts             入口 + 路由\n├── auth.ts              HMAC-SHA256 Cookie 鉴权\n├── graph.ts             Graph API 集成\n├── routes\u002F              业务路由（6 个模块）\n└── utils\u002F               加密、校验工具\npublic\u002F                  前端（静态 SPA）\nmigrations\u002F              D1 数据库建表\ntools\u002F                   辅助脚本\n```\n\n## 💰 免费额度\n\n| 资源 | 免费额度 | 够用？ |\n|------|----------|:------:|\n| ⚡ Workers 请求 | 10 万\u002F天 | ✅ |\n| ⏱️ CPU 时间 | 10ms\u002F请求 | ✅ |\n| 🌐 外部请求 | 50\u002F次 | ✅ (单账号单请求) |\n| 💾 D1 存储 | 5 GB | ✅ |\n\n## 🗺️ 路线图\n\n**核心功能（已实现）**\n\n- [x] 🔐 一键 OAuth 授权 & Token 自动续期\n- [x] 👤 邮箱账号管理（增 \u002F 删 \u002F 改 \u002F 查、测试连接）\n- [x] 🗂️ 分组管理（自定义颜色、按分组与状态筛选）\n- [x] 📦 批量导入 \u002F 导出 \u002F 删除 \u002F 移组\n- [x] 📤 单条 \u002F 选中导出\n- [x] 📨 邮件阅读（实时收件、搜索、HTML 渲染）\n- [x] 📁 文件夹切换（收件箱 \u002F 垃圾箱 \u002F 已删除）\n- [x] 🔀 聚合视图（收件箱 + 垃圾箱合并按时间排序，找验证码神器）\n- [x] 📄 分页加载（加载更多）\n- [x] 📭 临时邮箱（集成 GPTMail）\n- [x] 🎨 主题切换 + 圆形扫掠过渡 + 呼吸光晕\n\n- [x] 🔑 对外 API + API Key（免登录拉取邮件，自动化取验证码，见 [API 文档](.\u002Fdocs\u002FAPI.md)）\n\n- [x] 🗑️ 删除邮件（单条 \u002F 批量，软删除到「已删除」）\n\n**计划中（欢迎 PR）**\n\n- [ ] 📎 附件下载\n- [ ] 🏷️ 标签系统\n- [ ] ⏰ 定时刷新 Token（Cron Trigger）\n- [ ] 🤖 Telegram 推送新邮件\n\n> ⚠️ 受 Cloudflare Workers 平台限制，以下功能无法实现：IMAP（Gmail \u002F QQ \u002F 163 等非微软邮箱）、SMTP 转发、HTTP\u002FSOCKS5 代理。\n\n## ⚠️ 免责声明\n\n本项目仅供个人学习和管理自己的邮箱使用。请确保你对所管理的邮箱账号拥有合法授权，不得用于未授权访问他人邮箱或其他违法用途。默认 Client ID 为 Mozilla Thunderbird 公开 ID，仅供快速体验，正式使用建议[注册自己的 Azure 应用](.\u002Fdocs\u002FGUIDE.md#自己注册-azure-应用)。使用者应自行承担因不当使用产生的一切法律责任，作者不承担任何责任。\n\n## 🙏 致谢\n\n本项目基于 [xiaozhi349\u002FoutlookEmail](https:\u002F\u002Fgithub.com\u002Fxiaozhi349\u002FoutlookEmail) 改造而来。原项目为 Python Flask + SQLite 实现，本项目将其迁移至 Cloudflare Workers + D1，并重写了前后端代码。感谢原作者的工作。\n\n## 友情链接\n\n[LINUX DO](https:\u002F\u002Flinux.do\u002F) —— 新的理想型社区，技术爱好者的聚集地。\n\n## 📜 许可证\n\n[![License: GPL-3.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-GPL%203.0-blue.svg)](.\u002FLICENSE)\n\n基于 **GPL-3.0** 协议开源。你可以自由使用、修改和分发本项目，但任何分发的衍生作品也必须以 GPL-3.0 协议开源并提供完整源代码。\n","2026-06-11 04:11:59","CREATED_QUERY"]