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/;/ }
我正在尝试使用 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/;/ }