Les Allergies
Alimentaires
Posez votre question Signaler

Envoi de mail avec pièces jointes multiples [Résolu]

volimp - Dernière réponse le 20 avril 2010 à 15:27
Bonjour tlm,
JE suis entrain de faire du nouveau du shell après 4 ans et je bloque sur une commande.
But de mon Script : envoyer un mail en attachant tous les fichiers csv contrenus dans un repertoire donné.
Code :
#preparing the send mails comand
for i in $(find $FILE_DIR | grep csv )
do
SENDC=" "uuencode" "$i" "$i" ; "$SENDC
done
#fixing the Subject of the mail
SUBJECT=$(basename $i)
#Sending the mail
FINAL_COMAND="( "$SENDC" ) | mail -s "$SUBJECT" "$TO
$FINAL_COMAND
echo $FINAL_COMAND
en lançant le script j'obtient cette erreur :
( uuencode /HDisclosure/files/POSITIONS.csv /home/HDisclosure/files/POSITIONS.csv ; uuencode /HDisclosure/files/POSITIONS1.csv /home/HDisclosure/files/POSITIONS1.csv ) | mail -s POSITIONS me@mail.com
./Hdc_sendMail.ksh[43]: (: introuvable.
je pense que ça provient du ";"
Lorsque je fais un copier coller de la commande dans le terminal ça envoi le mail par contre le script retourne l'erreur ci-dessus.
Merci pour votre aide.
Lire la suite 

Envoi de mail avec pièces jointes multiples »

4 réponses
Réponse
+0
moins plus
hello
en simplifiant
for i in $(find $FILE_DIR | grep csv ) 
do 
        uuencode $i $i 
done | mail -s "$(basename $i)" "$TO" 

ou
SENDC=""
for i in $(find $FILE_DIR | grep csv )
do
        SENDC="uuencode $i $i ; $SENDC"
done 

#fixing the Subject of the mail
SUBJECT=$(basename $i)

#Sending the mail

FINAL_COMAND="($SENDC )| mail -s \"$SUBJECT\" $TO"

echo $FINAL_COMAND
$FINAL_COMAND
volimp - 20 avril 2010 à 12:10
j'ai cette erreur

' imprévu.Mail.ksh[19]: 0403-057 Erreur de syntaxe. ligne 21 : 'do


sinon je pense que la syntaxe pour utiliser uuencode est la suivante dans ce cas :

( uuencode file1 file1 ; uuencode file2 file2 ) | mail -s "$(basename $i)" "$TO"
dubcek- 20 avril 2010 à 12:15
- affiche les lignes avant et après 19
- la boucle for remplace les () et uuencode chaque fichier et pipe le tout dans le mail
volimp - 20 avril 2010 à 15:27
le problème provenait d'un caractère non imprimable ^M :))

sinon je m'en sors avec une autre approche

for i in $(find $FILE_DIR | grep csv )
do
echo "handling the file " $(basename $i)
echo
uuencode $i $i >> PJ.tmp

done

mail -s "$(basename $i)" -c $CC $TO < PJ.tmp



Merci dubeck
Ajouter un commentaire
Ce document intitulé « Envoi de mail avec pièces jointes multiples » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?