在 Arch KDE 上配置系统级 Postfix 邮件通知出口:让 root 与普通用户脚本都能简单发信
背景 在一台 Arch KDE 桌面主机上,存在一个很实际的需求:当脚本、备份任务、系统维护任务或定时任务开始执行时,发送一封通知邮件,提示“任务已经开始,请不要关机”;当任务完成或失败时,再发送一封结果邮件。 目标不是在桌面主机上搭建完整邮件服务器,也不是让它接收外部邮件,而是让它具备一个稳定、统一、简单的“系统级发信出口”。 最终希望脚本中可以直接写: 任务完成时: 任务失败时: 无论脚本由普通用户执行,还是由 root 执行,都应能用同样方式发信。 已有经验:PVE/PBS 的系统级邮件出口 在已有服务器环境中,PVE 和 PBS 已经配置过邮件通知。它们通过本机 Postfix 将系统通知中继到外部 SMTP 服务,并使用专用账号作为发件人。备份任务、系统任务完成后都能正常发送通知邮件。 这类方案的特点是: 这种结构非常适合 PVE/PBS 这类服务器系统,因为系统任务天然由 root、systemd 或 cron 执行。如果桌面主机也希望 root 任务和普通用户任务都能统一发信,那么系统级 Postfix relay/null-client 方案比用户级 SMTP 客户端更合适。 为什么没有采用用户级 msmtp 方案 最初也可以考虑 msmtp + mailx 方案。它很轻量,适合普通用户脚本发信: 但当需求扩展为“root 任务也要发信”时,用户级方案会迅速变复杂: 这样会带来几个问题: 而实际需求只是希望以后脚本里能简单调用 mailx。因此,继续扩展用户级方案并不合适。 …