Modoboa 2.11.1 介绍与选型指南

基于官方渠道联网溯源的 Modoboa 2.11.1 认知篇:Django 面板+Postfix/Dovecot 编排架构、组件清单、功能特性、与 Mailcow/Stalwart/docker-mailserver/Postal/Maddy/iRedMail 的量化选型对比。

Modoboa邮件服务器Modoboa2026/10/21

Modoboa 2.11.1 介绍与选型指南

目标:面向"自建企业邮箱托管平台"的选型读者,讲清 Modoboa 是什么、由哪些组件协同工作、能做什么、不能做什么,并与站内已有同类邮件组件做量化对比。本篇为纯联网溯源的认知篇:所有版本、星数、许可证与能力描述均来自官方渠道(GitHub Releases、PyPI、官方文档站 modoboa.readthedocs.io),统一标注来源与查询日期 2026-10-21;本篇不含本地实测环节,部署实测内容见同专栏部署篇。

一、环境信息

本篇信息取证来源与查询日期如下,读者可按同一渠道复核:

  • 取证日期:2026-10-21
  • 官方网站与文档站:modoboa.readthedocs.io(官方文档,VitePress 构建)
  • 官方代码仓库:github.com/modoboa/modoboa
  • 版本来源:GitHub Releases(releases.atom 订阅源)与 PyPI(pypi.org/pypi/modoboa/json)
  • 最新稳定版:2.11.1,发布于 2026-10-09(GitHub Releases 与 PyPI 双源一致,查询日期 2026-10-21)
  • 社区热度:GitHub Stars 3.5k(shields.io 实时徽章,查询日期 2026-10-21)
  • 许可证:ISC(shields.io license 徽章读取仓库 LICENSE,查询日期 2026-10-21)
  • 技术栈:Python / Django(官方文档原文 "a Django project"),前端为 Vue.js(仓库 frontend/src 目录与 Vue i18n 语言文件可证)
  • 作者与维护方:Antoine Nguyen(GitHub ID:tonioo),文档页脚版权 "Copyright © 2010-2026 Antoine Nguyen",项目自 2010 年持续维护至今
  • 商业形态:除开源版外存在商业订阅版 Modoboa Pro(官方文档导航含 "Modoboa Pro" 入口,管理界面中亦会提示 Pro 功能)

二、软件概述

2.1 一句话定位

Modoboa 是一个用 Python/Django 编写的开源邮件托管与管理局:它本身不直接收发邮件,而是提供一套 Web 管理面板(域名、邮箱账号、别名、路由、DKIM、限额、隔离区、统计图表),把 Postfix(SMTP 收发)、Dovecot(IMAP/POP3 存储)、Rspamd 或 Amavis(反垃圾)、OpenDKIM(签名)等业界成熟的邮件组件"编排"成一个统一管理的整体。官方文档对其的定义是 "Mail hosting and management platform — simplified Web User Interface designed to work with Postfix and Dovecot"(邮件托管与管理平台,为配合 Postfix 与 Dovecot 工作而设计的简化版 Web 界面)。

💡 技术拓展:自建邮件服务器方案在"管理面板与邮件核心的关系"上有两种流派。一种是 all-in-one 自研核心,即收发信引擎由项目自己实现(如 Stalwart 用 Rust 自研 SMTP/IMAP/JMAP、Maddy 用 Go 自研),管理面板与引擎一体;另一种是 面板 + 成熟组件编排,即引擎复用 Postfix/Dovecot 等久经考验的组件,面板只做管理与编排(如 Modoboa、Mailcow、iRedMail)。前者代码内聚、单进程部署简单;后者各组件可独立升级替换、社区知识库深厚。Modoboa 属于后者,本文后续对比均以此为基准。

2.2 项目身份速览

维度内容来源与日期
最新稳定版2.11.1(2026-10-09 发布)GitHub Releases / PyPI,2026-10-21
开源许可证ISC(宽松许可,可商用、可闭源二次分发)shields.io 读仓库 LICENSE,2026-10-21
开发语言Python(Django)+ Vue.js 前端官方文档与仓库结构,2026-10-21
GitHub Stars3.5kshields.io,2026-10-21
运行平台Debian 12+、Ubuntu 20.04+(官方安装器实测覆盖)modoboa-installer README,2026-10-21
部署形态物理机/虚拟机原生部署(pip + venv + systemd)为主,无官方容器发行官方文档与仓库核查,2026-10-21
商业支持Modoboa Pro 订阅(官方文档站导航提供入口)modoboa.readthedocs.io,2026-10-21

