从bash邮件中的地址文本设置

时间:2013-04-11 20:09:37

标签: email sendmail

我可以从bash发送邮件,但无法更改from文本,它目前显示为“root”。

我希望电子邮件客户在以下字段script on myserver.com (root@myserver.com)中显示以下文字。

我该怎么办呢?

emailsubject="$scriptname ($scriptver) log at $startdate"

if [ $errorcount > 0 ]; then
    emailsubject="ERRORS($errorcount) - ${emailsubject}"
fi

mail -s "$emailsubject" tobealerted@hotmail.com < $logfile

2 个答案:

答案 0 :(得分:9)

如果您的“邮件”支持它,您可以使用-a开关添加自定义标头,如下所示:

mail -s "subject" -a "From: president@whitehouse.gov" ...

答案 1 :(得分:6)

这不是BASH问题。这是邮件程序本身的问题。

运行命令man mail并查看命令的选项。它因系统而异。检查一个参数,该参数允许您设置邮件来自谁或发件人。如果mail没有此类参数,请尝试mailx,其中包含更多选项。 (看起来您的系统mailx名为mail

在我的系统上,我使用mailx代替mail,我可以使用-r参数设置发件人地址

mailx -r president@whitehouse.gov -s "Secret Message. For your eyes only" < $file