zybnb 6f5c04a390 Add benefits section to README
Added a section explaining the benefits of using the Mail Hub project.
2026-09-27 10:56:31 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:56:31 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00
2026-09-27 10:36:58 +08:00

为什么用它

如果你也受够了:

  • 在 Gmail、QQ、Outlook 之间来回切换
  • 手机装一堆邮箱 App,各占几十 MB
  • 虚拟主机没有资源跑 Docker / VPS

那这个项目适合你。只要一个支持 PHP + IMAP 的虚拟主机,就能把多个邮箱聚合到一个网页管理。

📬 Mail Hub · 多邮箱聚合系统

一个可以部署在虚拟主机上的轻量级多邮箱聚合系统。把 Gmail、QQ、Outlook、163 等邮箱集中在一个网页里查看、管理、转发。

不需要 Docker,不需要 VPS,只要一个支持 PHP + IMAP 的虚拟主机就能跑。


✨ 功能

功能 说明
📬 多邮箱聚合 支持 Gmail / QQ / Outlook / 163 / 126 / 自定义 IMAP
🔍 本地拦截 命中关键词的邮件只在本地过滤,云端邮件完全不动
📎 附件下载 自动下载附件,网页一键下载
🔀 邮件转发 转发到 Telegram / Server酱 / 自定义 Webhook
⭐ 标记 星标 / 重要 / 未读,可随时切换
🌙 暗色模式 一键切换,眼睛友好
📱 手机适配 抽屉式布局,手机端列表与详情分屏
⏰ 自动收信 Cron 定时拉取,最小间隔 1 分钟
🧹 定时清理 自动删除超过 N 天的本地邮件和附件
🔒 登录保护 密码登录 + 限速防爆破 + 会话超时

📸 截图

部署后自己截图放在这里。


🚀 快速开始

环境要求

  • PHP 7.4+(推荐 8.0+)
  • PHP 扩展:imap、pdo_sqlite、mbstring、curl、session
  • 一个支持 Cron 的虚拟主机(Serv00、宝塔、cPanel 等)

部署三步走

1. 上传代码

把整个文件夹上传到网站根目录,比如 public_html/mail/。

2. 访问安装向导

打开浏览器访问:

https://你的域名/mail/install.php

按 5 步走:

  1. 环境检测
  2. 创建数据库
  3. 设置管理员账号
  4. 添加第一个邮箱
  5. 完成

3. 配置 Cron

在虚拟主机面板添加定时任务:

* * * * * /usr/local/bin/php /home/用户名/public_html/mail/fetch_mail.php

* * * * * 表示每分钟执行一次。不想太频繁可以改成 */5 * * * *。

详细教程见 docs/INSTALL.md。


📮 支持的邮箱

邮箱 IMAP 服务器
Gmail {imap.gmail.com:993/imap/ssl}INBOX
QQ 邮箱 {imap.qq.com:993/imap/ssl}INBOX
Outlook / Hotmail {outlook.office365.com:993/imap/ssl}INBOX
163 邮箱 {imap.163.com:993/imap/ssl}INBOX
126 邮箱 {imap.126.com:993/imap/ssl}INBOX
自定义 / 企业邮箱 {imap.你的服务器:993/imap/ssl}INBOX

配置细节见 docs/CONFIG.md。


📁 目录结构

mail-system/
├── README.md
├── LICENSE
├── CHANGELOG.md
├── install.php          # 安装向导(安装后删除)
├── index.php            # 收件箱
├── login.php            # 登录
├── logout.php           # 退出
├── admin.php            # 修改密码
├── auth.php             # 鉴权公共文件
├── fetch_mail.php       # 收信脚本(Cron 调用)
├── run_fetch.php        # 手动触发收信
├── detail.php           # 邮件详情接口
├── delete.php           # 删除邮件
├── mark.php             # 星标 / 重要 / 已读
├── download.php         # 附件下载
├── accounts.php         # 邮箱账户管理
├── add_account.php      # 添加邮箱
├── rules.php            # 拦截 / 转发 / 清理
├── robots.txt
├── assets/
│   ├── style.css
│   └── app.js
├── includes/
│   ├── header.php
│   └── footer.php
├── data/                # 数据库目录(不提交到 Git)
│   └── .htaccess
└── docs/
    ├── INSTALL.md
    ├── CONFIG.md
    └── FAQ.md

❓ 常见问题

Q: 收信延迟多久?

A: 取决于 Cron 频率。* * * * * 是 ≤1 分钟,*/5 * * * * 是 ≤5 分钟。

Q: 会删云端邮件吗?

A: 不会。所有删除、标记操作只针对本地 SQLite,绝不调用 IMAP 的删除或已读操作。

Q: 附件存在哪里?

A: data/attachments/,会占磁盘。配合定时清理自动删除。

Q: 数据库安全吗?

A: SQLite 文件放在 data/ 目录,包含 .htaccess 阻止直接访问。Nginx 主机需额外配置。

更多见 docs/FAQ.md。


🛠️ 技术栈

  • 后端:纯 PHP,无框架
  • 数据库:SQLite
  • 前端:原生 JavaScript + CSS,零依赖
  • 邮件协议:IMAP 收信
  • 部署:任何支持 PHP 的虚拟主机

🔒 安全建议

  1. 部署完成后立刻删除 install.php
  2. 开启 HTTPS(用 Let's Encrypt 免费证书)
  3. 如果主机支持,把 data/ 目录移出网站根目录
  4. 使用强密码(≥8 位,含大小写和数字)

📄 协议

MIT License · 随便改、随便用、随便发。


🤝 贡献

欢迎提 Issue 和 PR。

S
Description
轻量级多邮箱聚合系统,支持 Gmail/QQ/Outlook/163 等 IMAP 邮箱收信、本地拦截、附件下载、自动转发
Readme MIT
307 KiB
0 Stars 1 Watchers 0 Forks
Languages
PHP 72.9%
CSS 16.3%
JavaScript 10.8%