は、私が(代わりにファイルにそれを置くの)bashスクリプト内で、送信メールクライアントssmtp
のメールテキストを生成しようとしています。私はこの思い付いたheredoc
の使用バッシュ - 変数展開とヒアドキュメント、保存改行
:
[email protected]
[email protected]
SUBJ="$HOSTNAME: Daemon not running"
read -d '' msg <<EOF
To: $MAILTO
From: $FROM
Subject: $SUBJ
Please check $HOSTNAME.
Daemon has stopped running.
-Admin
EOF
echo $msg | ssmtp $MAILTO
を(。テキストは改行を保存しないので、これは動作しませんssmtp
は、メールを送信しません。)
Iの場合echo $msg
、私はheredocの改行が保存されていないことを確認します。どうすればそれを達成できますか?また
:どこに違いところでこの
{
echo "To: $MAILTO"
echo "From: $FROM"
echo "Subject: $SUBJ"
echo
echo "Please check $HOSTNAME"
} | ssmtp $MAILTO
と最初の例はありますか?すべてecho
コマンドが実行され、結果がssmtp
にパイプされていますか?これは私の最初の例では機能しませんか? echo
テキストとパイプecho
のコマンドへの出力はできませんか?
使用すると、 'エコー "の$ MSG" 引用' – anubhava