关键差异解读:Modoboa 的 ISC 许可证在邮件平台同类项目中最为宽松(Mailcow 为 GPL-3.0、Stalwart 为 AGPL-3.0、Maddy 为 GPL-3.0),对需要将平台嵌入商业产品分发的团队更友好;同时它没有官方容器发行版,这一点与 Mailcow(仅提供 Docker Compose 形态)正好相反,选型时先确认自己的基础设施偏好。

2.3 版本节奏

以 GitHub Releases 订阅源(releases.atom)2026-10-21 拉取的最近发布记录为准,Modoboa 保持着高频小版本节奏:最近的 2.11.1 发布于 2026-10-09,更新内容包括日语翻译改进、管理界面中 Modoboa Pro 提示等小改动,属于 2.11.x 维护线;此前版本同样以数周为周期滚动发布。对运维方的含义是:上游活跃、补丁来得快,但升级也应保持小步快跑(官方文档提供独立的 Upgrade Instance 章节)。

三、核心架构

3.1 组件编排视图

Modoboa 的一台完整邮件服务器由"管理平面 + 数据平面"两层构成。管理平面是 Django 应用(Modoboa 本体),数据平面由官方安装器(modoboa-installer)编排的下列组件构成,组件清单取自官方 modoboa-installer README(查询日期 2026-10-21):

组件角色与 Modoboa 的关系
PostgreSQL 或 MySQL主数据库存放域名、账号、别名、限额、日志统计等管理数据(Django ORM)
PostfixSMTP 收发(25/465/587)通过数据库查询表(虚拟域/邮箱映射)实现收信路由,并把策略请求交给 Modoboa policy daemon
DovecotIMAP/POP3 存储(143/993/110/995)、LMTP 投递、Sieve 过滤邮箱存储引擎,账号验证走数据库,RQ worker 代管 Sieve 脚本
Amavis(SpamAssassin + ClamAV)或 Rspamd反垃圾/防病毒二选一,扫描结果回写数据库供隔离区展示
OpenDKIMDKIM 签名密钥由 Modoboa 界面生成,RQ worker 落盘
RadicaleCalDAV/CardDAV日历与通讯录(modoboa-radicale 扩展)
Nginx + uWSGIWeb 入口与 WSGI 应用服务承载管理面板与 API
Redis队列与计数RQ 异步任务与 policy daemon 发送限额计数
RQ workers异步任务日志解析、DKIM 密钥落盘、Sieve 推送、消息清理等

关键差异解读:从这张表能看出 Modoboa 的本质——它把"邮件服务器"拆成一组各自独立的守护进程,用数据库做唯一事实源串起来。这带来了两个选型推论:其一,故障域是分散的(Postfix 挂了面板还在),排障要跨多个服务看日志;其二,资源占用是叠加的(每个组件都有独立内存足迹),官方要求安装期至少 2GB 内存(依赖编译需要,modoboa-installer README,查询日期 2026-10-21)。

3.2 管理平面的常驻进程

以手动安装(pip + venv)为例,除 uWSGI 承载的 Web 应用外,Modoboa 还有三类常驻后台进程(官方文档 Manual Installation 章节,查询日期 2026-10-21):

  • policy daemon(manage.py policy_daemon):Postfix 的 SMTPD 策略服务,默认监听 127.0.0.1:9999,实现按域名/账号的每日发信限额(需要 Redis)。
  • RQ workers(manage.py rqworker <队列>):按队列分工——privileged(需要 root 的任务)、modoboa(常规任务)、dkim(DKIM 密钥管理)、dovecot(Sieve 脚本推送,以 vmail 用户运行)。
  • cron 调度器(manage.py rqcron <instance>/cron_config.py)+ 系统 cron(manage.py clearsessions 清理会话表):把周期任务纳入 RQ 队列。

