目标:发送带有 HTML 正文和二进制附件的邮件(使用 sendmail)。
遵循以下链接中指定的准则
http://www.unix.com/shell-programming-scripting/159522-sendmail-html-body-attachment-2.html
http://www.unix.com/shell-programming-scripting/58448-sendmail-attachment.html
它的工作范围是 HTML 正文或带有 uuencode 的二进制附件,但不能同时使用两者。
下面给出了发送邮件的 shell 脚本片段。有了这个,HTML 正文就很好了,但是附件被错误地编码/解码并且无法查看。
请指教。
#!/usr/bin/ksh
export MAILFROM="noreply@site.dom"
export MAILTO="somebody@somesite.com"
export SUBJECT="Test PDF for Email"
export BODY="email_body.htm"
export ATTACH="file.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"-$MAILPART\""
echo "---$MAILPART"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
cat $BODY
echo "---$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: base64"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
uuencode -m $ATTACH $(basename $ATTACH)
echo "---$MAILPART--"
) | /usr/sbin/sendmail $MAILTO
我正在使用 HP-UX ia64。通过论坛和网络搜索,发现主要是对 PHP、Python 等的引用。