AI搓了个Outlook邮箱管理程序

项目地址:https://github.com/fengyuanluo/FireMail

前缘

最近想研究大模型的逆向拿来自己用,之前也买过一些 Outlook 邮箱,但是都是拿 Thunderbird 管理的。这么做有啥坏处呢?一方面是雷鸟上放一大堆不常用的邮箱严重影响美观,另外一方面,雷鸟导入的过程也挺繁琐的… 当然,市面上也有类似功能的程序,比如心蓝邮件助手什么的,但是…收费

所以就起了想法,一个代码小白,能不能完全依靠 AI,完成一个项目?

过程简单回顾

很庆幸肝了两天经过三次彻底重构最后是让我搞成了,感谢 Cursor 的大力支持,愣生生让我用废了将近 3 个号的额度。

至于过程真是一言难尽,这里放一个最初版的首 Prompt,虽然最后这个版本是没有成功的,oauth2_imap_demo.py 是一个发卡网提供的收件模板…最后还得感谢这个模板,因为喂的官方教程根本用不了一点

我想建立一个名为花火邮箱助手的程序,具体功能如下

1.代码使用python作为后端,VUE作为网页前端

2.oauth2_imap_demo.py是一个通过refresh_token和Outlook邮箱地址收件的示例文件,包括了获取acess_token,认证,收件等功能

3.首先, 需要有一个注册和登录页面,用户输入账号密码登录

4.导入邮箱功能:出现一个输入框,用户输入邮箱----密码----客户端IP----refresh_token格式的信息,每行一个

5.导入后出现邮件信息并开始自动收件,也可以手动执行收件

6.注意,不同用户的邮件相关信息保持隔离,第一个注册的用户设置为管理员,可以管理其他用户,补全用户管理功能

7.css样式外置,保持一个现代化的界面

8.websocket支持,实时收件,响应式界面

在折腾这玩意的时候遇到哪些问题呢?简单的梳理总结一下仅供参考。

  1. 首 Prompt 非常重要,它会定下整个程序的框架和基调,所以我在折腾过程中两次从头开始,就是因为首 Prompt 写得不够好导致代码变成了屎山…推倒重来都比缝缝补补来得简单
  2. 如果有 docker 化需求一定要提前做好准备,在把一个开发环境能正常用的代码 docker 化的过程中,我遇到的问题包括但不限于:前后端无法通信,Websocket 无法连接,前端后端 Websocket 一人一个端口导致必须映射三个端口还不能反代
  3. 继续说 Docker,选择基础镜像很重要。我现在是采用基于 Debian12 的 python:3.12-slim,除了体积大点其他都没啥,想过换了 Alpine 的来节省空间但是实在跑不起来,后续有时间再改改吧
  4. 从来没有想过日常使用的 Websocket 在实现上会这么困难前前后后改了不知道多少次……
  5. 尽量一次对话解决一个问题,新的问题换到新的对话解决,不然旧信息影响巨大
  6. 尽量不要使用最新的编译器版本,尤其当你没有自行处理依赖关系的时候,我第二版就是因为这个原因被毙掉了…

🔥 FireMail – 花火邮箱助手

🌟 一款专为 Microsoft 邮箱设计的批量收件工具,提供简单高效的邮件管理解决方案。

https://github.com/fengyuanluo/FireMail

🖼️ 项目截图

20250405191319

20250405191341

20250405191357

📋 项目功能

  • 📥 批量导入邮箱:支持”邮箱—-密码—-客户端 ID—-RefreshToken”的批量导入格式
  • 📊 邮箱管理:批量操作多个邮箱账户
  • 📬 自动收信:对导入的邮箱进行自动收信操作
  • 👥 多用户系统:支持用户注册、登录,权限分级管理
  • 🔐 安全管理:数据存储在本地 SQLite 数据库,确保安全性

