本文最后更新于 2026年1月2日。
要实现“几十兆(MB)内存占用”的邮件服务,目前的技术环境下,传统的全功能方案(如 Mailcow 或 Poste.io)确实无法做到,因为它们是多个软件的堆砌。
针对您的极低资源需求,最完美的方案是 Maddy Mail Server。
🚀 唯一能做到几十兆内存的方案:Maddy
Maddy 是一个用 Go 语言编写的现代邮件服务器。它最大的特点是 All-in-One:把 SMTP 和 IMAP 所有的功能写进了一个极小的二进制文件里。
-
内存占用: 静态空闲时仅约 30MB – 60MB。
-
功能: 支持 SMTP (收发)、IMAP (客户端查看)、DKIM (防垃圾签名)、TLS (加密)。
-
部署: 只有一个 Docker 镜像,不需要外部数据库(自带 SQLite)。
为什么传统邮件服务很耗内存?
普通的邮件服务(如 iRedMail, Poste.io)其实是“全家桶”,它们运行了以下一堆程序:
-
Postfix (负责发信)
-
Dovecot (负责存信和 IMAP)
-
SpamAssassin/Rspamd (防垃圾,这是内存杀手,通常要 500MB+)
-
ClamAV (杀毒,这是超级内存杀手,通常要 1GB+)
-
MySQL/PostgreSQL (数据库)
-
Redis (缓存)
Maddy 为什么省钱? 它抛弃了繁重的杀毒和防垃圾扫描(这些你可以靠设置复杂的域名别名来规避),并用高效的 Go 语言重写了核心协议。
🛠️ 如何快速部署 Maddy (Docker)
创建一个 docker-compose.yml:
YAML
version: '3'
services:
maddy:
image: foxcpp/maddy:latest
container_name: maddy
restart: always
environment:
- MADDY_HOSTNAME=mail.yourdomain.com
- MADDY_DOMAIN=yourdomain.com
ports:
- "25:25" # SMTP 收信
- "465:465" # SMTP 发信 (SSL)
- "993:993" # IMAP 收信 (SSL)
volumes:
- ./maddy-data:/data
如何实现您的“邮件聚合”需求?
-
转发进来: 在您的 Gmail/Outlook 设置里,将邮件全部转发到
any@yourdomain.com。 -
Maddy 接收: Maddy 收到后存入本地。
-
客户端查看: 在手机或电脑上下载 Spark 或 Thunderbird,通过 IMAP 连接 Maddy。这些现代客户端本身就支持 2FA(双重认证),可以保护您的邮件安全。
⚠️ 极其重要的注意事项
如果您是第一次自建邮件服务器,请务必检查以下两点,否则无法使用:
-
25 端口: 绝大多数云厂商(如阿里云、腾讯云、AWS、GCP)默认封禁 25 端口。如果 25 端口不开放,你无法接收任何外界邮件。
- 解决: 联系客服申请解封,或租用专门不封 25 端口的 VPS(如 RackNerd, BuyVM 等)。
-
RDNS (PTR记录): 为了防止你发的邮件被当成垃圾邮件,你需要去 VPS 后台设置 IP 反向解析(PTR)。
关于双重认证 (2FA)
Maddy 本身是协议层服务,不带网页版界面(Webmail)。
- 建议方案: 2FA 功能交给客户端。例如在手机上使用 Outlook App 或 Gmail App 绑定你的 Maddy 账号,并开启手机本身的指纹/面容解锁,这是最轻量且安全的做法。
您想尝试部署 Maddy 吗?我可以为您提供详细的配置文件(maddy.conf)参考。