2013-03-01 35 views
0

我想在郵件發送附件發送附件的文件中sendmail的..使用發送郵件 這段代碼即時通訊這是我的sh文件,我不知道使用sh文件

cat "/home/ubuntu/source_code/PCC/mail.template" | 
sed s/@[email protected]/"$1"/ | 
sed [email protected]@~"$2"~ | 
sed s/@[email protected]/"$3"/ | 
sed s/@[email protected]/"$4"/ > /home/ubuntu/source_code/PCC/tempMail_"$5".template 
    chmod 777 /home/ubuntu/source_code/PCC/tempMail_"$5".template 
    cat /home/ubuntu/source_code/PCC/tempMail_"$5".template | 
sed 's/ */ /g' | 
sed 's%><%>\n<%g' | 
sed 's%> <%>\n<%g' > /home/ubuntu/source_code/PCC/tempMail2_"$5".template 
    chmod 777 /home/ubuntu/source_code/PCC/tempMail2_"$5".template 
    /usr/sbin/sendmail -f "$6" -t < /home/ubuntu/source_code/PCC/tempMail2_"$5".template 
    rm -rf /home/ubuntu/source_code/PCC/tempMail2_"$5".template 
    rm -rf /home/ubuntu/source_code/PCC/tempMail_"$5".template 
+0

這裏有一些很多變量,sendmail的語法是次要的。你正在使用哪個MTA?任何日誌?你應該改善這個問題,否則我想它會很快降低。 – kamituel 2013-03-01 08:24:11

回答

1

你的腳本應該工作確定將命令行參數替換爲格式字母模板。

試圖在「身體」替代聽起來很奇怪。

如果你真的想發送附件,而不是僅僅在一個表單字母上進行替換,你應該使用mutt,elm,pine,alpine或其他一些MUA來處理MIME附件,而不是直接嘗試使用sendmail。

請注意,除非root或其他「可信」用戶運行,否則sendmail(或其他類似於/ usr/sbin/sendmail的實際工作)可能不符合「-t」標誌。你不需要chmod命令,但是他們不會對你的問題做出任何貢獻。

除了刪除臨時文件,保存副本並檢查它以確保您的sed編輯按預期工作。