Mailcow

关注
义项:邮件服务器套件
Mailcow

Mailcow是…… 一套开源的邮件服务器套件,由多个长期使用的开源邮件组件整合而成,并以 Docker 容器方式部署,附带一个用于域名、邮箱与安全策略管理的图形化管理界面。它把 SMTP、IMAP、网页邮箱、反垃圾邮件、反病毒与证书自动化等功能打包在同一套栈中,使自建邮件系统不再需要逐项手工安装与调校。项目以 GNU 通用公共许可证第 3 版发布,由 The Infrastructure Company GmbH 负责管理与维护。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

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]。

参见

  • Docker —— Mailcow 整个套件赖以部署与运行的容器平台。

  • Postfix —— 承担 Mailcow 中邮件传输代理角色的 SMTP 服务软件。

  • Dovecot —— 为 Mailcow 提供 IMAP 与 POP3 收信服务的邮件服务器软件。

  • Rspamd —— Mailcow 使用的垃圾邮件过滤组件。

  • DKIM —— 用于给外发邮件签名的邮件身份验证技术。

  • Let's Encrypt —— Mailcow 借由 ACME 协议自动申请 TLS 证书的证书颁发机构。

参考资料

  1. mailcow: dockerized documentation [引用日期2026-10-14]
  2. mailcow-dockerized [引用日期2026-10-14]
  3. history [引用日期2026-10-14]
  4. mailcow: dockerized released - New on LowEndTalk [引用日期2026-10-14]
  5. mailcow [引用日期2026-10-14]
  6. 🎄🐮 Moocember 2025 | Just another bugfix update [引用日期2026-10-14]
  7. 380447-how-to-create-mail-server-using-mailcow [引用日期2026-10-14]
  8. Prepare your system - mailcow: dockerized documentation [引用日期2026-10-14]
  9. Selfhost Your Own Email Server with Mailcow [引用日期2026-10-14]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T20:35:06Z

历史版本

本条目引用的词条
Docker Postfix Dovecot ^1 Rspamd DKIM Let's Encrypt