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

use*_*480 18 linux email newline

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

echo "Hi xxx, would you tell me something?\\n thanks!\\n -xxx" | mail -s "subject" xxx@gmail.com
Run Code Online (Sandbox Code Playgroud)

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

jah*_*roy 33

尝试使用 echo -e

echo -e "Hello \n World"

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


小智 13

使用mailx,如果您将电子邮件发送给oultook用户,则可以在每行的begenig中添加2个空格.

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

  • 是的,Outlook是一种痛苦,但这是现实生活。对我来说效果很好。 (2认同)

Ele*_*wen 5

使用邮件命令时,接受的答案对我不起作用,我不得不使用

\r
Run Code Online (Sandbox Code Playgroud)

我的整个命令是

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

  • 当我尝试使用 \r 时,整个电子邮件正文看起来就像 Gmail 的附件。 (2认同)

Dav*_*ton 5

在 MacOS 上使用 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")
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述