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

您的脚本应该可以将命令行参数替换为套用信函模板。

不过,尝试用“身体”代替听起来很奇怪。

如果您真的想发送附件而不只是在套用信函上进行替换,您应该使用 mutt、elm、pine、alpine 或其他可以处理 MIME 附件的 MUA,而不是尝试直接使用 sendmail。

请注意,除非由 root 或其他“受信任”用户运行,否则 sendmail(或 /usr/sbin/sendmail 真正的任何类似工作)可能不支持“-t”标志。您不需要 chmod cmds,但无论您的问题是什么,它们都不会造成任何影响。

不要删除您的临时文件,而是保存一份副本并检查它以确保您的 sed 编辑按预期工作。

于 2013-03-06T09:05:55.090 回答