Mailman – 智能邮件管理系统

作者 : noise 发布时间: 2025-07-16
Mailman 是一个功能强大的现代化邮件管理系统,提供邮件同步、智能解析、触发器自动化和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镜像,一键启动完整系统:

docker run -d \
  --name mailman \
  -p 3000:3000 \
  -v mailman_data:/app/data \
  mailman:latest

使用Docker Compose部署(推荐)

克隆项目

git clone https://github.com/seongminhwan/mailman.git
cd mailman

配置环境变量

cp .env.example .env
# 编辑.env文件,设置必要的环境变量

启动服务

docker-compose up -d

访问应用

使用All-in-One镜像部署

All-in-One镜像包含了完整的前端和后端服务,是最简单的部署方式。

使用SQLite数据库(推荐)

# 基础部署 - 使用SQLite数据库
docker run -d \
  --name mailman \
  -p 80:80 \
  -p 8080:8080 \
  -v mailman_data:/app \
  ghcr.io/seongminhwan/mailman-all:latest

数据持久化配置

为了确保数据持久化,建议使用以下配置:

# 创建数据目录
mkdir -p ./data

# 运行容器并挂载数据目录
docker run -d \
  --name mailman \
  -p 80:80 \
  -p 8080:8080 \
  -v $(pwd)/data:/app \
  -e DB_DRIVER=sqlite \
  -e DB_NAME=/app/mailman.db \
  ghcr.io/seongminhwan/mailman-all:latest

使用MySQL数据库

# 连接外部MySQL数据库
docker run -d \
  --name mailman \
  -p 80:80 \
  -p 8080:8080 \
  -e DB_DRIVER=mysql \
  -e DB_HOST=your_mysql_host \
  -e DB_PORT=3306 \
  -e DB_USER=your_mysql_user \
  -e DB_PASSWORD=your_mysql_password \
  -e DB_NAME=mailman \
  ghcr.io/seongminhwan/mailman-all:latest

完整配置示例

# 包含所有常用配置的完整示例
docker run -d \
  --name mailman \
  -p 80:80 \
  -p 8080:8080 \
  -v $(pwd)/data:/app \
  -e DB_DRIVER=sqlite \
  -e DB_NAME=/app/mailman.db \
  # -e OPENAI_API_KEY=your-openai-api-key \  # 已废弃,现在通过Web界面配置AI服务
  -e LOG_LEVEL=INFO \
  --restart unless-stopped \
  ghcr.io/seongminhwan/mailman-all:latest

重要注意事项

⚠️ 数据库文件挂载注意事项

  1. 数据目录权限:确保挂载的数据目录有正确的读写权限
  2. SQLite文件位置:SQLite数据库文件默认保存在 /app/mailman.db
  3. 数据备份:定期备份 /app 目录中的数据文件
  4. 容器更新:更新容器时,数据目录挂载确保数据不丢失

📋 端口说明

  • 80: 前端Web界面
  • 8080: 后端API服务

