Как использовать sendmail в Unix для отправки электронной почты с текстом HTML и вложением .txt? - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь отправить e-mail, используя Unix, который имеет HTML Тело и вложение.
Код работает без вложения, но когда я добавил строки для вложения, полученное письмо просто отображало все в виде простого текста.
Этот код не работает, пожалуйста, помогите:

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}"

1 Ответ

0 голосов
/ 04 октября 2018

Вы забыли добавить трейлинг close-delimiter после последней границы MIME.

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