Mailcow是…… 一套开源的邮件服务器套件,由多个长期使用的开源邮件组件整合而成,并以 Docker 容器方式部署,附带一个用于域名、邮箱与安全策略管理的图形化管理界面。它把 SMTP、IMAP、网页邮箱、反垃圾邮件、反病毒与证书自动化等功能打包在同一套栈中,使自建邮件系统不再需要逐项手工安装与调校。项目以 GNU 通用公共许可证第 3 版发布,由 The Infrastructure Company GmbH 负责管理与维护。
定义
Mailcow 是一套基于 Docker 构建的开源群件与电子邮件套件,官方名称为 mailcow: dockerized。它并非从零编写的单一程序,而是把 Postfix、Dovecot、SOGo、Rspamd、ClamAV、MariaDB、Redis、Nginx 等成熟开源组件以容器形式组合起来,形成一个可以直接投入使用的邮件服务器 ^1。
该套件的核心特征是其图形化管理界面,即 mailcow UI。管理员通过界面即可新增域名与邮箱地址、生成 DKIM 与 ARC 记录、配置黑白名单、设定每用户的垃圾邮件评分策略、启用隔离区与双因素认证,而不必手工编辑各组件配置文件[1]。
Mailcow 自身代码以 GNU 通用公共许可证第 3 版发布,mailcow 是 The Infrastructure Company GmbH 的注册商标,项目由该公司负责管理与维护[2]。
原理
Mailcow 的架构基础是容器编排。每个容器对应一个独立应用,各容器通过桥接网络相互连接,由 Docker Compose 统一拉起与更新,因此整个邮件栈可以在一台主机上以可重复的方式部署[1]。
在邮件收发链路上,Postfix 承担 MTA 角色,负责与互联网上的其他邮件服务器进行 SMTP 通信;Dovecot 提供 IMAP 与 POP3 服务,供客户端收取邮件,并内置名为 Flatcurve 的全文检索引擎。SOGo 提供网页邮箱以及日历、通讯录接口,同时支持 ActiveSync,使移动设备可直接同步[1]。
安全与过滤层面,Rspamd 负责垃圾邮件过滤并具备自动学习能力,ClamAV 与 Olefy 分别扫描邮件附件和 Office 文档中的病毒与宏,Redis 存放垃圾邮件信息与 DKIM 密钥,Unbound 作为内置 DNS 服务器用于校验 DNSSEC,Watchdog 则监控各容器的运行状态[1]。
所有邮件数据集中存放在 Docker 卷中,其中邮件以压缩并加密的形式保存,密钥对位于 crypt-vol-1 卷内,因此备份这些卷是保护数据的关键[1]。
flowchart LR
A[互联网邮件] --> B[Postfix MTA]
B --> C[Rspamd 垃圾邮件过滤]
B --> D[ClamAV / Olefy 病毒扫描]
C --> E[Dovecot 投递]
E --> F[(Docker 卷 加密邮件存储)]
F --> G[SOGo 网页邮箱 / ActiveSync]
H[mailcow UI] --> B
H --> C
H --> E
发展历程
Mailcow 由开发者 André(社区网名 andryyy)于 2016 年创建,初衷是降低邮件服务器的搭建与运维复杂度。项目最早以 shell 安装脚本的形式出现,直接在宿主机上安装并配置 Postfix、Dovecot、SpamAssassin、ClamAV 等组件[3][2]。
2016 年 12 月,容器化的 mailcow: dockerized 分支发布,同一时期项目开始从依赖系统包的传统安装方式转向 Docker Compose 部署[4]。此后旧有非容器版本逐步停止更新,官方引导用户转向容器化版本[5]。
容器化版本在随后数年中持续整合组件:陆续引入 SOGo 群件、以 Rspamd 取代 SpamAssassin 作为垃圾邮件过滤组件、加入 ClamAV 病毒扫描与 ActiveSync 移动设备支持,并补充了双因素认证与隔离区管理[3]。
项目的版本号采用年份加月份的发布节奏,例如 2025 年 9 月、2025 年 12 月均发布了修订版本,内容多为缺陷修复、依赖升级与界面翻译更新,2025 年 12 月的版本还新增了越南语界面,并把备份压缩工具由 pigz 更换为 zstd[6]。
应用
Mailcow 的典型用途是为自有域名搭建完整的邮件服务。使用者需准备一台具备独立 IP 的服务器、一个可控的域名,并按官方要求配置 MX、A 记录以及 SPF、DKIM、DMARC 等反垃圾与身份验证记录,同时开放 25、80、443、143、993、587 等端口[7]。
部署流程通常包括安装 Docker 与 Docker Compose、克隆仓库、运行配置生成脚本并启动容器。系统对资源有明确要求,官方文档给出 1 GHz 处理器、至少 6 GiB 内存与 1 GiB 交换空间、20 GiB 磁盘的基准,并说明在纯 IPv6 之外的 x86_64 与 ARM64 架构上均可运行[8]。
在组织场景中,Mailcow 可作为多租户的集中式邮件服务器,为不同租户分配相互隔离的邮件空间、域名与安全策略,也可部署在容器集群中,借助集群机制实现容器故障自动重启与节点迁移。个人用户与小型团队则多将其用于自建邮箱、网页邮箱与共享日历通讯录[9]。
局限
Mailcow 对运行平台有较严格的限制。官方文档明确表示不支持在群晖、威联通等 NAS 设备上安装,也不支持 OpenVZ、Virtuozzo、LXC 一类容器平台,仅支持 KVM、ESX、Hyper-V 等完整虚拟化平台;受支持的 Linux 发行版集中在 Debian、Ubuntu、AlmaLinux、Rocky Linux 等[8]。
资源占用高于精简型 MTA。由于同时运行网页服务器、网页邮箱、ActiveSync、反病毒、反垃圾、索引、文档扫描、数据库与缓存等多个服务,默认配置下需要显著多于纯邮件传输代理的内存,ClamAV 与全文索引对内存的需求尤为突出,管理员可通过配置项将其关闭[8]。
投递成功率依赖使用者的外部配置。运行自建邮件服务器需要正确设置 SPF、DKIM、DMARC 与反向 DNS,否则发出的邮件容易被判为垃圾邮件;部分云服务商默认封禁出站 25 端口,需要额外申请解封,否则服务器只能收信而无法向外投递[7]。
在 SELinux 或启用 ufw、firewalld 的系统上,防火墙规则需要迁移到 Docker 用户链才能生效,因为容器化部署下常规的入口链规则不会约束容器流量,这增加了配置与排错的复杂度[8]。
参见
参考资料
- mailcow: dockerized documentation [引用日期2026-10-14]
- mailcow-dockerized [引用日期2026-10-14]
- history [引用日期2026-10-14]
- mailcow: dockerized released - New on LowEndTalk [引用日期2026-10-14]
- mailcow [引用日期2026-10-14]
- 🎄🐮 Moocember 2025 | Just another bugfix update [引用日期2026-10-14]
- 380447-how-to-create-mail-server-using-mailcow [引用日期2026-10-14]
- Prepare your system - mailcow: dockerized documentation [引用日期2026-10-14]
- Selfhost Your Own Email Server with Mailcow [引用日期2026-10-14]