Modoboa 2.11.1 配置参数详解

逐层解析 Modoboa 2.11.1 配置体系:settings.py 实例配置、参数注册表 11 组平台参数默认值全清单、经 API 实测的参数读取/修改回路与落库位置。

Modoboa邮件服务器Modoboa2026/10/21

Modoboa 2.11.1 配置参数详解

目标:把 Modoboa 2.11.1 的配置参数一次讲全——既覆盖部署生成的实例配置文件(Django settings.py),也覆盖管理面板"Settings → Modoboa → Parameters"背后由参数注册表驱动的全部平台参数(默认值、类型、含义),并给出经 API 实测的修改回路。文中默认值均自 2.11.1 运行实例的参数注册表逐项导出(2026-10-21 实测)。

一、环境信息

  • 实测环境:Ubuntu 22.04.5 LTS,Modoboa 2.11.1(pip 安装,/opt/modoboa/env,实例目录 /home/modoboa/instance),PostgreSQL 14 + Redis 6 + Nginx/uWSGI,部署于 2026-10-21(安装过程见同专栏《Ubuntu 22.04 安装 Modoboa 指南》)
  • 取证方法:默认值来自运行实例的参数注册表(modoboa.parameters.tools.registry,2.11.1 源码内建);生效值经 GET /api/v2/parameters/global/<组>/ 实测读取;修改经 PUT 实测并回读验证
  • 适用版本:Modoboa 2.11.x(其他版本参数集合可能增减,以 python manage.py shell 中读取注册表为准)

二、配置体系总览

Modoboa 的配置分三层,修改入口与生效方式各不相同:

层载体修改入口生效方式
实例配置instance/instance/settings.py(Django)编辑文件重启 uWSGI/相关进程
平台参数数据库 core_localconfig._parameters(JSON),由参数注册表定义默认值管理面板 Settings → Modoboa → Parameters;或 REST API /api/v2/parameters/global/<组>/保存即生效(个别缓存项需重启 worker)
用户参数数据库(按用户存)面板右上角用户菜单 → Settings保存即生效

三层的优先级关系:平台参数只在"面板行为"层面起作用(限额、反垃圾联动、DKIM 存储路径、界面主题等),运行边界(数据库地址、ALLOWED_HOSTS、队列连接等)永远由 settings.py 决定。排查问题先分清"改的是哪一层"。

关键差异解读:与其他邮件管理面板把全部配置写单一配置文件不同,Modoboa 的平台参数走"代码内默认值 + 数据库覆盖"模式——注册表(serializer)定义参数名、类型、默认值与帮助文案,UI 与 API 读写的是同一份数据库 JSON。好处是参数自带类型校验与文档;代价是看"当前实际值"必须查库或调 API,不能只看文件。

三、实例级配置 settings.py 逐组解析

以下为 deploy 生成的 settings.py 中运维必须掌握的键(2.11.1 实测文件节选):

3.1 安全与会话

键默认(deploy 生成)说明
SECRET_KEYdeploy 随机生成Django 全局密钥;丢失会话/重置链接全部失效,务必备份
DEBUGFalse生产保持 False;True 会泄漏错误页细节
ALLOWED_HOSTS['<--domain 值>']请求 Host 不在名单内直接 400;加 IP/别名需手工追加并重启 uWSGI
CSRF_COOKIE_SECURE / SESSION_COOKIE_SECURETrue强制 HTTPS 才回传 Cookie。仅 HTTP 内网验证时必须改 False,否则登录静默失败(本专栏实测踩坑);上 TLS 后恢复 True
SITE_ID1Django sites 框架站点;对应 manage.py set_default_site 命令可改站点名/域名

3.2 应用注册

