#!/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>
Cześć,
Powyższy kod może wysłać plik xls za pomocą skryptu powłoki. Problem w tym, że otrzymany plik nie może być otwarty. Ponadto rozmiar pliku xls staje się mniejszy. Przykład: oryginalny rozmiar załącznika xls wynosi 17 kb przed wysłaniem, ale otrzymany plik ma rozmiar 378b po wysłaniu.
Co mogę zrobić, aby odebrane xls stały się czytelne, gdy zostały otwarte przez odbiornik? Co jest źle lub czego brakuje w powyższym skrypcie? Proszę pomóż!!!!
A tak przy okazji ... NIE MOGĘ UŻYWAĆ MUTT
sendmail
zawierają zawartość pliku, który chcesz dołączyć do wiadomości e-mail?Odpowiedzi:
Musisz określić kodowanie transferu treści dla części MIME z załącznikiem. Nie wiem, czy uuencode jest standardowy. Base64 jest jednak.
Musisz także wysłać znacznik granicy zamknięcia.
Twoje przekierowanie na kota jest nieprawidłowe.
źródło
Content-Transfer-Encoding: uuencode
użyć uuencode na pliku, tak jak robiłeś.