补充说明
postfix 是 Postfix MTA 的控制包装脚本(内部为 postfix-script),用于启动、停止、重载服务以及执行配置检查等维护操作。真正的配置由 main.cf、master.cf 等文件决定,队列和映射表则分别用 postqueue、postmap 管理。
常见运维流程:改完 /etc/postfix/main.cf 后先 postfix check 校验,再 postfix reload 平滑重载;查看队列用 postqueue -p 或 mailq;强制重试投递用 postfix flush。postconf -n 只显示非默认配置,是排查配置漂移的常用手段。
注意 postfix start 在前台/容器场景下可能不适合,容器镜像通常直接运行 master 或使用 postfix start-fg。停止服务会中断邮件投递,生产环境优先使用 reload。不同发行版的配置文件路径略有差异,Debian 系多了一层 dynamicmaps.cf.d 等目录。
语法
postfix [选项] 子命令
子命令
start 启动 Postfix
stop 停止 Postfix
reload 重新读取配置(不中断服务)
status 查看运行状态
check 检查配置与目录权限
flush 尝试立即投递队列中的邮件
start-fg 前台运行(容器常用)
set-permissions 修正队列等目录权限
upgrade-configuration 升级配置格式
选项
-c <目录>:使用指定的配置目录(默认/etc/postfix)-v:输出更详细的执行信息
实例
# 启动并确认状态
sudo postfix start
sudo postfix status
# 修改 main.cf 后先检查再平滑重载
sudo postfix check
sudo postfix reload
# 查看当前生效的非默认配置
sudo postconf -n
# 查看队列并强制重试投递
sudo postqueue -p
sudo postfix flush
# 修改虚拟别名表后生成索引
sudo postmap /etc/postfix/virtual
sudo newaliases