键默认(deploy 生成)说明
MODOBOA_APPS元组,含 modoboa.core、modoboa.admin、modoboa.transport、modoboa.relaydomains、modoboa.limits、modoboa.parameters、modoboa.dnstools、modoboa.policyd、modoboa.maillog、modoboa.pdfcredentials、modoboa.dmarc、modoboa.imap_migration、modoboa.autoreply、modoboa.sievefilters、modoboa.contacts、modoboa.calendars、modoboa.webmail、modoboa.autoconfig 等生效应用集;扩展安装后会追加在此列表
INSTALLED_APPS += MODOBOA_APPS—Django 生效应用集 = 基础 + Modoboa
AUTH_USER_MODEL'core.User'自定义用户模型
AUTHENTICATION_BACKENDSModelBackend + IMAP 迁移后端注释项含 LDAPBackend/SMTPBackend,启用 LDAP 认证需取消注释
AUTH_SMTP_SERVER_ADDRESS/_PORT/_SECURED_MODE注释(未启用)SMTP 认证后端参数,需时取消注释

3.3 数据与队列

键默认(deploy 生成)说明
DATABASES['default']由 deploy --dburl 解析写入(dj-database-url)主库连接;改库连接改这里或重跑 deploy
REDIS_HOST 等 Redis 连接localhost:6379(deploy 默认)RQ 队列与策略守护计数共用
RQ_QUEUESprivileged、modoboa、dkim、dovecot 等队列定义manage.py rqworker <队列> 与之一一对应;dovecot 队列按 vmail 用户运行的配置在 deploy 生成的 units/官方文档样例中体现
HAYSTACK(如有 Xapian 扩展)/ 其他视安装扩展而定扩展自带键追加在文件尾部

3.4 语言与时区

deploy --lang/--timezone 写入 LANGUAGE_CODE 与 TIME_ZONE;面板显示语言按用户参数覆盖。

四、平台参数逐组详解(参数注册表)

以下 11 组参数为 2.11.1 注册表内建全局参数(所有默认值均为 2.11.1 源码实测导出)。查看与修改:面板 Settings → Modoboa → Parameters(分组即下列组名);API 方式见第五章。默认值为空/null 表示未预设(需按需填写)。

4.1 General(core 组,界面入口"General")

口令与认证:

参数默认值说明
authentication_typelocal认证方式:local 本地库 / ldap
password_schemesha512crypt口令散列方案(另有 sha256crypt、ssha、crypt、clear;与 Dovecot 同方案才能过认证)
rounds_number70000sha512crypt 轮数
update_schemeTrue用户登录时自动把旧散列升级为当前方案
default_passwordChangeMe1!新建账号的默认口令
random_password_length8随机口令长度
allow_special_charactersFalse随机口令是否含特殊字符
update_password_urlnull外部改密页 URL(如 Self-Service Password)
password_recovery_msgnull登录页口令找回提示文案
sms_password_recoveryFalse是否启用短信找回
sms_providernull短信服务商(ovh 等)

LDAP 全家桶(authentication_type=ldap 时生效):

参数默认值说明
ldap_server_address / ldap_server_portlocalhost / 389LDAP 服务器地址与端口
ldap_enable_secondary_serverFalse是否启用备用 LDAP
ldap_secondary_server_address / ldap_secondary_server_portnull / 389备用服务器
ldap_securednone连接加密:none/starttls/ssl
ldap_is_active_directoryFalseAD 模式(组与过滤适配)
ldap_admin_groups''哪些 LDAP 组映射为管理员
ldap_group_typeposixgroup组类型(posixgroup/groupofnames)
ldap_groups_search_base''组搜索基
ldap_password_attributeuserPassword口令属性名
ldap_auth_methodsearchbindsearchbind 或 directbind
ldap_bind_dn / ldap_bind_password''searchbind 的绑定账号
ldap_search_base''用户搜索基
ldap_search_filter(mail=%(user)s)用户过滤模板
ldap_user_dn_template''directbind 的 DN 模板
ldap_enable_syncFalseLDAP→本地账号同步
ldap_sync_bind_dn / ldap_sync_bind_passwordnull同步专用绑定账号
ldap_sync_delete_remote_accountFalse远端删除时是否同步删除本地
ldap_sync_account_dn_templatenull同步 DN 模板
ldap_enable_importFalse是否允许从 LDAP 批量导入
ldap_import_search_base / ldap_import_search_filter / ldap_import_username_attrnull / (cn=*) / cn导入搜索三件套
ldap_dovecot_syncFalse是否生成 Dovecot LDAP 对接配置
ldap_dovecot_conf_file/etc/dovecot/dovecot-modoboa.conf生成的对接配置路径

