Bonjour
J'espère bien me faire comprendre car cela n'est pas évident d'expliquer mon problème.
Pour industrialiser des traitements d'envoi de mail, j'utilise un script sous Aix.
J'ai créé un fichier contenant le nom des fichiers à mailler ainsi que le nom de la variable (contenu dans le .profile) indiquant les destinataires.
fichier .profile:
fichier MAIL.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 export MEL1=toto@fai.fr export MEL2=titi@fai.fr export MEL3=tutu@fai.fr,tata@fait.fr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 fichier1;nom_variable_MEL1 fichier2;nom_variable_MEL2 fichier3;nom_variable_MEL3
scripts EnvoiMail.sh
J'aimerais savoir quoi mettre exactement dans MAIL.txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 while read LigneEnvoi do FichierAttache=`echo ${LigneEnvoi} | cut -d ";" -f 1` DestMail=`echo ${LigneEnvoi} | cut -d ";" -f 2` # envoi du mail ... cat <<FINMSG>mail.tmp Bonjour, Veuillez trouver le fichier joint Cordialement FINMSG uuencode ${FichierAttache} "${FichierAttache}" >> mail.tmp # Envoi du mail avec le fichier joint cat mail.tmp | mailx -s "Le fichier joint" "${DestMail}" done < MAIL.txt
${MELx} ou MELx ou {MELx} ....
et comment dire au script que la valeur contenue dans DestMail correspond à un nom d'une variable du .profile et dont de mettre dans DestMail la valeur de $MELx
Pour l'instant, j'ai résolu mon probleme en mettant un case de la manière suivante:
Dans le fichier MAIL.txt, je mets MEL1, MEL2 ou MEL3
et dans le script:
Mais cela n'est pas propre. Je sais qu'il est possible de faire ce que je souhaite. Je l'ai déjà fait il y plusieurs années mais impossible de me rappeler comment j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 case ${DestMail} MEL1) DestMail=${MEL1} MEL2) DestMail=${MEL2} MEL3) DestMail=${MEL3} *) echo 'MEL INCONNU' esac
Merci pour toute l'aide apportée.
Frédéric S
Partager