Envoi de mail avec pièces jointes multiples
Résolu
volimp
-
volimp -
volimp -
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.
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.
A voir également:
- Envoi de mail avec pièces jointes multiples
- Telecharger toutes les pieces jointes gmail - Guide
- Programmer envoi mail gmail - Guide
- Publipostage mail - Accueil - Word
- Envoi mail cci - Guide
- Windows live mail - Télécharger - Mail
1 réponse
hello
en simplifiant
ou
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
' 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"
- la boucle for remplace les () et uuencode chaque fichier et pipe le tout dans le mail
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