界面与主题:

参数默认值说明
custom_welcome_messagenull登录页欢迎语
theme_primary_color#046BF8主题主色
theme_primary_color_dark#0350BA主色(暗阶)
theme_primary_color_light#3688F9主色(亮阶)
theme_secondary_color#F18429主题辅色
theme_label_color#616161标签文字色
theme_login_logo_url / theme_menu_logo_url / theme_creation_form_logo_url''登录页/菜单/创建表单 Logo
hide_features_widgetFalse隐藏仪表盘特性小组件
hide_pro_promotionFalse隐藏 Modoboa Pro 推广提示
rss_feed_urlnull仪表盘 RSS 源
show_rss_feed_to_superadminsFalseRSS 仅超管可见

版本检查与统计上报:

参数默认值说明
sender_addressnoreply@yourdomain.test系统发信人地址(通知类)
enable_api_communicationTrue与 Modoboa 官方 API 通信(版本检查)
check_new_versionsTrue检查新版本
send_new_versions_emailFalse新版本邮件通知
new_versions_email_rcptnull通知收件人
send_statisticsTrue匿名统计上报(离线环境可关)

账号治理与分页:

参数默认值说明
enable_inactive_accountsTrue启用不活跃账号检测
inactive_account_threshold30不活跃判定天数
top_notifications_check_interval30顶栏通知轮询间隔(秒)
log_maximum_age365平台日志保留天数
message_history_maximum_age180消息历史保留天数
items_per_page30列表分页大小(本专栏实测经 API PUT 修改为 50 再复原 30,回路畅通)

4.2 Administration(admin 组)

DNS/邮件记录体检(新建域名时的自动检查):

参数默认值说明
enable_mx_checksTrue检查 MX 记录
valid_mxs''视为合法的 MX 清单(如只允许自家 MX)
domains_must_have_authorized_mxFalse是否强制 MX 白名单
enable_ipv6_mx_checksTrue同时查 IPv6 MX
enable_spf_checks / enable_dkim_checks / enable_dmarc_checksTrue/True/TrueSPF/DKIM/DMARC 记录体检开关
dmarc_check_is_criticalTrueDMARC 缺失是否按"严重"提示
enable_autoconfig_checksTrue检查 autoconfig 自动配置记录
enable_dns_notificationsTrueDNS 体检结果是否出面板通知
custom_dns_servernull自定义 DNS 服务器(默认走系统解析)
enable_dnsbl_checksTrue检查服务器 IP 是否在 DNSBL 黑名单

DKIM:

参数默认值说明
dkim_keys_storage_dirnullDKIM 私钥落盘目录(需 OpenDKIM 可读,必填后由 dkim 队列 worker 写入)
dkim_default_key_length2048默认密钥长度(1024/2048/4096)

域名与邮箱默认值:

参数默认值说明
default_domain_quota0新域名默认配额(0=不限)
default_domain_message_limitnull新域名默认每日发信上限(策略守护用,null=不限)
default_mailbox_quota0新邮箱默认配额
default_mailbox_message_limitnull新邮箱默认每日发信上限
handle_mailboxesFalse是否由 Modoboa 管理邮箱存储(配合 Dovecot,整栈部署由安装器开启)
auto_account_removalFalse删除域名时是否连带删账号数据
auto_create_domain_and_mailboxTrue新建账号时自动建同名域名/邮箱
create_alias_on_mbox_renameFalse改邮箱名时是否自动加旧名别名

别名策略:

参数默认值说明
alias_can_target_any_domainTrue别名可指向任意域名
alias_target_block_listnull别名目标黑名单(逗号分隔)
alias_target_allow_listnull别名目标白名单

4.3 Limits(limits 组)

