无法获取 shell 脚本来将错误消息作为邮件正文发送

无法获取 shell 脚本来将错误消息作为邮件正文发送

我有一个 shell 脚本,我想在特定命令失败时向我发送电子邮件并发送错误消息。它要么根本不发送电子邮件,要么发送带有名为 ATT000001.bin 的附件的电子邮件(在 Outlook 中)。我只想要一封以明文形式在正文中包含错误的电子邮件。

这是我目前所拥有的内容的一个片段:

msg=`scp -i $sshkeyfile $filename [email protected] 2>&1`
msg=`echo $msg | tr -d "\n\r"`

if [ $? -eq 0 ]
then
  rm $filename
else
  echo $msg | mail -s "subject line" [email protected]
fi

网上说回车字符会导致 Outlook 将字符串视为附件;这就是为什么我要去掉返回值(我已经通过将其打印到控制台来确认它的工作原理)。就目前情况而言,我根本没有收到电子邮件。

我尝试了在网络上找到的各种不同方法来将字符串传递到邮件。我试过发送邮件。我要么没有收到电子邮件,要么收到一封带有附件的电子邮件。

我该怎么做才能使该字符串作为电子邮件正文发送?谢谢!

相关内容