特定のコマンドが失敗したときにエラーメッセージを電子メールで送信したいシェルスクリプトがあります。電子メールをまったく送信しないか、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は文字列を添付ファイルとして扱うと言います。これが戻り値を削除する理由です(コンソールに印刷して動作することを確認しました)。現時点では、メールはまったく受信されません。
文字列をメールで渡すためにWebで見つけたさまざまな方法を試しました。メールを送ってみました。電子メールが届かないか、添付ファイルを含む電子メールを受信しました。
この文字列を電子メール本文に送信するにはどうすればよいですか?ありがとうございます!