我可以从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
答案 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