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

g18*_*18c 4 email sendmail

我能够从bash发送邮件,但无法更改from文本,它当前显示为"root".

我希望电子邮件客户端在from字段中显示以下文本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
Run Code Online (Sandbox Code Playgroud)

Rom*_*cke 9

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

mail -s "subject" -a "From: president@whitehouse.gov" ...
Run Code Online (Sandbox Code Playgroud)

  • @Roman Hocke 在我的 debian 上实际上是: `-a, --append=HEADER: VALUE` 和 `-A, --attach=FILE` (2认同)

Dav*_* W. 6

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

运行该命令man mail并查看该命令的选项.它因系统而异.检查一个参数,该参数允许您设置邮件来自谁或发件人.如果mail没有这样的参数,请尝试mailx哪个有更多选项.(看起来你的系统已经mailx打过电话了mail.

在我的系统上,我使用mailx而不是,mail我可以使用-r参数来设置发件人地址:

mailx -r president@whitehouse.gov -s "Secret Message. For your eyes only" < $file
Run Code Online (Sandbox Code Playgroud)