docker-mailserver 16.0.1 介绍与选型指南
docker-mailserver 16.0.1 介绍与选型指南:一体化邮件服务器定位、Postfix/Dovecot/Rspamd/ClamAV 核心架构、功能特性、快速上手与 iRedMail/Mailu/mailcow/Stalwart 选型对比,社区与镜像数据 2026-10-18 实查。
docker-mailserver 16.0.1 介绍与选型指南
> 目标:介绍一体化邮件服务器 docker-mailserver(DMS)的定位、核心架构、功能特性与同类方案选型结论,帮助读者判断是否选用以及与 iRedMail、Mailu、mailcow、Stalwart 如何取舍。版本与社区数据已在 2026-10-18 逐项实查(GitHub API、官方组件仓库 manifest),关键论断均标注来源与查询日期。
一、环境信息
本章是本文全部结论的信息基准:所有版本号、社区数据、仓库与许可信息,均于查询日期 2026-10-18 通过官方渠道实查获得,未做任何推测性补齐。
- 信息基准(查询日期):2026-10-18
- 版本依据:GitHub Releases 最新稳定版 v16.0.1,发布于 2026-09-04(来源:
https://api.github.com/repos/docker-mailserver/docker-mailserver/releases/latest,2026-10-18 实查) - 官方来源清单:
- 代码仓库:
https://github.com/docker-mailserver/docker-mailserver - 官方文档站:
https://docker-mailserver.github.io/docker-mailserver/latest/ - 组件镜像:
ghcr.io/docker-mailserver/docker-mailserver(2026-10-18 manifest 实查存在16.0.1标签)
- 代码仓库:
- 社区数据(GitHub API,2026-10-18 实查):19,609 Stars、MIT 许可证、86 个开放 Issue、最近一次代码推送 2026-10-17
- 配套实测环境(供交叉参考):Ubuntu 22.04 服务器,邮件域名
example.com,主机名mail.example.com,数据目录/opt/data/docker-mailserver/
二、软件概述
docker-mailserver(社区惯称 DMS)是一个开箱即用的一体化邮件服务器:把 SMTP 收发、IMAP 收信、反垃圾反病毒、DKIM/SPF/DMARC 邮件认证等一整套邮件服务能力集成到单一交付形态中,通过一个管理脚本 setup.sh 完成账号、别名、配额、DKIM 密钥等全部日常管理。它面向"自托管邮件"场景,核心主张是:不需要分别安装和调通 Postfix、Dovecot、反垃圾引擎等多个部件,一条命令部署、一个脚本管理。
关键身份信息(2026-10-18 实查):
| 项目 | 值 | 来源 |
|---|---|---|
| 当前稳定版 | v16.0.1(2026-09-04 发布) | GitHub Releases API |
| 开源许可 | MIT | 仓库 LICENSE(GitHub API) |
| 社区热度 | 19,609 Stars / 86 open issues | GitHub API |
| 维护活跃度 | 最近推送 2026-10-17(持续活跃) | GitHub API |
| 版本节奏 | 年度大版本 + 随补丁小版本 | Releases 列表实查 |
💡 技术拓展:一体化邮件服务器 ≠ 新的邮件协议实现。它本质是对既有邮件组件的集成发行版,集成策略业界有三种主流做法——
做法 代表 特点 适用 全新单二进制重写 Stalwart 一门语言自研全套(SMTP/IMAP/JMAP),资源占用低 极简运维、新场景 经典组件集成 docker-mailserver、iRedMail、mailcow 沿用 Postfix/Dovecot 等久经考验组件,生态兼容性最强 求稳、求兼容 套件化打包 Mailu、mailcow 多组件套件化交付 + 自带 Web 管理界面 要图形化管理 docker-mailserver 实际采用「经典组件集成」路线:Postfix + Dovecot + Rspamd 的组合在邮件领域验证时间最长,工具链(postqueue、doveadm 等)通用。本文选择该路线,理由是生产环境排障资料最多、与外部系统(如中继网关)对接的文档最全。
版本节奏实查(GitHub Releases,2026-10-18):v15.0.0(2025-03-01)→ v15.0.1(2025-03-23)→ v15.0.2(2025-03-26)→ v15.1.0(2025-08-12)→ v16.0.0(2026-08-30)→ v16.0.1(2026-09-04)。规律为"年度大版本、季度级补丁、大版本发布后两周内出首个修订版",升级压力小,适合长期运行。
三、核心架构
docker-mailserver 的架构是"一个管理面 + 五个服务组件":管理面即 setup.sh 命令行,服务组件按邮件协议分工协作。以下组件清单与版本号均为在 Ubuntu 22.04 + v16.0.1 环境中的实测值(命令与回显见各篇实测文档)。
3.1 组件分工表
| 组件 | 实测版本 | 角色 | 监听端口(实测) |
|---|---|---|---|
| Postfix | 3.10.13(postconf mail_version) | MTA:25 端口收信、587/465 端口认证提交、对外投递 | 25 / 465 / 587 |
| Dovecot | 2.4.1-4(dovecot --version) | MDA:IMAP/IMAPS 收信、LMTP 本地投递、Sieve 过滤 | 143 / 993(995 可选) |
| Rspamd | 4.1.5(rspamadm --version) | 反垃圾 + 邮件认证:DKIM/SPF/DMARC/ARC 签验、垃圾评分 | 11332/11334(内部) |
| ClamAV | 1.4.3/28109(clamscan --version) | 反病毒:附件病毒扫描 | 内部套接字 |
| Redis | 8.0.2(redis-server --version) | Rspamd 的统计与缓存后端 | 6379(内部) |
| fail2ban | 可选启用 | 认证爆破封禁(配合防火墙能力) | 无监听 |
💡 技术拓展:反垃圾引擎不止 Rspamd 一种,主流选项对比——
引擎 原理 特点 适用 Rspamd Lua 规则 + 统计学习,事件驱动 单进程高吞吐,DKIM/SPF/DMARC/ARC 一体 现代首选 SpamAssassin Perl 规则打分 老牌稳定,性能一般 传统环境 Amavis 内容过滤网关(配合 SA) 链路长、延迟高 遗留架构 docker-mailserver v16 实际采用 Rspamd 作为默认反垃圾栈。实测证据:同 image 同时开启旧栈(Amavis/OpenDKIM/policyd-spf)与新栈(Rspamd)时,启动日志明确警告两者并存不推荐,关闭旧栈后警告消失——即 v16 时代应只用 Rspamd 承担 DKIM/SPF/DMARC 与评分。
3.2 邮件数据流
入站与出站是两条对称链路(以下流程均为实测验证过的路径,追踪过程见《docker-mailserver 日常运维手册》):
- 入站:外部发件方 → 25 端口(Postfix)→ Rspamd(SPF/DKIM/DMARC 校验 + 评分 + 病毒扫描)→ 通过则 Dovecot LMTP 投递到收件人 Maildir;评分超阈值则按策略改投 Junk 或直接拒收(实测中一次伪造邮件拿到 10.00 评分被改投 Junk,一次本域伪造因 DMARC p=quarantine 被当场拒信 554)。
- 出站:用户经 587/465 端口认证提交 → Rspamd 加 DKIM 签名 → Postfix 按收件域投出。实测一封经认证提交的邮件在信头成功附加
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail。 - 收信:客户端经 143(STARTTLS)或 993(IMAPS)访问 Dovecot 读取 Maildir。实测 IMAP 登录回显文件夹列表
Drafts / Junk / Trash / Sent / INBOX。
3.3 配置体系
配置分三层,均落在宿主机数据目录、随数据一起持久化:
mailserver.env:声明式总开关(启用哪些组件、TLS 证书方式、时区等);config/下账号与域数据:postfix-accounts.cf、postfix-virtual.cf、dovecot-quotas.cf等,由setup.sh维护;- 细粒度覆盖:
config/postfix-main.cf、config/dovecot.cf与config/rspamd/override.d/,分别覆盖 Postfix 主配置、Dovecot 配置与 Rspamd 模块配置。
三层在服务启动与运行中由内部变更探测机制热加载(账号/别名/配额/Rspamd 覆盖实时生效;Postfix/Dovecot 主配置在实例重建时应用——这一实测差异与生效边界详见《docker-mailserver 16.0.1 配置参数详解》)。
四、功能特性
以下功能均来自 v16.0.1 实测验证(逐项操作与回显收录在配套文档),setup.sh help 的完整子命令树实测节选如下:
COMMAND := { email | alias | quota | dovecot-master | config | relay | debug } SUBCOMMAND
[SUB]COMMANDS
COMMAND email :=
setup email add <EMAIL ADDRESS> [<PASSWORD>]
setup email update <EMAIL ADDRESS> [<PASSWORD>]
setup email del [ OPTIONS... ] <EMAIL ADDRESS> [ <EMAIL ADDRESS>... ]
setup email restrict <add|del|list> <send|receive> [<EMAIL ADDRESS>]
setup email list
COMMAND alias :=
setup alias add <EMAIL ADDRESS> <RECIPIENT>
setup alias del <EMAIL ADDRESS> <RECIPIENT>
setup alias list
COMMAND quota :=
setup quota set <EMAIL ADDRESS> [<QUOTA>]
setup quota del <EMAIL ADDRESS>
COMMAND dovecot-master :=
setup dovecot-master add <USERNAME> [<PASSWORD>]
setup dovecot-master update <USERNAME> [<PASSWORD>]
setup dovecot-master del [ OPTIONS... ] <USERNAME> [ <EMAIL ADDRESS>... ]
setup dovecot-master list
COMMAND config :=
setup config dkim [ ARGUMENTS... ]
COMMAND relay :=
setup relay add-auth <DOMAIN> <USERNAME> [<PASSWORD>]
- 账号与域管理:多邮件域、无限账号、别名、配额、只读收发限制(
email restrict)、管理员级 dovecot-master 账号;账号数据文件化存储,另有 LDAP 提供方可选。 - 邮件认证三件套:
setup config dkim一条命令生成 RSA-2048 DKIM 密钥并输出 DNS 记录;SPF/DMARC 由 Rspamd 校验并写Authentication-Results头;实测 pass/softfail/fail 三种结果与对应处置(投递/改投 Junk/拒信)全部复现。 - TLS:
SSL_TYPE=manual/letsencrypt等方式接入证书,STARTTLS 与 IMAPS 同时生效(实测openssl s_client握手 TLSv1.3)。 - 认证爆破防护:内置 fail2ban 集成,实测 6 次错误密码后来源地址被封禁、
setup.sh fail2ban unban一条命令解封。 - 垃圾自动分拣:Rspamd 评分联动 Sieve,垃圾邮件自动归档 Junk(实测回显文件夹为
\HasNoChildren \Junk)。 - 中继与转发:
setup relay系列配置上游中继与凭据;对非本域收件人默认拒绝中继(实测Relay access denied),防开放中继。 - 运维命令面:
postqueue、doveadm、rspamc等原生工具全部可用(巡检、队列管理、配额查询、DKIM 校验均有实测回显)。
五、快速上手
以下最小示例引自官方文档站快速开始页(https://docker-mailserver.github.io/docker-mailserver/latest/,2026-10-18 查询,未在本文重复实测;逐段解析与完整实测流程见《docker-mailserver Docker Compose 部署指南》)。docker-mailserver 的官方交付形态即 Compose 编排文件加管理脚本,示例如下:
services:
mailserver:
image: ghcr.io/docker-mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail.example.com
ports:
- "25:25"
- "143:143"
- "465:465"
- "587:587"
- "993:993"
volumes:
- ./docker-data/dms/config/:/tmp/docker-mailserver/
- ./docker-data/dms/mail-data/:/var/mail/
- ./docker-data/dms/mail-state/:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- /etc/localtime:/etc/localtime:ro
restart: always
stop_grace_period: 1m
cap_add:
- NET_ADMIN
healthcheck:
test: ["CMD-SHELL", "dms healthcheck"]
官方最小三步:docker compose up -d 启动 → curl -sSL https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/setup.sh | sh -s -- -c mailserver email add user@example.com <密码> 创建账号 → 配置 MX/SPF/DKIM/DMARC 记录后即可收发。官方文档另有一个实测确认过的重要行为:全新空环境启动后只有 120 秒的账号创建窗口(实测日志:You need at least one mail account to start Dovecot (120s left for account creation before shutdown)),窗口期内未创建任何账号则服务自动停机,避免空跑。
六、适用场景与限制
适用场景(与实测行为对应):
- 个人与中小团队自托管邮箱:域名邮箱收发、IMAP 客户端接入,账号规模在数百以内;
- 系统邮件与业务通知出口:给业务系统一个带 DKIM 签名、能通过 SPF/DMARC 校验的发信出口;
- 有既有基础设施的团队:已有证书、已有 DNS 控制权、已有一台长期在线的服务器,希望邮件服务"装完就不用管"。
明确限制(实查与实测归纳):
- 单主机单实例架构:不支持多节点水平扩展与高可用(数据目录含套接字与数据库文件,双活需谨慎),容灾靠备份恢复(见《docker-mailserver 日常运维手册》);
- 无内置 Webmail 与图形管理界面:一切通过
setup.sh与原生命令完成,需要 Web 界面的场景选 mailcow/Mailu; - 依赖 DNS 控制权:MX/SPF/DKIM/DMARC 记录必须可自行发布,否则认证链路无法闭环;
- 25 端口受托管商限制:云厂商普遍限制入站 25 端口,部署前需确认解封策略;
- 内存占用实测约 1.1 GiB(开启 Rspamd + ClamAV 后,
docker stats实测 1.164 GiB),低配 1 GB 机型不适合开启全套反垃圾反病毒。
七、同类选型对比
四款主流同类方案的关键数据均于 2026-10-18 通过 GitHub API 实查(Stars/许可/最近推送),定位与形态为各项目官方文档口径:
| 方案 | Stars(实查) | 许可 | 架构形态 | 管理界面 | 版本节奏(近期) | 定位 |
|---|---|---|---|---|---|---|
| docker-mailserver 16.0.1 | 19,609 | MIT | Postfix+Dovecot+Rspamd 集成,声明式配置 | 无(CLI) | v16.0.1 2026-09-04 | 极简自托管,命令行管理 |
| Stalwart(stalwartlabs/stalwart) | 15,140 | 仓库未标注标准 LICENSE 文件(API 实查) | 单二进制自研全套(SMTP/IMAP/JMAP) | 内置 Web 管理 | 持续高频发布(2026-10-15 仍在推送) | 资源敏感、新协议诉求 |
| mailcow-dockerized | 13,631 | GPL-3.0 | 多组件套件 + SOGo Webmail | 完整 Web 管理台 | 2026-10-15 仍在推送 | 要界面与 Webmail 的团队 |
| Mailu | 7,559 | 自定义开源许可(仓库标注,API 识别为非标准类型) | 多组件套件 + Webmail | Web 管理 | 2026-10-17 仍在推送 | 轻量服务套件 |
| iRedMail | 1,848 | GPL-3.0 | 裸机脚本安装多组件 | 基础面板(免费版受限) | 2026-10-14 仍在推送 | 传统服务器直装 |
选型建议(如果…则…):
- 如果只求"一台服务器把邮件跑起来、用命令行管理、最小依赖",选 docker-mailserver:MIT 许可无商业顾虑,配置面小、可全部纳入版本管理,社区热度最高;
- 如果强烈需要 Web 管理台与 Webmail 一体化,选 mailcow(功能全但资源要求更高)或 Mailu(更轻);
- 如果追求极致资源占用或需要 JMAP 协议,选 Stalwart(单二进制,但要接受较新的技术栈与许可状态);
- 如果是传统虚拟机直装、不使用编排工具,选 iRedMail;
- 如果邮件只是业务系统的一个出站功能而非完整邮箱服务,可先评估中继网关方案,docker-mailserver 亦常作为"认证提交 + DKIM 签名出口"承担这一角色(
setup relay中继配置有实测)。
八、参考链接
- 官方仓库:
https://github.com/docker-mailserver/docker-mailserver - 官方文档(快速开始):
https://docker-mailserver.github.io/docker-mailserver/latest/ - 环境变量说明:
https://docker-mailserver.github.io/docker-mailserver/latest/config/environment/ - 发布页:
https://github.com/docker-mailserver/docker-mailserver/releases - FAQ:
https://docker-mailserver.github.io/docker-mailserver/latest/faq/