我在 IBM AIX 服务器的 crontab 上有一堆脚本,它们调用 mail 命令来向自己发送电子邮件,有点像这样:
$ mail -r [email protected] -s "Results for `hostname`" [email protected] <<EMAILCONTENT
Results of execution of command $COMMAND on `hostname`:
`cat /home/myon/executionresults.txt`
EMAILCONTENT
我打算在生产环境中放置一个具有类似内容的脚本,因此我试图找到一种使用 AIX 设置邮件标头的方法,/usr/bin/mail
以便来自生产的邮件以高优先级到达我的收件箱。迁移到 Perl 的 Mail 包需要一段时间,因此最好使用标准的 mail 命令。我找不到指定邮件标头的选项,无论是 onmail
还是 on sendmail
(从我收集的信息来看,它接收到邮件无法解析的任何选项,在本例中为-r
)。
知道如何以这种方式设置标题吗?
编辑:感谢您的回答:3 这是它的工作原理,经过重新设计,使其看起来更像上面的展览:
$ sendmail -i -- [email protected] <<EMAILCONTENT
From: [email protected]
To: [email protected]
Importance: High
Subject: Results for `hostname`
Results of execution of command $COMMAND on `hostname`:
`cat /home/myon/executionresults.txt`
EMAILCONTENT
答案1
Sendmail:发送带有自定义标头的电子邮件
使用 sendmail 发送时可以生成任何标头。
[ Sendmail 填补缺失重要的标题]
FILE=/home/myon/executionresults.txt
HOSTNAME=`hostname`
cat - $FILE <<EMAILCONTENT | /usr/sbin/sendmail -i -- [email protected]
Subject: Results for $HOSTNAME
To: [email protected]
Results of execution of command $COMMAND on $HOSTANME:
------------------------------------------------------
EMAILCONTENT
PS 在这种带有生成的动态标头的“无严格检查”脚本中不要使用-t
命令行选项