这三类进程在生产上都需要 systemd 或 supervisor 托管,官方文档逐个给出了 supervisor 配置样例;本专栏部署篇给出了对应的 systemd 单元写法。

3.3 扩展机制

Modoboa 的功能扩展通过"核心 + 扩展包"实现:核心(modoboa 包)自带域名/账号/别名/中继域/限额管理;扩展以独立 pip 包发布(如 modoboa-webmail 网页邮局、modoboa-amavis 隔离区管理、modoboa-radicale 日历、modoboa-sieve 过滤规则管理、modoboa-contacts 等),部署实例时用 modoboa-admin.py deploy --extensions 一并安装,或事后追加。扩展在 settings.py 的 MODOBOA_APPS 列表注册(官方文档 Manual Installation 说明,查询日期 2026-10-21)。

四、功能特性

以下能力清单整理自官方文档站首页、REST API 章节与安装器组件清单(查询日期 2026-10-21):

  • 域名与账号托管:多域名管理、邮箱账号、别名、域别名、转发、中继域,全部入库并可批量导入导出。
  • 邮件安全三件套:SPF/DKIM/DMARC 辅助——DKIM 密钥在界面生成并经 worker 落盘给 OpenDKIM;反垃圾/防病毒经 Amavis(SpamAssassin + ClamAV)或 Rspamd 集成,隔离区在面板中可见可放行。
  • 发送限额(policy daemon):按域名/账号设置每日发信上限,Postfix 在会话期实时查询,计数存 Redis。
  • REST API:每个实例自带 API 与在线文档(新端点 /api/schema-v2/ 提供 OpenAPI 文档与 Swagger UI,旧端点 /api/v1/),Token 认证,便于与外部系统(自助开通、工单、计费)集成——这是官方文档站首页明确列出的三大卖点之一。
  • Webmail 与协作:官方 webmail 扩展提供网页收发;Radicale 扩展提供 CalDAV/CardDAV 日历通讯录。
  • 可观测性:解析 Postfix 日志入库,面板出流量图表(基于 rrdtool),消息日志可审计。
  • 多语言与权限:界面多语言(含中文翻译条目),管理员可按域名划分管理权限,支持按账号/域名的资源限额(管理员配额模型)。
  • 商业版增量(Modoboa Pro):官方文档提供 Pro 入口,管理界面会提示 Pro 功能(如更丰富的统计/审计能力),按订阅授权。

五、快速开始(最小可用示例)

以下为官方推荐的一键安装路径,命令摘自 modoboa-installer 官方 README(查询日期 2026-10-21,非本篇实测;逐命令实测与真实回显见同专栏《Ubuntu 22.04 安装 Modoboa 指南》):

# 前置:一台全新 Debian 12+ / Ubuntu 20.04+ 服务器,2GB 以上内存,
# 已设置 FQDN(如 mail.example.com),/tmp 未挂 noexec
git clone https://github.com/modoboa/modoboa-installer
cd modoboa-installer
sudo python3 run.py <your domain>     # 例:sudo python3 run.py example.com

安装器首次运行会生成 installer.cfg 配置文件(数据库口令、证书、反垃圾引擎选择等),确认后继续执行即可完成"PostgreSQL + Nginx/uWSGI + Postfix + Dovecot + Rspamd(或 Amavis/ClamAV)+ OpenDKIM + Radicale + Modoboa 面板"的全栈部署,完成后浏览器访问 https://<服务器地址> 进入管理面板。

若只需要 Modoboa 管理面板本身(不连带整台邮件服务器),可用轻量的手动路径(官方 Manual Installation 章节):

# 在 venv 中安装 Modoboa 核心(PostgreSQL 需另装 psycopg 绑定)
pip install modoboa
pip install "psycopg[binary]>=3.1"
# 部署一个实例(--dburl 指向已建好的数据库)
modoboa-admin.py deploy instance --collectstatic --domain mail.example.com \
  --dburl default:postgres://user:pass@localhost/modoboa

💡 说明:两条路径的取舍——一键安装器适合"整台邮件服务器从零起步"的典型场景;手动路径适合"只想要管理面板/与既有 Postfix、Dovecot 集成"或需要精细控制每个组件的场景。本专栏两篇部署文档覆盖的是手动路径的完整实测。

