我通过使用以下命令通过组合所有输出并在一封电子邮件中发送来发送电子邮件。它对我来说效果很好。
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
作为电子邮件中temp folder
chart.html file
附加。
希望大家都清楚。我正在运行SunOS
.
任何建议将不胜感激。
更新:-
如果我需要在 shell 脚本中添加 uuencode 命令,那么它应该如下所示?
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
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
您可以使用更通用的邮件用户代理,例如 http://www.cleancode.org/projects/email email
,它本机管理附件
对 shell 脚本最不需要的更改是
`uuencode /tmp/chart chart.html`
(在此处文档中插入 uuencode 的命令替换的反引号)。