之前在这个节点发过一个求助帖("有没有什么好用的开源的聚合邮箱"),想要一个能在 Serv00 上跑的、轻量的、聚合多个邮箱的方案。
翻了一圈:
- Roundcube 太重,配置麻烦
- 一些开源项目要 Docker / 要 VPS
- 有纯 PHP 的,但大多只支持一个邮箱,或多邮箱支持要靠插件
- Serv00 免费机也不适合跑常驻进程
实在没办法,自己写了一个。
📬 Zmail System
一句话:一个部署在虚拟主机上的多邮箱聚合系统,把 Gmail、QQ、Outlook、163 全收进一个网页。
不需要 Docker,不需要 VPS,只要支持 PHP + IMAP 的虚拟主机就能跑。
✨ 功能
- 📬 多邮箱聚合 — Gmail / QQ / Outlook / 163 / 126 / 自定义 IMAP
- 🔍 本地拦截 — 命中"取消订阅""退订"等关键词的邮件只在本地过滤,云端邮件完全不动
- 📎 附件下载 — 自动下载附件,网页一键下载
- 🔀 邮件转发 — 命中关键词的邮件自动转发到 Telegram / Server酱 / Webhook
- ⭐ 标记 — 星标 / 重要 / 未读,随时切换
- 🌙 暗色模式 — 一键切换
- 📱 手机适配 — 抽屉式布局,列表与详情分屏
- ⏰ 自动收信 — Cron 定时拉取,最小间隔 1 分钟
- 🧹 定时清理 — 自动删除超期邮件和附件
🚀 部署三步走
1. 上传代码
把项目文件夹传到 public_html/mail/。
2. 访问安装向导
https://你的域名/mail/install.php
走完 5 步:环境检测 → 建库 → 建管理员 → 加邮箱 → 完成。
3. 配置 Cron
* * * * * /usr/local/bin/php /home/用户名/public_html/mail/fetch_mail.php
实测在 Serv00 上跑得很稳,CPU / 内存占用都很低。
📮 环境要求
- PHP 7.4+(推荐 8.0+)
- 扩展:
imap、pdo_sqlite、mbstring、curl、session - Serv00 / 宝塔 / cPanel 都可以
📁 项目地址
https://github.com/zybnb/Zmail-system
MIT 协议,随便改随便用。
一些取舍说明
写的时候有意做了几个决定,说明一下:
1. 为什么用 SQLite 而不是 MySQL?
虚拟主机用户申请数据库比较麻烦,SQLite 一个文件搞定,不用建库建用户。Serv00 上完全够用。
2. 为什么用 Cron 而不是长连接?
Serv00 免费机不允许常驻进程,imap_open + IMAP IDLE 的长连接方案跑不了。用 Cron 每分钟轮询是唯一可行方案,延迟 ≤1 分钟。
3. 为什么"本地拦截"而不是云端删除?
有些聚合工具会把"取消订阅"的邮件直接从云端删掉。但万一误判,你就永久丢了那封邮件。我的方案是只本地过滤,云端保持原样——你去 Gmail/QQ 网页看,邮件还在。
4. 为什么不做成 Docker 镜像?
目标用户是虚拟主机用户。做了 Docker 反而增加门槛。
欢迎大家试用和反馈
如果在 Serv00 或其他虚拟主机上部署遇到问题,可以直接回帖或者提 Issue。欢迎 PR。
如果这个项目对你有帮助,点个 ⭐ 支持一下 😃
outlook app不好使吗?
而且你把各种邮箱的授权登录信息放到别扭的服务器上你放心吗?