参数默认值说明
enable_admin_limitsTrue启用"域管理员"资源限额
deflt_user_domains_limit0域管理员默认可管域名数(0=不限)
deflt_user_domain_aliases_limit0默认域名别名数限额
deflt_user_mailboxes_limit0默认邮箱数限额
deflt_user_mailbox_aliases_limit0默认邮箱别名数限额
deflt_user_domain_admins_limit0默认可授域管理员数限额
deflt_user_quota_limit0默认总配额限额
enable_domain_limitsFalse启用"按域名"资源限额
deflt_domain_domain_admins_limit0域级别:域管理员数默认限额
deflt_domain_domain_aliases_limit0域级别:域名别名默认限额
deflt_domain_mailboxes_limit0域级别:邮箱数默认限额
deflt_domain_mailbox_aliases_limit0域级别:邮箱别名默认限额

4.4 Statistics(maillog 组)

参数默认值说明
logfile/var/log/mail.logPostfix 日志路径(RQ worker 解析入库画图的数据源)
rrd_rootdir/tmp/modoboaRRD 图表数据目录——生产建议改到持久目录(如 /var/lib/modoboa/rrd),默认落在 /tmp 重启即失
greylistFalse日志中统计 greylisting 事件
enable_domain_limitsFalse图表按域名细分(与 limits 组同名参数各自独立)

4.5 PDF Credentials(pdfcredentials 组)

参数默认值说明
enabled_pdfcredentialsTrue新建账号生成 PDF 凭据
generate_at_creationTrue创建即生成
storage_dir/var/lib/modoboa/pdf_credentialsPDF 存放目录
delete_first_dlTrue首次下载后即删除(安全默认)
titlePersonal account informationPDF 标题
custom_messagenullPDF 自定义文案
webpanel_urlnull面板地址(打印进 PDF)
include_connection_settingsFalse是否打印连接配置段
smtp_server_address / smtp_server_port / smtp_connection_securitynull / 587 / starttlsPDF 中的 SMTP 连接信息
imap_server_address / imap_server_port / imap_connection_securitynull / 143 / starttlsPDF 中的 IMAP 连接信息

4.6 DMARC(dmarc 组)

参数默认值说明
enable_rlookupsFalseDMARC 报告聚合时做反向解析(耗资源,按需开)

4.7 IMAP Migration(imap_migration 组)

参数默认值说明
enabled_imapmigrationTrue启用 IMAP 迁移功能
max_sync_accounts1同时迁移账号数
create_foldersTrue迁移时按源建立文件夹
folder_filter_exclude''排除的文件夹清单
folder_filter_include''仅包含的文件夹清单

4.8 Automatic replies(autoreply 组)

参数默认值说明
tracking_period7自动回复重复提醒周期(天)
default_subjectI'm off默认主题
default_contentI'm currently off. I'll answer as soon as I come back.\n\nBest regards,\n%(name)s\n默认内容(%(name)s 为姓名占位)

4.9 Sieve filters(sievefilters 组)

参数默认值说明
server / port127.0.0.1 / 4190ManageSieve 服务器(Dovecot)
starttlsFalseManageSieve 是否 STARTTLS
imap_server / imap_port / imap_secured127.0.0.1 / 143 / False辅助 IMAP 连接

4.10 Calendars(calendars 组,对接 Radicale)

参数默认值说明
server_location''Radicale 服务地址
rights_file_path/etc/radicale/rightsRadicale 权限文件路径
allow_calendars_administrationFalse是否允许在面板里管理日历后端
max_ics_file_size10240ICS 导入大小上限(KB)

4.11 Webmail(webmail 组)

参数默认值说明
imap_server / imap_port / imap_secured127.0.0.1 / 143 / FalseWebmail 的 IMAP 连接
smtp_server / smtp_port / smtp_secured_mode127.0.0.1 / 25 / noneWebmail 的 SMTP 连接
smtp_authenticationFalse是否 SMTP 认证
scheduling_smtp_server / scheduling_smtp_port / scheduling_smtp_secured_mode127.0.0.1 / 25 / none定时发信专用 SMTP
max_attachment_size2048单附件上限(KB)
max_attachments_total_size10M附件总量上限
max_attachments_count10附件个数上限

