#!/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>
Salut,
Le code ci-dessus peut envoyer un fichier xls à l'aide d'un script shell. Mais le problème est que, le fichier reçu ne peut pas être ouvert. En outre, la taille du fichier xls devient plus petite. Exemple: la taille de la pièce jointe xls d'origine est de 17 Ko avant l'envoi, mais la taille du fichier reçu est de 378 Ko après son envoi.
Que puis-je faire pour que les xls reçus deviennent lisibles lorsqu'ils sont ouverts par le destinataire? Qu'est-ce qui ne va pas ou manque dans le script ci-dessus? S'il vous plaît aider !!!!
Et au fait .. JE NE PEUX PAS UTILISER MUTT
sendmail
contient le contenu du fichier que vous souhaitez joindre à l'e-mail?
Réponses:
Vous devez spécifier le Content-Transfer-Encoding pour la partie MIME avec la pièce jointe. Je ne sais pas si uuencode est un standard. Base64 est bien.
Vous devez également envoyer le marqueur de limite de fermeture.
Votre redirection dans chat est incorrecte.
(cat << !
From: $FROM
To: $TO
Subject: $SUBJECT
Date: $(date +"%a, %b %e %Y %T %z")
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="$boundary"
This email has attached the file
--$boundary
Content-Type: text/plain; charset=ISO-8859-1
Please see the attachmed file.
--$boundary
Content-Transfer-Encoding: base64
Content-Type: $MIME;name="$ATTACH1"
Content-Disposition: attachment;filename="$ATTACH1"
$(base64 "$ATTACH1")
--$boundary--
!
) | sendmail -v "$TO"
Content-Transfer-Encoding: uuencode
et utilisez uuencode sur le fichier comme vous le faisiez.