🔧 环境变量配置

  • DB_DRIVER: 数据库类型(sqlitemysql
  • DB_NAME: 数据库名称或SQLite文件路径
  • OPENAI_API_KEY: OpenAI API密钥(已废弃,现在通过Web界面配置AI服务)
  • LOG_LEVEL: 日志级别(DEBUG, INFO, WARN, ERROR)

本地开发部署

后端部署

进入后端目录

cd backend

安装依赖

go mod download

配置数据库

# 启动MySQL数据库
docker run -d --name mailman-mysql \
  -e MYSQL_ROOT_PASSWORD=rootpassword \
  -e MYSQL_DATABASE=mailman \
  -e MYSQL_USER=mailman \
  -e MYSQL_PASSWORD=mailmanpassword \
  -p 3306:3306 \
  mysql:8.0

设置环境变量

export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=mailman
export DB_PASSWORD=mailmanpassword
export DB_NAME=mailman
# export OPENAI_API_KEY=your-openai-api-key  # 已废弃,现在通过Web界面配置AI服务

运行后端服务

go run cmd/mailman/main.go

前端部署

进入前端目录

cd frontend

安装依赖

npm install

配置环境变量

cp .env.local.example .env.local
# 编辑.env.local文件设置API地址

启动开发服务器

npm run dev

生产环境部署

构建前端

cd frontend
npm run build

构建后端

cd backend
go build -o mailman cmd/mailman/main.go

使用生产配置

docker-compose -f docker-compose.yml up -d

⚙️ 配置说明

环境变量

数据库配置

DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=mailman
DB_PASSWORD=mailmanpassword
DB_NAME=mailman
DB_SSLMODE=disable

AI服务配置

⚠️ 重要变更:AI服务配置已改为通过Web界面管理,不再使用环境变量。

部署完成后,请通过前端界面配置AI服务:

  1. 登录到前端界面
  2. 进入”设置”或”AI配置”页面
  3. 添加您的AI服务提供商配置(OpenAI、Claude、Gemini等)
  4. 设置API密钥、基础URL和模型等参数

服务器配置

SERVER_HOST=0.0.0.0
SERVER_PORT=8080
LOG_LEVEL=INFO

邮件账户配置

支持的邮件协议:

  • IMAP: Gmail, Outlook, Yahoo Mail等
  • Exchange: Microsoft Exchange Server
  • POP3: 传统POP3协议

配置示例:

{
  "provider": "gmail",
  "email": "user@gmail.com",
  "password": "app-password",
  "imap_host": "imap.gmail.com",
  "imap_port": 993,
  "smtp_host": "smtp.gmail.com",
  "smtp_port": 587,
  "use_tls": true
}

📚 API文档

Swagger文档

启动后端服务后,可访问:

主要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 – 停止邮件同步

🔧 功能使用指南

添加邮件账户

  1. 登录系统后,点击”账户管理”
  2. 点击”添加账户”按钮
  3. 选择邮件提供商(Gmail、Outlook等)
  4. 输入邮件地址和认证信息
  5. 测试连接并保存

配置OAuth2认证

  1. 进入”设置” → “OAuth2配置”
  2. 选择邮件提供商(Gmail、Outlook等)
  3. 填写OAuth2应用信息:
    • 客户端ID (Client ID)
    • 客户端密钥 (Client Secret)
    • 重定向URI
  4. 保存配置并测试连接
  5. 完成OAuth2授权流程

配置AI服务

  1. 进入”设置” → “AI配置”
  2. 点击”添加AI配置”
  3. 选择AI提供商(OpenAI、Claude、Gemini)
  4. 填写配置信息:
    • 配置名称
    • API密钥
    • 模型名称(可选)
    • API端点(可选)
  5. 测试配置连接
  6. 设置为默认AI服务(可选)

全局邮件搜索

  1. 在顶部导航栏找到搜索框
  2. 输入搜索关键词
  3. 使用高级搜索选项:
    • 发件人过滤
    • 时间范围
    • 邮件状态
    • 账户筛选
  4. 查看搜索结果并进行操作

邮件同步管理

  1. 进入”邮件” → “同步管理”
  2. 配置同步设置:
    • 同步频率(实时/定时)
    • 同步范围(全量/增量)
    • 邮件数量限制
  3. 启动自动同步
  4. 监控同步状态和日志

使用AI功能

  1. 在邮件详情页面,点击”AI助手”
  2. 选择AI功能:
    • 内容提取:提取邮件中的关键信息
    • 智能分类:自动分类邮件类型
    • 内容摘要:生成邮件摘要
    • 模板生成:创建提取模板
  3. 配置AI参数和提示词
  4. 执行AI分析并查看结果
  5. 保存或应用AI处理结果
来自NOISE资源阁-noisevip.cn
NOISE宝藏阁 » Mailman – 智能邮件管理系统

发表回复

微信
微信
我会尽快回复。
取消