mailx 向多个帐户发送电子邮件

mailx sending email to multiple accounts

我正在尝试使用 mailx 通过 shell 脚本发送电子邮件。

Message=<HTML><BODY><p>FINISHED</p></BODY></HTML>

Recipients=email1@email.org;email2@email.org
Recipients=$(echo "${Recipients}" | sed "s/;/ /g")
echo "Recipients:  ${Recipients}"

mailx -s "Ingestion Report ${EXT1}. $( echo "\nContent-Type: text/html")" "${Recipients}" < $MESSAGE

我的问题是我正在尝试将分号分隔的列表更改为 space 分隔的列表,因为有人告诉我这是 mailx 所需要的。

然而,响应是:

sh: email2@email.org:  not found

我做错了什么?谢谢。

分号是命令分隔符,因此您必须更改定义 Recipients 的方式:

Recipients=email1@email.org;email2@email.org

收件人:

Recipients="email1@email.org;email2@email.org"

引用该值可防止 ; 被解释为命令分隔符。

或者,您可以首先正确定义 Recipients

Recipients="email1@email.org email2@email.org"

或者如果您出于某种原因无法控制它,您可以放弃 sed 调用并执行以下操作:

mailx ... ${Recipients/;/ }