如何使用linux mail命令在电子邮件中插入新行?

时间:2012-09-27 05:21:19

标签: linux email newline

如何使用linux mail命令在电子邮件中插入新行?

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

电子邮件显示字面'\ n',而不是换行符,如何解决?

5 个答案:

答案 0 :(得分:31)

尝试使用echo -e

echo -e "Hello \n World"

您可以从命令行键入man echo以阅读更多内容。

答案 1 :(得分:12)

使用mailx,如果您将电子邮件发送给Outlook用户,则可以在每行的开头添加2个空格。

{ echo "Hi xxx, would you tell me something" ; echo "thanks!" ; echo "-xxx" } | sed 's/^/  /g' | mailx -s "subject" xxx@domain.com

答案 2 :(得分: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

答案 3 :(得分:1)

使用mail命令时,接受的答案对我不起作用,我必须使用

\r

我的整个命令是

mail -s "SUBJECT" -aFrom:"from@sdf.com "to@sdfd.com" <<< $( echo -e "Line1\rLine2")

答案 4 :(得分:0)

在Mac OS上使用Bash 3.2进行测试

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

这是Gmail收到的电子邮件的屏幕截图

enter image description here