参数间联动提示:admin.dkim_keys_storage_dir 为空时面板生成 DKIM 只入库不落盘;webmail.imap_server 指向的 Dovecot 不通时 Webmail 登录报错但面板正常——这类"参数指向外部组件"的项是排障第一入口。

五、参数查看与修改实测(API 回路)

平台参数在面板上分组呈现;自动化运维可用 REST API 直改(完整认证方式见同专栏《Modoboa 2.11.1 管理 API 使用详解》)。

读取(实测回显,节选):

$ curl -s -H 'Host: mail.example.com' -H "Authorization: Token <TOKEN>" \
    http://127.0.0.1/api/v2/parameters/global/core/ | python3 -m json.tool | head -25
{
    "label": "General",
    "params": {
        "authentication_type": "local",
        "password_scheme": "sha512crypt",
        "rounds_number": 70000,
        "update_scheme": true,
        "default_password": "ChangeMe1!",
        "random_password_length": 8,
        "allow_special_characters": false,
        "update_password_url": null,
        "password_recovery_msg": null,
        "sms_password_recovery": false,
        "sms_provider": null,
        "ldap_server_address": "localhost",
        "ldap_server_port": 389,
        ...
    }
}

修改与回读(实测:PUT 200 → 回读确认 → 复原):

$ curl -s -o /dev/null -w 'update PUT: %{http_code}\n' \
    -H 'Host: mail.example.com' -H "Authorization: Token <TOKEN>" \
    -X PUT http://127.0.0.1/api/v2/parameters/global/core/ \
    -H 'Content-Type: application/json' -d '{"items_per_page": 50}'
update PUT: 200
$ # 回读 items_per_page = 50;复原同接口 PUT 回 30,再次回读 = 30

落库位置(实测查询):修改后的值整体写入 core_localconfig._parameters(JSONB),未改过的参数走注册表默认值:

modoboa=# SELECT substring(_parameters::text,1,150) FROM core_localconfig;
 {"core": {"ldap_bind_dn": "", "ldap_secured": "none", "rss_feed_url": null, ...

用户级参数:同模式,端点为 /api/v2/parameters/user/<组>/(界面:用户菜单 → Settings),默认值同样由注册表定义,本篇不展开。

六、常见问题(FAQ)

Q1:改了面板参数,为什么行为没变? 先确认改的是对的一层:队列/数据库/域名白名单等运行边界在 settings.py(改完要重启 uWSGI 与 worker);面板参数即时生效但个别项被 worker 缓存,重启 modoboa-worker-* 服务观察。另注意 enable_admin_limits(用户级限额)与 enable_domain_limits(域名级限额)是两把独立开关。

Q2:rrd_rootdir 默认在 /tmp/modoboa 有风险吗? 有。/tmp 常被 tmpfs 或重启清理,图表历史会丢;生产改为 /var/lib/modoboa/rrd 并确保运行用户可写。

Q3:DKIM 密钥生成了但 OpenDKIM 不签? 检查 admin.dkim_keys_storage_dir:为空则不落盘;填了但 OpenDKIM 进程用户读不到也会失败。目录属主与 OpenDKIM 配置(KeyTable/SigningTable)需对应。

Q4:如何关掉面板对公网 modoboa.org 的版本检查/统计上报? core.check_new_versions、core.send_statistics、core.enable_api_communication 三项置 False(离线内网部署建议全关)。

Q5:口令策略在哪配? core.password_scheme(散列方案)、core.rounds_number(轮数)、core.default_password(新账号默认口令)、core.random_password_length、core.allow_special_characters。注意 password_scheme 与 Dovecot 认证方案必须一致,否则 Webmail/IMAP 认证失败。

Q6:怎么批量导出全部参数做备份?

for app in core admin limits maillog pdfcredentials dmarc imap_migration autoreply sievefilters calendars webmail; do
  curl -s -H 'Host: mail.example.com' -H "Authorization: Token $TOKEN" \
    "http://127.0.0.1/api/v2/parameters/global/$app/" > "params-$app.json"
done

七、参考链接