logo NodeSeekbeta

自己动手写了 Zmail System:在 Serv00 上把 Gmail/QQ/Outlook 聚合到一个网页

之前在这个节点发过一个求助帖("有没有什么好用的开源的聚合邮箱"),想要一个能在 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不好使吗?
    而且你把各种邮箱的授权登录信息放到别扭的服务器上你放心吗?

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71855位seeker

🎉欢迎新用户🎉