#!/bin/bash
ATTACH1=file.xls<br>
SUBJECT="subj"<br>
FROM=me@domain.com<br>
TO=you@domain.com<br>
CC=them@domain.com<br>
MIME="Application/vnd.ms-excel" <br>
FILE=$ATTACH1<br>
boundary="---my-unlikely-text-for-mime-boundary---$$--" <br>
(cat <<!<br>
From: $FROM<br>
To: $TO<br>
Subject: $SUBJECT<br>
Date: $(date +"%a, %b %e %Y %T %z")<br>
Mime-Version: 1.0<br>
Content-Type: multipart/mixed; boundary="$boundary"<br>
This email has attached the file<br>
--$boundary<br>
Content-Type: $MIME;name="$FILE"<br>
Content-Disposition: attachment;filename="$FILE"<br>
!<br>
uuencode ${ATTACH1} ${ATTACH1}<br>
) | sendmail -v ${TO}<br>
Привет,
Приведенный выше код может отправить файл xls с помощью сценария оболочки. Но проблема в том, что полученный файл не может быть открыт. Кроме того, размер файла XLS становится меньше. Пример: исходный размер xls вложения составляет 17 КБ перед отправкой, но полученный файл становится размером 378 Б после отправки.
Что я могу сделать, чтобы полученный xls стал читаемым при открытии получателем? Что не так или отсутствует в приведенном выше сценарии? Пожалуйста помоги!!!!
И, кстати .. Я не могу использовать MUTT
sendmail
содержат содержимое файла, который вы хотите прикрепить к электронному письму?Ответы:
Вам необходимо указать Content-Transfer-Encoding для части MIME с вложением. Я не знаю, является ли uuencode стандартным. Base64 - это все же.
Вам также необходимо отправить маркер закрывающей границы.
Ваше перенаправление на кошку неверно.
источник
Content-Transfer-Encoding: uuencode
использовать файл uuencode, как вы это делали.