来自bash脚本的电子邮件

时间:2010-02-16 19:12:48

标签: bash

#!/bin/bash
MESSAGE="Line one. /n"

MESSAGE="$MESSAGE Line two. /n"
MESSAGE="$MESSAGE Line three."

echo $MESSAGE | mail -s "test" "example@example.com"

这是我应该如何获得每一行,在它自己的路线上?

3 个答案:

答案 0 :(得分:14)

使用heredoc

mail -s "test" "example@example.com" << END_MAIL
Line one.
Line two.
Line three.
END_MAIL

答案 1 :(得分:8)

变化:

echo $MESSAGE | mail -s "test" "example@example.com"

要:

echo -e $MESSAGE | mail -s "test" "example@example.com"

答案 2 :(得分:2)

heredoc建议很好,另外你可能想考虑使用mailx,如果邮件是sendmail或postfix,那么存在Posix标准或sendmail。 (我不确定qmail。)

除非使用sendmail,否则将MAILRC变量设置为/dev/null以绕过用户的配置脚本(如果有)也是个好主意。