25

linux mailコマンドを使用して電子メールに新しい行を挿入する方法は?

echo "Hi xxx, would you tell me something?\\n thanks!\\n -xxx" | mail -s "subject" xxx@gmail.com

電子メールには、改行ではなく文字通りの「\ n」が表示されますが、どのように修正しますか?

4

5 に答える 5

42

使ってみてくださいecho -e

echo -e "Hello \n World"

man echoコマンドラインから入力して詳細を読むことができます。

于 2012-09-27T05:23:11.320 に答える
16

を使用mailxすると、Outlookユーザーに電子メールを送信する場合、各行の先頭に2つのスペースを追加できます。

{ echo "Hi xxx, would you tell me something" ; echo "thanks!" ; echo "-xxx" } | sed 's/^/  /g' | mailx -s "subject" xxx@domain.com
于 2014-02-28T15:18:38.730 に答える
3

mailコマンドを使用すると、受け入れられた回答が機能しませんでした。

\r

私のコマンド全体は

mail -s "SUBJECT" -aFrom:"from@sdf.com "to@sdfd.com" <<< $( echo -e "Line1\rLine2")
于 2016-11-14T17:22:52.353 に答える
3

Bash3.2を使用してMacOSでテスト済み

bash-3.2$ mail -s "$subject" TestEmail@gmail.com <<< $(printf "%s\r\n%s\n" "This is Line One"  "This is Line Two")

これは受信したメールのGmailからのスクリーンショットです

ここに画像の説明を入力してください

于 2019-12-12T16:24:45.177 に答える
2

私はこの問題に遭遇し、私がパイプしている変数を引用符で囲むことによってそれを解決しましたmailx

私はpsからのプロセスのリストから始めましたlist="$(ps |grep some_process)"

それから私がそれを次のように郵送しようとしたとき、改行は抹消されました:

echo $body | mailx -s "${subject}" recipient@someplace.com

ただし、$body引用符で囲むだけで改行は保持されます。

echo "$body" | mailx -s "${subject}" recipient@someplace.com
于 2017-09-21T05:09:00.587 に答える