iRedMail 1.7.4 配置参数详解
iRedMail 1.7.4 核心配置逐项详解:Postfix main.cf 关键参数与 master.cf 过滤链、Dovecot 主配置与 iredmail 扩展、iRedMail.tips 摘要、Roundcube/iRedAdmin/iRedAPD 配置位置与 iRedMail 定制点,均取自 Ubuntu 22.04 实测环境真实文件与命令回显。
iRedMail 1.7.4 配置参数详解
目标:盘点 iRedMail 1.7.4 安装后各组件的配置文件位置与关键参数——Postfix main.cf/master.cf、Dovecot dovecot.conf 与 iredmail 扩展目录、iRedMail.tips 摘要文件、Roundcube 与 iRedAdmin/iRedAPD 的定制点,每项均给出真实环境的命令回显与逐项说明,作为后续调优与排障的配置地图。
一、环境信息
- 操作系统:Ubuntu 22.04,iRedMail 1.7.4(MariaDB 后端,实测主机与安装篇一致)
- 组件与版本:Roundcube 1.6.11、iRedAdmin 2.6(/opt/www 目录实录)、PHP 8.1 (FPM);Postfix(iRedMail 重写后 main.cf 共 372 行)、Dovecot、MariaDB、Nginx、Amavisd、iRedAPD、Fail2ban 均为安装包落盘版本
- 域名与主机:演示域 example.com(DKIM 密钥 /var/lib/dkim/example.com.pem)
- 关键路径:安装摘要 /root/iRedMail-1.7.4/iRedMail.tips、安装应答 /root/iRedMail-1.7.4/config、站点目录 /opt/www/
二、配置文件总地图
2.1 位置速查
iRedMail 把各组件配置按发行版标准位置落盘,本篇全部路径与参数实测于 Ubuntu 22.04 + iRedMail 1.7.4(MariaDB 后端):
| 组件 | 配置文件/目录 | 说明 |
|---|---|---|
| 安装摘要 | /root/iRedMail-1.7.4/iRedMail.tips | 全部凭据、路径、操作提示 |
| 安装应答 | /root/iRedMail-1.7.4/config | 向导选择的记录(含密码,注意权限) |
| Postfix | /etc/postfix/main.cf、master.cf、aliases | main.cf 由 iRedMail 重写 |
| Postfix SQL 查询 | /etc/postfix/mysql/ | 域/用户/别名查询 SQL |
| Dovecot | /etc/dovecot/dovecot.conf + conf.d/*.conf + 根目录定制文件 | 主配置 + conf.d + iRedMail 定制 |
| MariaDB | /etc/mysql/my.cnf | 向导可选 iRedMail 调优版 |
| Nginx | /etc/nginx/(模板生成 sites-enabled) | webmail/iredadmin 站点 |
| PHP-FPM | /etc/php/8.1/fpm/ | Ubuntu 发行版默认 |
| Amavisd | /etc/amavis/conf.d/50-user | iRedMail 定制集中在 50-user |
| Roundcube | /opt/www/roundcubemail/config/config.inc.php | 软链 /opt/www/roundcubemail → 版本目录 |
| iRedAdmin | /opt/www/iredadmin/settings.py | 自有定制 |
| iRedAPD | /opt/iredapd/settings.py | 策略插件开关 |
| Fail2ban | /etc/fail2ban/jail.local | iRedMail 生成邮件相关监狱 |
| DKIM 密钥 | /var/lib/dkim/example.com.pem | Amavisd 签名用 |
| 邮箱存储 | /var/vmail/vmail1、/var/vmail/sieve、/var/vmail/backup | 邮箱/sieve/备份脚本 |
(以上速查与 iRedMail.tips 输出一致,关键段落实录见 5.1 节。)
2.2 iRedMail 定制的总原则
iRedMail 的定制手法是「原生配置 + 追加/重写」:Postfix 在 main.cf 末尾追加 iRedMail 段、master.cf 重写关键服务通道;Dovecot 主文件精简、定制落在 conf.d 与 /etc/dovecot/ 根目录的专用文件;Nginx 由 /etc/nginx/templates/*.tmpl 模板生成站点;Amavisd 定制集中在 conf.d/50-user。因此升级或重装各组件时,不要手工合并整份配置,先找 iRedMail 的追加段/定制文件。
三、Postfix 配置详解
3.1 main.cf 关键参数(实测)
iRedMail 重写后的 main.cf 共 372 行,过滤出核心参数(真实回显):
$ postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_min_user = no
allow_percent_hack = no
biff = no
body_checks = pcre:/etc/postfix/body_checks.pcre
command_directory = /usr/sbin
compatibility_level = 3.6
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
debug_peer_level = 2
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
enable_long_queue_ids = yes
enable_original_recipient = no
header_checks = pcre:/etc/postfix/header_checks
inet_interfaces = all
inet_protocols = ipv4
lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1
lmtp_tls_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1
mail_owner = postfix
mailq_path = /usr/bin/mailq
message_size_limit = 15728640
...(输出节选:iRedMail 追加段还有 virtual_mailbox_domains/mysql 查询、mynetworks、TLS、sasl 等,全文以 postconf -n 为准)
逐项说明(iRedMail 定制点加粗):
| 参数 | 实测值 | 说明 |
|---|---|---|
| content_filter | smtp-amavis:[127.0.0.1]:10024 | iRedMail 核心定制:所有邮件先送 Amavisd 过滤(10024),过滤后从 10025 回注。想临时绕过内容过滤排查问题,可 postconf -e content_filter= 后 systemctl reload postfix |
| header_checks / body_checks | pcre:/etc/postfix/header_checks、body_checks.pcre | iRedMail 预置的头部/正文规则(如拦截可执行附件的头部片段),按需增删规则行 |
| disable_vrfy_command | yes | 禁用 VRFY 探测,减小信息泄露面 |
| dovecot_destination_recipient_limit | 1 | 逐收件人调用 Dovecot LDA,保证配额按人计 |
| enable_long_queue_ids | yes | 长队列 ID(如 4j66Jz48gDz3BJfP),日志可读性更好 |
| message_size_limit | 15728640(15 MB) | 单邮件大小上限(含附件),按需 postconf -e 调整 |
| inet_protocols | ipv4 | iRedMail 默认仅 IPv4;有 IPv6 需求改 all |
| mynetworks | 127.0.0.0/8 等(见 postconf -n 全文) | 信任网段免过滤直发;生产不要把大网段加进来 |
| virtual_mailbox_domains | proxy:mysql:/etc/postfix/mysql/... | 虚拟域从 vmail 库查询(/etc/postfix/mysql/ 下 SQL 文件) |
3.2 master.cf:过滤链与提交端口
master.cf 定义服务通道。iRedMail 关键定制(实测原文节选):
$ grep -E '^(smtp|submission|amavis|dovecot|mlmmj)' -A 5 /etc/postfix/master.cf | head -42
smtp inet n - y - 1 postscreen
smtpd pass - - y - - smtpd
dnsblog unix - - y - 0 dnsblog
tlsproxy unix - - y - 0 tlsproxy
# Choose one: enable submission for loopback clients only, or for any client.
#127.0.0.1:submission inet n - y - - smtpd
#submission inet n - y - - smtpd
--
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o content_filter=smtp-amavis:[127.0.0.1]:10026
--
dovecot unix - n n - - pipe flags=DRh
user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d
${user}@${domain} -m ${extension}
# Amavisd integration.
mlmmj unix - n n - - pipe flags=ORhu
--
smtp-amavis unix - - n - 32 smtp
-o syslog_name=postfix/amavis
-o local_header_rewrite_clients=
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o smtp_dns_support_level=disabled
逐项说明:
- smtp inet ... postscreen:25 端口接入层用 postscreen 做连接评估(dnsblog 负责 DNSBL 黑名单查询,tlsproxy 处理 STARTTLS 代理)。
- submission (587):强制 TLS(smtpd_tls_security_level=encrypt)+ SASL 认证 + 仅允许认证用户(smtpd_client_restrictions=permit_sasl_authenticated,reject)。注意其 content_filter 指向 10026——Amavisd 为提交通道设了独立的 ORIGINATING 策略组(见 7.1 节),与 25 端口普通入站的 10024 区分处理。
- dovecot pipe:最终投递走 Dovecot 的 deliver 投递代理(user=vmail:vmail 与 /var/vmail 属主一致)——这也是快速入门篇投递日志 relay=dovecot 的来源。
- smtp-amavis unix ... smtp(32 并发):过滤通道客户端,main.cf 的 content_filter=smtp-amavis:[127.0.0.1]:10024 引用的就是这里定义的服务名。
3.3 SQL 查询文件(虚拟域/账号)
虚拟域与账号不走系统用户,全部经 /etc/postfix/mysql/ 下的查询文件实时查库(实测目录):
$ ls /etc/postfix/mysql/
catchall_maps.cf domain_alias_catchall.cf recipient_bcc_maps.cf sender_bcc_maps.cf virtual_mailbox_maps.cf
relay_domains.cf sender_login_maps.cf virtual_alias_maps.cf virtual_mailbox_domains.cf
解读:sender_login_maps.cf 供 reject_sender_login_mismatch 插件核对「MAIL FROM 与登录账号一致」;virtual_mailbox_domains.cf / virtual_mailbox_maps.cf 决定收信时哪些域与哪些地址存在。改 SQL 文件后 systemctl reload postfix 生效,无需重启。
四、Dovecot 配置详解
4.1 主配置 dovecot.conf(实测)
$ grep -E '^!include|^protocols|^listen|^mail_location|^disable_plaintext_auth' /etc/dovecot/dovecot.conf
listen = *
protocols = pop3 imap sieve lmtp
disable_plaintext_auth = yes
mail_location = maildir:%Lh/Maildir/:INDEX=%Lh/Maildir/
!include conf.d/*.conf
!include_try /etc/dovecot/iredmail/*.conf
逐项说明:
- protocols:pop3 imap sieve lmtp 四协议(sieve 管过滤器脚本、lmtp 投递)。
- disable_plaintext_auth = yes:禁止明文密码认证(TLS 之下才允许 LOGIN),与 Webmail/客户端的 STARTTLS 要求配套。
- mail_location = maildir:%Lh/Maildir/:Maildir 格式,%Lh 是用户 home(虚拟用户 home 在 /var/vmail/vmail1/...,即邮箱目录,与快速入门篇 find 实测路径吻合)。
- !include_try /etc/dovecot/iredmail/*.conf:iRedMail 扩展挂载点,升级不影响主文件。
4.2 iRedMail 的 Dovecot 定制文件(实测)
Dovecot 的 iRedMail 定制不在主文件,而是集中在 /etc/dovecot/ 根目录的专用文件与 conf.d(实测目录):
$ ls /etc/dovecot/
conf.d
dovecot-dict-auth.conf.ext
dovecot-dict-sql.conf.ext
dovecot-last-login.conf
dovecot-master-users
dovecot-mysql.conf
dovecot-share-folder.conf
dovecot-sql.conf.ext
dovecot-used-quota.conf
dovecot.conf
关键定制文件逐项:
| 文件 | 作用 | 常改点 |
|---|---|---|
| dovecot-mysql.conf.ext(dovecot-mysql.conf) | 用户/密码 SQL 查询定义 | 换数据库连接时改 connect 段 |
| dovecot-sql.conf.ext | passdb/userdb 的 SQL 驱动配置(查 vmail 库) | 改认证查询/密码哈希方案 |
| dovecot-used-quota.conf | 配额 dict 定义(对接 quota2 表) | 调配额统计方式 |
| dovecot-last-login.conf | 最近登录时间记录(写入 vmail 库 last_login) | 一般不动 |
| dovecot-share-folder.conf | 共享邮箱目录 ACL | 需要共享邮箱时配置 |
| conf.d/90-quota.conf | quota 插件策略(引用 used-quota dict) | 调整超限动作 |
| conf.d/10-ssl.conf | 证书路径(iRedMail.crt/.key)与协议下限 | 换 Let's Encrypt 证书时改 ssl_cert/ssl_key |
4.3 认证与数据库对接
虚拟用户的认证走 SQL:conf.d/10-auth.conf 引用 passdb/userdb(iRedMail 生成段指向 dovecot-sql.conf.ext,driver=mysql 连 vmail 库,vmail 只读账号密码就配置在这里)。改用户密码可用 doveadm pw 生成哈希后 UPDATE vmail.mailbox(进阶篇有完整命令),或让用户走 Roundcube password 插件自助改密。
五、iRedMail.tips 与安装应答
5.1 iRedMail.tips 关键段落(实录节选)
Admin of domain example.com:
* Account: postmaster@example.com
* Password: q1w2e3r4
SSL cert keys (size: 4096):
- /etc/ssl/certs/iRedMail.crt
- /etc/ssl/private/iRedMail.key
Mail Storage:
- Mailboxes: /var/vmail/vmail1
- Global sieve filters: /var/vmail/sieve
- Backup scripts and backup copies: /var/vmail/backup
MySQL:
* Root user: root, Password: "q1w2e3r4" (without quotes)
* Bind account (read-only):
- Username: vmail, Password: <安装时随机生成>
* Vmail admin account (read-write):
- Username: vmailadmin, Password: <安装时随机生成>
* Config file: /etc/mysql/my.cnf
Backup MySQL database:
* Script: /var/vmail/backup/backup_mysql.sh
Postfix:
* Configuration files:
- /etc/postfix
* SQL/LDAP lookup config files:
- /etc/postfix/mysql
Dovecot:
* Configuration files:
- /etc/dovecot/dovecot.conf
解读:vmail(只读)与 vmailadmin(读写)是给 Postfix/Dovecot/iRedAdmin 查库用的专用账号——应用层配置里引用的就是它们的随机密码(如 /etc/postfix/mysql/*.cf、/etc/dovecot 的 SQL 认证配置、/opt/www/iredadmin/settings.py),单点改密码需同步这些文件。
5.2 /root/iRedMail-1.7.4/config 应答记录
安装时全部向导选择都在 config 文件(实测字段):
$ grep -E "^export (STORAGE|WEB_SERVER|BACKEND|USE_)" /root/iRedMail-1.7.4/config | head -8
export STORAGE_BASE_DIR='/var/vmail'
export WEB_SERVER='NGINX'
export BACKEND_ORIG='MARIADB'
export BACKEND='MYSQL'
export USE_IREDADMIN='YES'
export USE_ROUNDCUBE='YES'
export USE_NETDATA='YES'
export USE_FAIL2BAN='YES'
⚠️ config 文件含所有明文密码(MySQL root / postmaster 等),权限 600 仅 root 可读;重装同版本时把它拷回安装目录可实现无人值守复用(向导检测到即询问 Use existing config)。
六、Web 层配置(Nginx / PHP / Roundcube / iRedAdmin)
6.1 Nginx 站点结构
$ ls /opt/www/
iRedAdmin-2.6 iredadmin roundcubemail roundcubemail-1.6.11 well_known
解读:/opt/www/iredadmin 与 /opt/www/roundcubemail 是指向版本目录的软链,升级时换软链指向即可回滚。Nginx 站点由模板 /etc/nginx/templates/*.tmpl 生成 /etc/nginx/sites-enabled/ 下文件(Ubuntu 布局),包含 webmail 与 iredadmin 两个 location,默认 https-only(80 口 301 跳 443,实测见安装篇 5.3 节)。
6.2 Roundcube config.inc.php 关键项(实测)
$ sed -n '12,25p' /opt/www/roundcubemail/config/config.inc.php
$config['imap_host'] = 'tls://127.0.0.1:143';
...
// SMTP
$config['smtp_host'] = 'tls://127.0.0.1:587';
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';
(plugins 行见下;文件共 35 个 $config 项,以上为关键项。)逐项说明:
- imap_host = tls://127.0.0.1:143:Webmail 的 IMAP 取信直连本机 Dovecot(STARTTLS;Roundcube 1.6 起用 imap_host 取代旧的 default_host+default_port)。
- smtp_host = tls://127.0.0.1:587 + smtp_user = %u + smtp_pass = %p + smtp_auth_type = LOGIN:Webmail 代用户经 587 提交,%u/%p 注入登录账号与密码——与 587 的 reject_sender_login_mismatch 约束匹配,Webmail 代发身份恒等于登录用户。
- plugins(实测原文):
$ grep -n "plugins" /opt/www/roundcubemail/config/config.inc.php
70:$config['plugins'] = array('managesieve', 'password', 'zipdownload');
解读:managesieve 提供网页端过滤器(写入 Dovecot sieve),password 允许用户在 Webmail 里自助改密,zipdownload 支持整箱打包下载。
6.3 iRedAdmin settings.py(实测)
iRedAdmin 自身配置在 /opt/www/iredadmin/settings.py(第 5 行 from libs.default_settings import * 继承默认值,settings.py 覆盖之)。实测关键项:
$ grep -vnE "^\s*#|^\s*$" /opt/www/iredadmin/settings.py | head -20
5:from libs.default_settings import *
10:webmaster = "postmaster@example.com"
13:default_language = 'en_US'
16:backend = 'mysql'
20:storage_base_directory = "/var/vmail/vmail1"
32:default_mta_transport = "dovecot"
38:min_passwd_length = 8
39:max_passwd_length = 0
44:iredadmin_db_host = "127.0.0.1"
45:iredadmin_db_port = "3306"
46:iredadmin_db_name = "iredadmin"
47:iredadmin_db_user = "iredadmin"
48:iredadmin_db_password = "<安装时随机生成>"
53:vmail_db_host = "127.0.0.1"
54:vmail_db_port = "3306"
55:vmail_db_name = "vmail"
56:vmail_db_user = "vmailadmin"
57:vmail_db_password = "<安装时随机生成>"
69:amavisd_enable_logging = True
71:amavisd_db_host = "127.0.0.1"
逐项说明:backend/storage_base_directory/default_mta_transport 与安装时选择一致;min_passwd_length = 8 是 iRedAdmin 建用户的最短密码(快速入门篇 PW_SHORTER_THAN_MIN_LENGTH 的阈值来源;大小写/数字/特殊字符开关在 iredadmin 库 settings 表,Admin 界面 → Admin Profile → Password Policy 可视化调整);iredadmin_db_* 与 vmail_db_* 分别是 iRedAdmin 自己的库与 vmail 库连接(密码为 iRedMail 随机生成,与 iRedMail.tips 中 vmailadmin 一致)。改完 systemctl restart iredadmin 生效。
6.4 iRedAPD settings.py(实测)
$ grep -E '^plugins = ' -A 1 /opt/iredapd/settings.py
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy", "sql_ml_access_policy"]
逐项说明:
| 插件 | 作用 |
|---|---|
| reject_null_sender | 拒绝空发件人(除非合理场景) |
| wblist_rdns | 反向解析黑白名单 |
| reject_sender_login_mismatch | 587 提交时 MAIL FROM 必须等于登录账号 |
| greylisting | 灰名单:新组合首次发信 450 临时拒,延迟重试放行 |
| throttle | 发送/收件频率限速 |
| amavisd_wblist | 与 Amavisd 白黑名单联动 |
| sql_alias_access_policy / sql_ml_access_policy | 别名访问策略 / 邮件列表策略 |
增删插件改该列表后 systemctl restart iredapd 生效。
七、反垃圾与安全层配置(Amavisd / Fail2ban)
7.1 Amavisd 定制点(Ubuntu 实测)
Ubuntu 版 Amavisd 的 iRedMail 定制集中在 /etc/amavis/conf.d/50-user(Rocky 版为 /etc/amavisd/amavisd.conf 单文件)。核心定义(实测行号回显):
$ grep -nE '10024|10026|policy_bank|dkim_key|dkim_signing|dkim_verification' /etc/amavis/conf.d/50-user | head -10
45:$inet_socket_port = [10024, 10026, 10027, 9998];
47:$policy_bank{'MYNETS'} = { # mail originating from @mynetworks
55:$interface_policy{'10026'} = 'ORIGINATING';
56:$policy_bank{'ORIGINATING'} = {
83:$policy_bank{'MLMMJ'} = {
86: enable_dkim_signing => 1, # enable DKIM signing for outbound
498:$enable_dkim_verification = 1;
501:dkim_key('example.com', 'dkim', '/var/lib/dkim/example.com.pem');
逐项说明:
- $inet_socket_port = [10024, 10026, 10027, 9998]:Amavisd 同时监听 4 个口——10024 普通 SMTP 入站过滤、10026 提交通道(master.cf 的 submission 指向它)、10027 mlmmj 邮件列表通道、9998 管理接口。
- $interface_policy{'10026'} = 'ORIGINATING' + $policy_bank{'ORIGINATING'}:提交通道走 ORIGINATING 策略组(本机认证用户外发),其中 enable_dkim_signing => 1 保证外发邮件做 DKIM 签名——快速入门篇日志 dkim_new=dkim:example.com 即此处的效果。
- $enable_dkim_verification = 1:收信时验证对方域的 DKIM 签名。
- dkim_key('example.com', 'dkim', '/var/lib/dkim/example.com.pem'):签名密钥定义(选择器 dkim),DNS 公钥用 amavisd-new showkeys 输出(真实回显见进阶篇)。
- 打分策略:与 SpamAssassin 联动,本地白名单网段(MYNETS)标 ALL_TRUSTED(快速入门篇 Hits: -1 的来源)。
💡 技术拓展:反垃圾组件链路说明(iRedMail 默认链路 vs 其他组合)——邮件进入 Postfix 后依次经(1)postscreen 连接评估 + DNSBL 黑名单(25 口接入层);(2)iRedAPD 策略检查(灰名单/限速/登录不一致,SMTP 会话中调用);(3)Amavisd 内容过滤:内部调 SpamAssassin 按规则打分(超阈值标记或丢弃)+ ClamAV 病毒扫描;(4)结果写回 Amavisd 数据库供 iRedAdmin 展示与黑白名单管理。与 Mailcow「Rspamd 一体化引擎」不同,iRedMail 用 SpamAssassin+Amavisd 经典组合:规则可读性好、生态成熟,但性能与自适应学习略逊于 Rspamd。排障分流口诀:连接被拒查 postscreen/iRedAPD,被判垃圾查 SpamAssassin 打分,疑似病毒查 ClamAV。
7.2 Fail2ban jail.local(实测)
$ grep -E '^\[|^enabled|^maxretry|^bantime' /etc/fail2ban/jail.local | head -14
[DEFAULT]
bantime = 3600
maxretry = 5
iRedMail 生成的 jail.local 含 DEFAULT(封禁 1 小时、5 次触发)与 dovecot/postfix 等监狱段(启用状态按安装组件)。改阈值后 systemctl restart fail2ban;封禁视图 fail2ban-client status dovecot。
八、MariaDB 配置与备份脚本挂载
安装时选择使用 iRedMail 调优版 my.cnf(实测覆盖 /etc/mysql/my.cnf,要点:innodb_buffer_pool_size 按内存比例、连接数、日志周期调优),手工调优请先备份原文件。定时任务挂载(实测 root crontab 节选):
30 3 * * * /bin/bash /var/vmail/backup/backup_mysql.sh
# iRedAPD: Clean up expired tracking records hourly.
1 * * * * python3 /opt/iredapd/tools/cleanup_db.py >/dev/null
# iRedAPD: Convert SPF DNS record of specified domain names to IP
# addresses/networks hourly.
2 * * * * python3 /opt/iredapd/tools/spf_to_greylist_whitelists.py >/dev/null
逐项说明:每日 3:30 备份 vmail 数据库(脚本与产物见进阶篇实测);每小时清理 iRedAPD 追踪记录与灰名单库;spf_to_greylist_whitelists.py 把域的 SPF 记录解析成 IP 白名单喂给灰名单插件,避免大厂邮件被灰名单卡住。
九、改配置的标准动作速查
| 改动 | 动作 |
|---|---|
| main.cf / master.cf | postconf -e(或编辑文件)→ systemctl reload postfix |
| /etc/postfix/mysql/*.cf | 改完 systemctl reload postfix |
| dovecot.conf 或 iredmail/*.conf | systemctl restart dovecot |
| Amavisd 50-user | systemctl restart amavis(Ubuntu)/ amavisd(Rocky) |
| Roundcube config.inc.php | 即时生效(PHP-FPM 无需重启;改 PHP 层才 systemctl restart php8.1-fpm) |
| iRedAdmin settings.py | systemctl restart iredadmin |
| iRedAPD settings.py | systemctl restart iredapd |
| Fail2ban jail.local | systemctl restart fail2ban |
| Nginx 模板 templates/*.tmpl | 重新生成 sites-enabled 后 systemctl reload nginx |