Courier MTA 1.0.16 介绍与选型指南

Courier MTA 1.0.16 介绍与选型指南:一体化邮件套件(MTA+IMAP+POP3+authlib+maildrop)身世与维护状态实查(上游 2.0.9 月度发版 vs jammy 仓库 1.0.16 滞后)、架构与能力边界(无原生 DKIM/DMARC)、与 Postfix/Exim/OpenSMTPD/Stalwart/Sendmail 量化对比。查询日期 2026-10-25。

Courier MTACourier MTA邮件服务器自托管2026/10/25

Courier MTA 1.0.16 介绍与选型指南

查询与实查日期:2026-10-25。本文版本口径:Ubuntu 22.04(jammy)官方仓库 courier-mta 1.0.16-3build3;上游最新稳定版 Courier 2.0.9(2026-10-23 发布)。

一、Courier MTA 是什么

Courier MTA(官网 courier-mta.org)是一套一体化邮件服务器套件,由 Sam Varshavchik 自 1998 年前后开始开发,C/C++ 编写,GPLv3 许可。与「只负责收发 SMTP」的单体 MTA 不同,Courier 把邮件系统的完整链路打包在一个代码树里:

组件职责
courier-mtaESMTP 守护进程(courieresmtpd)、本地投递(courierlocal)、外发中继(courieresmtp)、队列调度核心 courierd
courier-imap / courier-popIMAP4rev1 与 POP3 守护进程(含 SSL 变体),直接读 Maildir
courier-authlib独立认证库,支持 system(PAM/passwd)、userdb、LDAP、MySQL、PostgreSQL 等后端
maildrop邮件过滤语言与投递代理(也是 Postfix 生态里常见的独立 MDA)
sqwebmail上古 CGI Webmail(本专栏不涉及)

Courier 是 Maildir 邮箱格式的原生实践者:收到的每封信是 Maildir new/cur/tmp 下的独立文件,没有 mbox 锁问题,IMAP/POP3 直接以 Maildir 为存储,不需要中间转换层。

二、维护状态实查:上游活跃,发行版打包滞后

Courier 经常被打上「上古软件、维护停滞」的标签,实查结论与此不符:

  • 上游发版节奏:SourceForge 项目 RSS 显示 2.0.9(2026-10-23)、2.0.8(2026-09-30)、2.0.7(2026-08-03),约每月一个稳定版,维护活跃。
  • 发布渠道:主发布渠道是 SourceForge(courier-mta.org 的下载页直链 SourceForge);GitHub 上的 svarshavchik/courier 是开发镜像,GitHub stars(不足百星,社区存在感低)。
  • 发行版打包明显滞后:Ubuntu 22.04 jammy universe 实查(容器内 apt-cache policy courier-mta)为 1.0.16-3build3,比上游落后一个大版本;且 Debian/Ubuntu 构建未链接 libspf2(dpkg -s courier-mta 依赖与 ldd 双重实证),导致 Courier 原生的 bofh SPF 设置在 deb 包下不可用——这类「发行版构建差异」是选 Courier 时必须意识到的坑。

一句话:上游活着而且发版勤快,但你拿到的发行版包是旧版本且功能有裁剪。要用 2.x 只能源码编译,本专栏以 Ubuntu 22.04 官方 deb(1.0.16)为实测基线。

三、核心架构与特点

  • 模块化进程组:courierd(队列调度)+ courieresmtpd(入站)+ courieresmtp(出站)+ courierlocal(本地投递)+ authdaemond(认证),各司其职,可独立启停(courier start/stop、esmtpd start 等)。
  • sendmail 兼容接口:提供 sendmail/mailq/newaliases 兼容命令,脚本迁移成本低(细节见本专栏 CLI 篇)。
  • courierfilter 插件框架:全局过滤器接口(如 courier-filter-perl),可在 SMTP 会话期做 SPF 校验等策略拦截。
  • 认证与 MTA 解耦:courier-authlib 是独立项目,userdb/LDAP/MySQL 后端对虚拟用户友好。
  • 能力边界(实测确认):Courier 没有原生 DKIM/DMARC(上游 2.0.9 亦如此),SPF 需借助 courier-filter-perl + Mail::SPF 或自行对接 milter 替代品;要 DKIM 签名得外挂 opendkim 或前置网关。这是与现代一体化方案最大的差距。

四、量化选型对比

星数为 GitHub 口径(shields.io 徽章实时渲染),查询日期 2026-10-25。Postfix 无官方 GitHub 仓库,版本号取 repology 口径。

维度Courier MTAPostfixEximOpenSMTPDStalwartSendmail
最新版本2.0.9(2026-10)3.11.74.98.x7.8.00.14.x(高频迭代)8.18.x
语言C/C++CCCRustC
GitHub 星数courier—(无官方仓库)eximopensmtpdstalwart—(无官方仓库)
Ubuntu 22.04 仓库版1.0.16-3build33.6.44.956.8.0p2不在官方仓库8.15.2
套件化(自带 IMAP/POP3)是否否否是(含 JMAP/webadmin)否
原生 DKIM/DMARC否否(靠 opendkim 外挂)DKIM 是 / DMARC 外挂否(靠 filter 外挂)全内置否
配置风格多小文件(/etc/courier/*)main.cf 主从双文件单一大文件极简 smtpd.confTOML + Web 管理m4 宏生成
典型定位一体化小套件通用 MTA 事实标准灵活路由/大站安全极简现代一体化新秀历史遗产

五、选型建议

适合选 Courier 的场景:

  • 想要「一个包装齐 MTA + IMAP + POP3 + 认证 + MDA」的小团队自用邮件服务器,不想拼装 Dovecot + Postfix 两套体系。
  • 已有 Maildir 生态资产(备份脚本、maildrop 过滤规则、qmail 时代迁移过来的系统)。
  • 资源受限或嵌入式环境:Courier 进程模型轻量,内存占用小。

不建议选 Courier 的场景:

  • 需要开箱即用的 DKIM 签名 / DMARC 校验 / ARC——选 Stalwart(全内置)或 Postfix + opendkim + rspamd 组合更顺。
  • 需要活跃社区、丰富教程与现代文档——Postfix 的社区生态大几个数量级;Courier 的官方文档是 90 年代风格的单页 HTML。
  • 需要 Web 管理面板、图形化运维——选 《Mailcow 2026-09a 介绍与选型指南》 这类全家桶。
  • 只需要「发信不出错」的卫星 MTA/边缘转发——那应该看 《DragonFly MTA v0.14 介绍与选型指南》,DragonFly(dma)是无守护进程的注入-转发工具,与 Courier 同名易混淆但完全是另一个组件。

六、与本专栏其他篇目的关系

七、参考来源