升级至RH9后s-nail替代mailx发送邮件的语法与警告解决问题
解决s-nail SMTP配置警告问题
一、正确配置SMTP(推荐方案)
s-nail已废弃旧的smtp参数,改用mta参数并要求以URL格式指定邮件服务器。只需将命令中的-S smtp="..."替换为-S mta="smtp://...",就能消除所有警告,同时符合新的配置规范。
修改后的完整命令:
echo -e "This is a Test. Please ignore any replication alerts Thank you Test Team" | s-nail -r "garbage@garbag.com" -s "DB Backup in Progress" -S mta="smtp://mail-sysrelay.xxxx.xxxx.xxxx.net:25" "ccap1010@gmail.com"
替换后,既遵循了s-nail的新要求,废弃参数的警告会直接消失。另外你遇到的"旧凭证格式"警告,是旧smtp参数搭配无凭证配置触发的,改用mta后该警告也会自动消除(你的中继服务器允许匿名发送,无需凭证)。
二、临时抑制警告(不推荐)
如果暂时不想调整命令逻辑,可以通过重定向错误输出的方式隐藏警告,但这只是治标不治本——后续s-nail版本可能会彻底移除旧参数支持,届时命令会直接失效。
临时命令示例:
echo -e "This is a Test. Please ignore any replication alerts Thank you Test Team" | s-nail -r "garbage@garbag.com" -s "DB Backup in Progress" -S smtp="mail-sysrelay.xxxx.xxxx.xxxx.net:25" "ccap1010@gmail.com" 2>/dev/null
内容的提问来源于stack exchange,提问作者Chris Capasso
相关产品推荐
相关产品推荐

