You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS6下Amanda结合Postfix时sendmail无效选项'-s'问题求助

问题分析与解决

问题根源

Amanda的amreport工具在调用配置的mailer命令时,会自动追加-s <邮件主题>参数。而Postfix提供的sendmail兼容程序(/usr/sbin/sendmail)并不支持-s选项——原生Sendmail的-s用于指定主题,但Postfix的sendmail兼容层依赖邮件内容中的Subject头来设置主题,不接受命令行的-s参数,因此触发报错。

解决方法

方法1:改用系统mail命令替代Postfix的sendmail

修改amanda.conf中的mailer配置为:

mailer "/usr/bin/mail -s"

/usr/bin/mail是CentOS 6默认的邮件客户端,支持-s选项指定主题,Amanda追加主题参数后,执行的命令会变成/usr/bin/mail -s "Amanda Backup Report...",可以正常发送邮件。

方法2:编写中间脚本处理-s参数

如果必须使用Postfix的sendmail,可以创建一个shell脚本作为中转,将-s参数转换为邮件头:

  1. 创建脚本文件(比如/usr/local/bin/amanda_sendmail.sh):
#!/bin/bash
# 提取-s后的主题参数
if [ "$1" = "-s" ]; then
    SUBJECT="$2"
    shift 2
fi
# 将主题作为邮件头,拼接内容后调用Postfix sendmail
echo "Subject: $SUBJECT" | cat - - | /usr/sbin/sendmail -t "$@"
  1. 给脚本添加执行权限:
chmod +x /usr/local/bin/amanda_sendmail.sh
  1. 修改amanda.conf的mailer配置:
mailer "/usr/local/bin/amanda_sendmail.sh"

方法3:验证Postfix sendmail的兼容性

可以直接在命令行测试Postfix的sendmail用法,确认它不支持-s:

/usr/sbin/sendmail -s "Test Subject" your@email.com

会返回和你遇到的相同错误,这也验证了问题确实是参数不兼容导致的。

内容的提问来源于stack exchange,提问作者Leslie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 10:09:58