0

添付ファイルをメールで送信したい..メール送信にこのコードを使用していますが、これは私の.shファイルです。

  cat "/home/ubuntu/source_code/PCC/mail.template" |
 sed s/@SUBJECT@/"$1"/ | 
sed s~@BODY@~"$2"~ | 
sed s/@TOEMAILS@/"$3"/ | 
sed s/@CCEMAILS@/"$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
4

1 に答える 1

1

スクリプトは、コマンドライン引数をフォームレターテンプレートに置き換えるために正常に機能するはずです。

しかし、「体」で代用しようとすると奇妙に聞こえます。

フォームレターを置き換えるだけでなく、本当に添付ファイルを送信したい場合は、sendmailを直接使用するのではなく、mutt、elm、pine、alpine、またはMIME添付ファイルを処理するその他のMUAを使用する必要があります。

sendmail(または/ usr / sbin / sendmailが実際に機能するもの)は、rootまたは他の「信頼できる」ユーザーによって実行されない限り、「-t」フラグを尊重しない可能性があることに注意してください。chmod cmdは必要ありませんが、問題が何であれ、それらは貢献していません。

一時ファイルを削除する代わりに、コピーを保存して調べ、sed編集が意図したとおりに機能していることを確認します。

于 2013-03-06T09:05:55.090 に答える