Mailman - 智能邮件管理系统

Mailman - 智能邮件管理系统
noiseMailman 是一个功能强大的现代化邮件管理系统,提供邮件同步、智能解析、触发器自动化和AI助手等功能。支持多种邮件协议,具有直观的Web界面和强大的后端API。
开源:https://github.com/seongminhwan/mailman
🚀 主要特性
📧 邮件管理
- 多账户支持:管理多个邮件账户(Gmail、Outlook、IMAP等)
- OAuth2认证:支持Gmail、Outlook等OAuth2安全认证
- 实时同步:自动同步邮件,支持增量同步和定时同步
- 智能解析:自动解析邮件内容,提取关键信息和附件
- 全局搜索:强大的全局邮件搜索,支持高级过滤和实时搜索
- 邮件提取:智能提取邮件中的结构化数据
- 邮件工具:丰富的邮件处理工具集
🤖 AI集成
- 多AI支持:支持OpenAI、Claude、Gemini等多种AI提供商
- 数据库配置:通过Web界面灵活配置和管理AI服务
- 智能提取:使用AI提取邮件中的结构化数据和关键信息
- 模板生成:AI助手生成邮件提取模板和处理规则
- 内容分析:智能分析邮件内容,提取业务数据
- 可视化配置:拖拽式AI配置界面,无需编程知识
⚡ 自动化功能
- 触发器系统:基于条件的邮件处理自动化
- 定时任务:邮件同步和处理的定时调度
- 事件监听:实时监听邮件事件
- 工作流管理:复杂的邮件处理工作流
🛡️ 安全特性
- 多重认证:支持用户名密码、OAuth2等多种认证方式
- OAuth2集成:完整的OAuth2流程,支持Gmail、Outlook等主流邮件服务
- 会话管理:安全的用户会话管理和自动过期机制
- 数据加密:敏感数据加密存储,API密钥安全管理
- 权限控制:基于角色的访问控制和细粒度权限管理
- 安全传输:HTTPS/WSS加密通信
界面预览
主界面
邮件账户管理
邮件管理
同步配置
邮件监听和提取
邮件取件模板
AI助手
🚀 快速开始
环境要求
- Go: 1.23+
- Node.js: 18+
- MySQL: 8.0+
- Docker: 最新版本(推荐)
- Docker Compose: 最新版本
Mailman支持多种部署方式,满足不同场景的需求:
快速开始 (推荐)
使用Docker All-in-One镜像,一键启动完整系统:
1 | docker run -d \ |
使用Docker Compose部署(推荐)
克隆项目
1 | git clone https://github.com/seongminhwan/mailman.git |
配置环境变量
1 | cp .env.example .env |
启动服务
1 | docker-compose up -d |
访问应用
使用All-in-One镜像部署
All-in-One镜像包含了完整的前端和后端服务,是最简单的部署方式。
使用SQLite数据库(推荐)
1 | # 基础部署 - 使用SQLite数据库 |
数据持久化配置
为了确保数据持久化,建议使用以下配置:
1 | # 创建数据目录 |
使用MySQL数据库
1 | # 连接外部MySQL数据库 |
完整配置示例
1 | # 包含所有常用配置的完整示例 |
重要注意事项
⚠️ 数据库文件挂载注意事项:
- 数据目录权限:确保挂载的数据目录有正确的读写权限
- SQLite文件位置:SQLite数据库文件默认保存在
/app/mailman.db
- 数据备份:定期备份
/app
目录中的数据文件 - 容器更新:更新容器时,数据目录挂载确保数据不丢失
📋 端口说明:
80
: 前端Web界面8080
: 后端API服务
🔧 环境变量配置:
DB_DRIVER
: 数据库类型(sqlite
或mysql
)DB_NAME
: 数据库名称或SQLite文件路径OPENAI_API_KEY
: OpenAI API密钥(已废弃,现在通过Web界面配置AI服务)LOG_LEVEL
: 日志级别(DEBUG, INFO, WARN, ERROR)
本地开发部署
后端部署
进入后端目录
1 | cd backend |
安装依赖
1 | go mod download |
配置数据库
1 | # 启动MySQL数据库 |
设置环境变量
1 | export DB_HOST=localhost |
运行后端服务
1 | go run cmd/mailman/main.go |
前端部署
进入前端目录
1 | cd frontend |
安装依赖
1 | npm install |
配置环境变量
1 | cp .env.local.example .env.local |
启动开发服务器
1 | npm run dev |
生产环境部署
构建前端
1 | cd frontend |
构建后端
1 | cd backend |
使用生产配置
1 | docker-compose -f docker-compose.yml up -d |
⚙️ 配置说明
环境变量
数据库配置
1 | DB_DRIVER=mysql |
AI服务配置
⚠️ 重要变更:AI服务配置已改为通过Web界面管理,不再使用环境变量。
部署完成后,请通过前端界面配置AI服务:
- 登录到前端界面
- 进入”设置”或”AI配置”页面
- 添加您的AI服务提供商配置(OpenAI、Claude、Gemini等)
- 设置API密钥、基础URL和模型等参数
服务器配置
1 | SERVER_HOST=0.0.0.0 |
邮件账户配置
支持的邮件协议:
- IMAP: Gmail, Outlook, Yahoo Mail等
- Exchange: Microsoft Exchange Server
- POP3: 传统POP3协议
配置示例:
1 | { |
📚 API文档
Swagger文档
启动后端服务后,可访问:
- URL: http://localhost:8080/swagger/index.html
- 格式: OpenAPI 3.0
主要API端点
认证相关
POST /api/auth/login
- 用户登录POST /api/auth/logout
- 用户登出GET /api/auth/user
- 获取用户信息
邮件账户
GET /api/accounts
- 获取邮件账户列表POST /api/accounts
- 添加邮件账户PUT /api/accounts/{id}
- 更新邮件账户DELETE /api/accounts/{id}
- 删除邮件账户
邮件管理
GET /api/emails
- 获取邮件列表GET /api/emails/{id}
- 获取邮件详情POST /api/emails/sync
- 同步邮件POST /api/emails/search
- 全局邮件搜索GET /api/emails/search/global
- 高级全局搜索POST /api/emails/extract
- 邮件数据提取GET /api/emails/stats
- 邮件统计信息
触发器
GET /api/triggers
- 获取触发器列表POST /api/triggers
- 创建触发器PUT /api/triggers/{id}
- 更新触发器DELETE /api/triggers/{id}
- 删除触发器
OAuth2认证
GET /api/oauth2/providers
- 获取支持的OAuth2提供商POST /api/oauth2/authorize
- 发起OAuth2授权GET /api/oauth2/callback/{provider}
- OAuth2回调处理POST /api/oauth2/refresh
- 刷新访问令牌DELETE /api/oauth2/revoke
- 撤销授权
AI功能
GET /api/ai/config
- 获取AI配置列表POST /api/ai/config
- 创建AI配置PUT /api/ai/config/{id}
- 更新AI配置DELETE /api/ai/config/{id}
- 删除AI配置POST /api/ai/config/{id}/test
- 测试AI配置POST /api/ai/extract
- AI内容提取POST /api/ai/template/generate
- AI生成提取模板GET /api/ai/templates
- 获取AI模板列表
同步配置
GET /api/sync/config
- 获取同步配置POST /api/sync/config
- 创建同步配置PUT /api/sync/config/{id}
- 更新同步配置POST /api/sync/start
- 启动邮件同步POST /api/sync/stop
- 停止邮件同步
🔧 功能使用指南
添加邮件账户
- 登录系统后,点击”账户管理”
- 点击”添加账户”按钮
- 选择邮件提供商(Gmail、Outlook等)
- 输入邮件地址和认证信息
- 测试连接并保存
配置OAuth2认证
- 进入”设置” → “OAuth2配置”
- 选择邮件提供商(Gmail、Outlook等)
- 填写OAuth2应用信息:
- 客户端ID (Client ID)
- 客户端密钥 (Client Secret)
- 重定向URI
- 保存配置并测试连接
- 完成OAuth2授权流程
配置AI服务
- 进入”设置” → “AI配置”
- 点击”添加AI配置”
- 选择AI提供商(OpenAI、Claude、Gemini)
- 填写配置信息:
- 配置名称
- API密钥
- 模型名称(可选)
- API端点(可选)
- 测试配置连接
- 设置为默认AI服务(可选)
全局邮件搜索
- 在顶部导航栏找到搜索框
- 输入搜索关键词
- 使用高级搜索选项:
- 发件人过滤
- 时间范围
- 邮件状态
- 账户筛选
- 查看搜索结果并进行操作
邮件同步管理
- 进入”邮件” → “同步管理”
- 配置同步设置:
- 同步频率(实时/定时)
- 同步范围(全量/增量)
- 邮件数量限制
- 启动自动同步
- 监控同步状态和日志
使用AI功能
- 在邮件详情页面,点击”AI助手”
- 选择AI功能:
- 内容提取:提取邮件中的关键信息
- 智能分类:自动分类邮件类型
- 内容摘要:生成邮件摘要
- 模板生成:创建提取模板
- 配置AI参数和提示词
- 执行AI分析并查看结果
- 保存或应用AI处理结果
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果