2012-08-13 62 views
0

我通過使用以下命令發送電子郵件,方法是將所有輸出和發送到一個電子郵件中。這對我來說可以。使用shell腳本在電子郵件中附加一個html文件

mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r [email protected] [email protected] <<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

任何建議,將不勝感激。

更新: -

如果我需要在我的shell腳本添加的uuencode命令所以它應該是像下面?還是其他什麼東西

mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r [email protected] [email protected] <<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 
+0

[如何使用HP-UX shell腳本將簡單文本文件發送爲附件?](http://stackoverflow.com/questions/6274325/how-to-send-simple-text-file-as- attachment-using-hp-ux-shell-script) – 2012-08-13 05:50:47

+0

使用Python或Perl編寫MIME消息比使用shell腳本更容易。 – 2012-08-13 09:12:18

回答

1
apt-get install sharutils 

其中run.sh是附件和hello是消息

(echo "hello" ; uuencode run.sh run.sh) | mailx -s "Testing 2" [email protected] 



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" [email protected] 


### 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" [email protected] 
+0

我剛剛用我使用'uuencode command'的方式解決了我的問題是否正確?任何想法將不勝感激。 – ferhan 2012-08-13 21:47:45

+0

這是不正確的,因爲你正在用一個名爲EOF的字符串執行uuencode,你傳遞給它的正確方法是:(如上面添加到這個帖子中的新內容) – Vahid 2012-08-16 10:48:12

0

對你的shell腳本的最少必要的改變是

`uuencode /tmp/chart chart.html` 

(反引號具有命令替換插入在UUENCODE的在這裏記錄)。

相關問題