本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
Aillive Mail
大家好,分享一个最近整理并开源的项目:Aillive Mail。
这是一个面向 Outlook、Hotmail 和 Live 邮箱的自托管多邮箱管理工具,支持 Web 端和 Windows 桌面端。
项目的目标是将多个微软邮箱集中到同一个工作台中,减少反复切换账号带来的操作成本,同时让邮箱数据和凭据保存在自己的服务器中。

邮件撰写工作台,截图内容均为虚构演示数据。
主要功能
- 多个 Outlook、Hotmail、Live 邮箱统一管理
- 收件箱、已发送、草稿、归档和回收站
- 邮件搜索、阅读、移动、标记及发送
- 邮箱账号批量导入、导出、分组和排序
- Microsoft Device Code OAuth2 授权
- IMAP、SMTP 与 Microsoft Graph 混合传输
- 多用户数据隔离及独立游客空间
- 中英文、深色和浅色主题
- 桌面端与移动端响应式布局
- 管理员后台、用户管理和公告功能
- Docker 私有部署

Microsoft OAuth2 授权
项目通过 Microsoft Device Code 流程完成邮箱授权,用户不需要在应用中输入 Microsoft 账号密码。
收件默认使用 IMAP XOAUTH2,发件默认使用 SMTP OAuth2;相关协议不可用时,可以自动回退到 Microsoft Graph。

隐私与安全
邮箱密码、Client ID 和 Refresh Token 在写入 SQLite 前使用 AES-256-GCM 加密。
应用按照当前登录用户或游客会话隔离数据。浏览器 Cookie 只保存签名后的会话标识,不保存邮箱密码或 Token。
邮件 HTML 会在服务端进行安全处理,限制脚本、危险链接、远程跟踪资源和私有网络请求。
邮箱属于敏感数据,正式部署前请阅读仓库中的安全文档,并妥善保管:
.env
- SQLite 数据库
- 主加密密钥
- 邮箱密码和 Refresh Token
- 数据库备份文件
技术栈
- 后端: Go、SQLite
- 前端: React、TypeScript、Vite
- 邮件协议: IMAP、SMTP、Microsoft Graph
- 身份授权: Microsoft OAuth2
- 桌面客户端: Rust、Tauri
- 部署方式: Docker 或独立 Go 服务
生产环境中,Go 服务会同时提供 API 和编译后的 React 页面,Node.js 主要用于前端构建。
移动端适配
项目针对桌面端和移动端分别进行了界面适配,可以在手机浏览器中完成邮件阅读、管理和撰写。

仓库说明
本项目包含两个仓库,两者属于同一个项目:
1. Mail:主项目源码
包含 React 前端、Go 后端、桌面客户端源码、数据库、OAuth2、邮件协议接入以及 Docker 配置。
2. MailManager:Windows 发布仓库
用于发布 Windows 桌面客户端,目前提供:
- NSIS 安装版
- MSI 安装版
- 免安装便携版
- SHA-256 校验文件
Windows 安装包目前尚未进行代码签名,首次运行时可能出现 SmartScreen 的“未知发布者”提示。请仅从 GitHub Releases 下载,并在运行前核对 SHA-256。
快速部署
git clone https://github.com/amine123max/Mail.git
cd Mail
npm ci
cp .env.example .env
npm run dev
开发环境访问:
http://localhost:5173
使用 Docker 部署:
docker compose up -d --build
首次运行会进入管理员初始化页面,需要提前在 .env 中配置验证码邮件所使用的 SMTP 服务。
正式部署时请务必修改:
MAIL_SESSION_SECRET
MAIL_ENCRYPTION_KEY
同时配置持久化数据目录、验证码 SMTP、反向代理和 Cookie 路径。
项目地址
- 在线体验: https://www.aillive.xyz/mail
- 主项目源码: GitHub - amine123max/Mail: Secure self-hosted Outlook and Hotmail mailbox manager with Go, React, OAuth2, and encrypted SQLite · GitHub
- Windows 下载: Releases · amine123max/MailManager · GitHub
- 开源协议: MIT License
当前限制
目前主要支持 Outlook、Hotmail 和 Live 邮箱,暂未适配 Gmail、QQ 邮箱等其他邮件服务。
项目仍在持续完善中,不建议在没有备份的情况下直接用于关键生产邮箱。
欢迎佬友们体验并提出建议。发现问题可以提交 Issue,也欢迎参与代码、文档和兼容性方面的改进。
感谢大家。
Community
Thanks to the LINUX DO open-source community for providing a platform for discussion and knowledge sharing.