六、适用场景与限制

6.1 适用场景

  • 中小团队/托管商自建企业邮箱:多域名、多租户(按域名分权管理)、限额与统计齐全,是最贴合 Modoboa 设计目标的主场景。
  • 需要与业务系统集成的邮件平台:REST API + Token 认证 + OpenAPI 文档,适合工单/计费/自助开通系统对接。
  • 想要"Postfix/Dovecot 经典栈 + 现代面板"的运维团队:复用已有 Postfix/Dovecot 运维经验,面板只接管管理动作。

6.2 限制与注意(均来自官方渠道,查询日期 2026-10-21)

  • 自身不是邮件服务器:没有 Postfix/Dovecot 就收不了信;若想要单二进制 all-in-one,应看 Stalwart 或 Maddy(见第七节对比)。
  • 无官方容器发行:官方未提供 Docker 镜像或 Compose 模板(modoboa 组织下无 docker 仓库,2026-10-21 核查),容器化需自行封装;Mailcow 则是反过来"只有容器形态"。
  • 安装器实测平台范围:Debian 12+ 与 Ubuntu 20.04+(modoboa-installer README),其他发行版未获官方背书。
  • 安装期资源门槛:依赖编译要求至少 2GB 内存;/tmp 分区不能挂 noexec;口令含特殊字符可能导致安装失败(README 明示的三条警告)。
  • 升级模式标注为实验性:安装器提供 upgrade 模式但 README 标注 "experimental",生产升级应先备份并阅读官方 Upgrade Instance 章节。

七、同类选型对比

对比口径说明:各组件"专栏记录版本"取自 quzuo.net 站内对应专栏文档(撰写日期见各专栏);Stars 与许可证于 2026-10-21 经 shields.io 徽章逐一实查;Stalwart 仓库未在 LICENSE 徽章中声明许可证("not specified"),其许可信息以官方仓库说明为准。站内已发布的同类专栏以可点击链接给出,便于交叉阅读。

组件(站内专栏)专栏记录版本语言栈许可证(2026-10-21)GitHub Stars(2026-10-21)形态与定位差异
Modoboa(本篇)2.11.1Python/DjangoISC3.5k面板+Postfix/Dovecot 编排;原生部署;多租户面板最强;REST API
Mailcow2026-09aPHP + GoGPL-3.014k仅 Docker Compose 形态;开箱全家桶;SOGo webmail 体验好
Stalwartv0.16.26Rust官方仓库声明(徽章未标)15kall-in-one 自研 SMTP/IMAP/JMAP;单二进制;现代 API 优先
docker-mailserver16.0.1Shell + Postfix/DovecotMIT20k无面板,容器化 Postfix/Dovecot 配置集;轻运维取向
Postal3.3.7RubyMIT17k事务性/批量发信平台(ESP 形态),非通用收件邮箱托管
Maddy0.9.6GoGPL-3.06.1k轻量 all-in-one(单二进制 SMTP+IMAP),小规模/边缘场景
iRedMail1.8.8Shell 安装器官方仓库声明—(安装器项目)同为"安装器编排 Postfix/Dovecot"流派;开源版面板功能较基础

如何选(关键差异解读):

  • 要多域名多租户管理面板 + 可对接的 API,且服务器是原生 Linux 主机 → Modoboa 是本组中最贴合的;注意接受"无官方容器发行"的现实。
  • 要容器一键全家桶、不想碰各组件配置 → Mailcow(形态唯一但成熟度高,见《Mailcow Docker Compose 部署指南》)。
  • 要单二进制、极简运维、现代协议(JMAP) → Stalwart;小规模/边缘节点要省资源 → Maddy。
  • 只需要给现有 Postfix/Dovecot 加容器化封装、可以接受无面板 → docker-mailserver。
  • 主要发验证码/通知类事务邮件而非收件托管 → Postal。
  • Modoboa 与 iRedMail 同流派,选型焦点在面板能力:Modoboa 的面板功能、扩展体系与 REST API 明显更完整,iRedMail 则以安装器"装完即用"的省心见长(见《iRedMail 1.8.8 介绍与选型指南》)。

八、参考链接