【问题标题】:How to use sendmail in Unix to send an e-mail with HTML body and .txt attachment?如何在 Unix 中使用 sendmail 发送带有 HTML 正文和 .txt 附件的电子邮件?
【发布时间】:2018-12-12 11:32:08
【问题描述】:

我正在尝试使用具有HTML 正文和附件的Unix 发送e-mail
该代码在没有附件部分的情况下工作,但是当我添加附件的行时,我收到的邮件只是将所有内容显示为纯文本。
此代码似乎不起作用,请帮助:

MAIL_TO="receiver@mail.com"
MAIL_FROM="sender@mail.com"
MAIL_SUBJECT="MAIL SUBJECT"
ATTACHMENT=sample.txt
HTML_FILE=sample.html

(
echo "From: ${MAIL_FROM}"
echo "To: ${MAIL_TO}"
echo "Subject: ${MAIL_SUBJECT}"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary="MAIL_BOUNDARY";"
echo "Content-Disposition: inline"

echo "--MAIL-BOUNDARY"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
cat ${HTML_FILE}

echo "--MAIL-BOUNDARY"
echo "Content-Type: text/plain; name="${ATTACHMENT}""
echo "Content-Disposition: attachment; filename="${ATTACHMENT}""
echo "Content-Transfer-Encoding: base64"
base64 ${ATTACHMENT}

echo "--MAIL-BOUNDARY"
) | /usr/sbin/sendmail "${MAIL_TO}"

【问题讨论】:

    标签: html unix sendmail attachment


    【解决方案1】:

    您忘记在最后一个 MIME 边界之后添加尾随 close-delimiter

    ...
    echo "--MAIL_BOUNDARY--"
    ) | /usr/sbin/sendmail "${MAIL_TO}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-20
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 2018-07-24
      • 2016-08-16
      • 1970-01-01
      相关资源
      最近更新 更多