我通过使用以下命令发送电子邮件,将所有输出和发送结合在一封电子邮件中。它对我来说很好。
mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@host.com rj@host.com <<EOF
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`
Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`
Error Percentage: $QUERY2
EOF
现在我需要在上面的电子邮件中附加一个文件,该文件位于temp folder
下,名称为chart
。在发送时我需要将其作为chart.html
文件发送。
那么如何修改我的上述命令,以便它可以chart
chart.html file
从temp folder
附加电子邮件中的SunOS
。
希望我对大家都清楚。我正在运行mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@host.com rj@host.com <<EOF
uuencode /tmp/chart chart.html
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`
Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`
Error Percentage: $QUERY2
EOF
。
任何建议都将受到赞赏。
更新: -
如果我需要在我的shell脚本中添加uuencode命令,那么它应该如下所示?或其他什么
{{1}}
答案 0 :(得分:1)
apt-get install sharutils
其中run.sh
是附件,hello
是消息
(echo "hello" ; uuencode run.sh run.sh ) | mailx -s "Testing 2" root@localhost
EMAILCONTENT="Data Successfully loaded into LIP_DATA_QUALITY table \n Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`\n Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`\n Error Percentage: $QUERY2 \n"
(echo $MAILCONTENT ; uuencode /tmp/chart chart.html ) | mailx -s "Testing 2" root@localhost
### OR
FILE="/tmp/email.content"
echo -e "Data Successfully loaded into LIP_DATA_QUALITY table \n Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`\n Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`\n Error Percentage: $QUERY2 \n" > $FILE
(cat $FILE ; uuencode /tmp/chart chart.html ) | mailx -s "Testing 2" root@localhost
答案 1 :(得分:0)
你可以使用一个更通用的邮件用户代理,例如来自http://www.cleancode.org/projects/email的email
本地管理附件
答案 2 :(得分:0)
对shell脚本的最不必要的更改是
`uuencode /tmp/chart chart.html`
(在 here document 中插入uuencode的命令替换的反引号)。