✨ 项目特点

  • 🚀 批量管理:支持多选、全选邮箱,进行批量删除、收信操作
  • 🔄 WebSocket 实时通信:及时反馈处理进度和结果
  • 🧵 多线程处理:提高邮件收取效率,支持并行处理多个邮箱
  • 🎨 简洁界面:简约现代的用户界面,操作简单直观
  • 💻 跨平台支持:支持 Windows 和 Linux 平台
  • 🔧 Docker 支持:可打包为 Docker 容器快速部署

🛠️ 技术栈

  • 后端:Python 3.13, Flask, SQLite, WebSocket
  • 前端:Vue 3, Vite, Element Plus
  • 其他:OAuth 2.0, IMAP, Docker

🚀 部署教程

🐳 Docker 部署

# 拉取镜像
docker pull luofengyuan/huohuo-email-assistant:latest

# 运行容器
docker run -d \
  --name firemail \
  -p 80:80 \
  -v ./data:/app/backend/data \
  --restart unless-stopped \
  luofengyuan/huohuo-email-assistant:latest

🐙 Docker-Compose 部署

1、创建 docker-compose.yml 文件:

version: '3'

services:
  huohuo-email-assistant:
    image: luofengyuan/huohuo-email-assistant:latest
    container_name: firemail
    restart: unless-stopped
    ports:
      - "80:80"  # 只暴露一个端口,通过Nginx进行反向代理
    volumes:
      - ./backend/data:/app/backend/data
    environment:
      - TZ=Asia/Shanghai
      - HOST=0.0.0.0
      - FLASK_PORT=5000  # 后端服务器端口
      - WS_PORT=8765     # WebSocket服务器端口
      - JWT_SECRET_KEY=your_secret_key_here  # 建议修改为随机字符串

2、启动服务:

docker-compose up -d

📦 源代码部署

1、克隆仓库:

git clone https://github.com/fengyuanluo/FireMail.git
cd FireMail

2、安装后端依赖:

pip install -r requirements.txt

3、安装前端依赖并构建:

cd frontend
npm install
npm run build

4、启动后端服务:

cd ../backend
python app.py

5、在浏览器中访问 http://localhost:3000

📝 使用说明

  1. 导入邮箱:在”批量导入”页面,按照”邮箱—-密码—-客户端 ID—-RefreshToken”格式导入邮箱
  2. 管理邮箱:在”邮箱管理”页面查看所有导入的邮箱,进行单个或批量操作
  3. 收取邮件:点击”收信”按钮开始收取邮件,实时查看进度
  4. 查看邮件:点击邮箱可以查看已收取的所有邮件内容

👤 用户认证

  • 🔐 系统默认开启注册功能
  • 👑 第一个注册的用户自动成为管理员
  • 🔒 管理员可以开启或关闭注册功能
  • 👥 管理员可以手动添加、删除用户和重置用户密码

🔮 未来开发计划

  • 📧 支持更多邮箱类型:
    • Gmail
    • Yahoo
    • 163 邮箱
    • QQ 邮箱
    • 其他主流邮箱服务
  • 🏗️ 优化 Docker 镜像:
    • 使用 Alpine Linux 作为基础镜像,大幅减小镜像体积
    • 进一步优化构建流程,提高镜像构建效率
  • 🔍 更多功能:
    • 邮件内容搜索
    • 邮件分类与标签
    • 自动回复功能

📄 开源协议

本项目采用 Apache License 2.0 许可证进行开源。

⚠️ 免责声明

  1. 本工具仅用于方便用户管理自己的邮箱账户,请勿用于非法用途。
  2. 使用本工具过程中产生的任何数据安全问题、账户安全问题或违反相关服务条款的行为,均由用户自行承担责任。
  3. 开发者不对使用本工具过程中可能出现的任何损失或风险负责。
  4. 本工具与 Microsoft 等邮箱服务提供商没有任何官方关联,使用时请遵守相关服务条款。
  5. 邮箱账号和密码等敏感信息仅存储在本地 SQLite 数据库中,请确保服务器安全,防止数据泄露。

🔗 相关链接

Related Post

发表回复