Envoi mail en vbs avec 3 variables via un fichier Excel
5 réponses
Itsejoke
Bonjour à tous,
Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :
- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
J'ai déjà la routine pour le mail, reste à faire appel à ces 3 variables :
----------------------------------------------------------------------------------------------
Dim oCDO
Set oCDO = CreateObject("CDO.Message")
With oCdo
With .Configuration.Fields ' Configuration "du compte mail SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") =
"smtp.fournisseur.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =
"25"
.Update
End With
.From = "EmailEmetteur@Domaine.fr"
.to = VAR1
.Subject ="Sujet" & Now
.TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : " VAR3
.Send
End With
----------------------------------------------------------------------------------------------
J'ai commencé à chercher sur microsoft scripting mais je ne vois pas...
On a un bien quelque chose en perl mais j'aimerais m'affranchir de
l'installation de perl...
En fait, quel est le problème ? (perso, j'ai échoué à l'exam de divination).
-- @-salutations
Michel Claveau
Gilles LAURENT [MVP]
"Itsejoke" a écrit dans le message de news:% | Bonjour à tous,
Bonsoir,
| Je voudrais envoyer un mail personnalisé en VBS à une liste de | collaborateurs avec 3 variables : | | - Email du destinataire : VAR1 | - Login du destinataire : VAR2 | - Mot de passe du destinataire : VAR3 | | Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes :
Email,Login,Password
Pour extraire les informations disponibles dans ce fichier :
Set oFs=CreateObject ("Scripting.FileSystemObject") Set oFile=oFs.OpenTextFile ("VARs.txt") arrVars=Split (oFile.ReadLine, ",")
| J'ai déjà la routine pour le mail, reste à faire appel à ces 3 | variables :
Les informations sont disponibles dans la variable de type tableau arrVars. Il suffit donc maintenant de remplacer chaque occurence de VARn par la variable arrVars en utilisant l'index adéquat : VAR1 = arrVars (0) VAR2 = arrVars (1) VAR3 = arrVars (2)
| .to = VAR1
.To=arrVars (0)
| .TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : " | VAR3 .Send
.TextBody = _ "Votre Login : " & arrVars (1) & VBCrLf & _ "Votre mot de passe : " & arrVars (2)
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"Itsejoke" <itsejoke@wha.com> a écrit dans le message de
news:%23QHW1kuVIHA.4684@TK2MSFTNGP06.phx.gbl
| Bonjour à tous,
Bonsoir,
| Je voudrais envoyer un mail personnalisé en VBS à une liste de
| collaborateurs avec 3 variables :
|
| - Email du destinataire : VAR1
| - Login du destinataire : VAR2
| - Mot de passe du destinataire : VAR3
|
| Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
:
Email,Login,Password
Pour extraire les informations disponibles dans ce fichier :
Set oFs=CreateObject ("Scripting.FileSystemObject")
Set oFile=oFs.OpenTextFile ("VARs.txt")
arrVars=Split (oFile.ReadLine, ",")
| J'ai déjà la routine pour le mail, reste à faire appel à ces 3
| variables :
Les informations sont disponibles dans la variable de type tableau
arrVars. Il suffit donc maintenant de remplacer chaque occurence de VARn
par la variable arrVars en utilisant l'index adéquat :
VAR1 = arrVars (0)
VAR2 = arrVars (1)
VAR3 = arrVars (2)
| .to = VAR1
.To=arrVars (0)
| .TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : "
| VAR3 .Send
.TextBody = _
"Votre Login : " & arrVars (1) & VBCrLf & _
"Votre mot de passe : " & arrVars (2)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"Itsejoke" a écrit dans le message de news:% | Bonjour à tous,
Bonsoir,
| Je voudrais envoyer un mail personnalisé en VBS à une liste de | collaborateurs avec 3 variables : | | - Email du destinataire : VAR1 | - Login du destinataire : VAR2 | - Mot de passe du destinataire : VAR3 | | Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes :
Email,Login,Password
Pour extraire les informations disponibles dans ce fichier :
Set oFs=CreateObject ("Scripting.FileSystemObject") Set oFile=oFs.OpenTextFile ("VARs.txt") arrVars=Split (oFile.ReadLine, ",")
| J'ai déjà la routine pour le mail, reste à faire appel à ces 3 | variables :
Les informations sont disponibles dans la variable de type tableau arrVars. Il suffit donc maintenant de remplacer chaque occurence de VARn par la variable arrVars en utilisant l'index adéquat : VAR1 = arrVars (0) VAR2 = arrVars (1) VAR3 = arrVars (2)
| .to = VAR1
.To=arrVars (0)
| .TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : " | VAR3 .Send
.TextBody = _ "Votre Login : " & arrVars (1) & VBCrLf & _ "Votre mot de passe : " & arrVars (2)
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
F. Dunoyer [MVP]
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" a écrit dans le message de news:%
Bonjour à tous,
Bonsoir,
Je voudrais envoyer un mail personnalisé en VBS à une liste de collaborateurs avec 3 variables :
- Email du destinataire : VAR1 - Login du destinataire : VAR2 - Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
-- François Dunoyer [MVP Windows Server Admin Framework] Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm Site perso : http://www.fdunoyer.net Blog perso : http://fdunoyer.spaces.live.com/
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" <itsejoke@wha.com> a écrit dans le message de
news:%23QHW1kuVIHA.4684@TK2MSFTNGP06.phx.gbl
Bonjour à tous,
Bonsoir,
Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :
- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
--
François Dunoyer [MVP Windows Server Admin Framework]
Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm
Site perso : http://www.fdunoyer.net
Blog perso : http://fdunoyer.spaces.live.com/
Je voudrais envoyer un mail personnalisé en VBS à une liste de collaborateurs avec 3 variables :
- Email du destinataire : VAR1 - Login du destinataire : VAR2 - Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
-- François Dunoyer [MVP Windows Server Admin Framework] Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm Site perso : http://www.fdunoyer.net Blog perso : http://fdunoyer.spaces.live.com/
MCI \(ex do ré Mi chel la si do\) [MVP]
Re !
Ci-dessous, une solution complète, avec Ponx. Les données sont contenues dans le tableau Excel C:mdata.xls. Trois colonnes sont utilisées : destinataire, login, mot de passe. Le script lit les lignes, à partir de la ligne 1, et tant qu'il y a des données (generator). Le message est ensuite composé, puis envoyé. Pour coller à l'exemple cité, certain paramètres ont été omis (valeurs par défaut) ; notamment les éventuelles identifications SMTP, les pièces jointes, les payloads. Le fichier Excel est fermé à la fin. Excel doit être installé sur le poste (il y a des solutions pour lire les fichiers Excel, sans Excel, mais c'est plus compliqué).
La première version est en Python, et affiche les données, au fur et à mesure du traitement:
import pxexcel,time,ponx x=pxexcel.exl('C:mdata.xls') #ouverture fichier C:mdata.xls for lval in x.getRCellule(1,1,2,3): #depuis lig.1 col.1+2+3 tant que col.1 sujet='Sujet '+ time.strftime('%a, %d %b %Y %H:%M:%S') body='Votre login : '+ lval[1] +'rnVotre mot de passe : ' + lval[2] ponx.mailfiles(lval[0], lval[1], subject=sujet, message=body, smtpserveur='smtp.fournisseur.fr',port%) print 'Envoi :',lval[0] print 'Fini' x.pxclose()
Cette deuxième version est utilisée par un script VBscript ; elle n'affiche pas la progression :
Ci-dessous, une solution complète, avec Ponx.
Les données sont contenues dans le tableau Excel C:mdata.xls.
Trois colonnes sont utilisées : destinataire, login, mot de passe.
Le script lit les lignes, à partir de la ligne 1, et tant qu'il y a des
données (generator).
Le message est ensuite composé, puis envoyé. Pour coller à l'exemple
cité, certain paramètres ont été omis (valeurs par défaut) ; notamment
les éventuelles identifications SMTP, les pièces jointes, les payloads.
Le fichier Excel est fermé à la fin.
Excel doit être installé sur le poste (il y a des solutions pour lire
les fichiers Excel, sans Excel, mais c'est plus compliqué).
La première version est en Python, et affiche les données, au fur et à
mesure du traitement:
import pxexcel,time,ponx
x=pxexcel.exl('C:\mdata.xls') #ouverture fichier C:\mdata.xls
for lval in x.getRCellule(1,1,2,3): #depuis lig.1 col.1+2+3 tant que
col.1
sujet='Sujet '+ time.strftime('%a, %d %b %Y %H:%M:%S')
body='Votre login : '+ lval[1] +'rnVotre mot de passe : ' +
lval[2]
ponx.mailfiles(lval[0], lval[1], subject=sujet, message=body,
smtpserveur='smtp.fournisseur.fr',port%)
print 'Envoi :',lval[0]
print 'Fini'
x.pxclose()
Cette deuxième version est utilisée par un script VBscript ; elle
n'affiche pas la progression :
Ci-dessous, une solution complète, avec Ponx. Les données sont contenues dans le tableau Excel C:mdata.xls. Trois colonnes sont utilisées : destinataire, login, mot de passe. Le script lit les lignes, à partir de la ligne 1, et tant qu'il y a des données (generator). Le message est ensuite composé, puis envoyé. Pour coller à l'exemple cité, certain paramètres ont été omis (valeurs par défaut) ; notamment les éventuelles identifications SMTP, les pièces jointes, les payloads. Le fichier Excel est fermé à la fin. Excel doit être installé sur le poste (il y a des solutions pour lire les fichiers Excel, sans Excel, mais c'est plus compliqué).
La première version est en Python, et affiche les données, au fur et à mesure du traitement:
import pxexcel,time,ponx x=pxexcel.exl('C:mdata.xls') #ouverture fichier C:mdata.xls for lval in x.getRCellule(1,1,2,3): #depuis lig.1 col.1+2+3 tant que col.1 sujet='Sujet '+ time.strftime('%a, %d %b %Y %H:%M:%S') body='Votre login : '+ lval[1] +'rnVotre mot de passe : ' + lval[2] ponx.mailfiles(lval[0], lval[1], subject=sujet, message=body, smtpserveur='smtp.fournisseur.fr',port%) print 'Envoi :',lval[0] print 'Fini' x.pxclose()
Cette deuxième version est utilisée par un script VBscript ; elle n'affiche pas la progression :
Bonsoir et merci à François, Michel et à Gilles pour vos réponses détaillées :-) Que du bonheur : allez, je vais essayer tout ça :-))
Merci !! RV
"F. Dunoyer [MVP]" ~.net> a écrit dans le message de news:
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" a écrit dans le message de news:%
Bonjour à tous,
Bonsoir,
Je voudrais envoyer un mail personnalisé en VBS à une liste de collaborateurs avec 3 variables :
- Email du destinataire : VAR1 - Login du destinataire : VAR2 - Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
-- François Dunoyer [MVP Windows Server Admin Framework] Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm Site perso : http://www.fdunoyer.net Blog perso : http://fdunoyer.spaces.live.com/
Bonsoir et merci à François, Michel et à Gilles pour vos réponses détaillées
:-)
Que du bonheur : allez, je vais essayer tout ça :-))
Merci !!
RV
"F. Dunoyer [MVP]" <wdunoyer-nimportequoi@laposte~.net> a écrit dans le
message de news: mn.7d047d818c1780b8.14554@laposte.net...
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" <itsejoke@wha.com> a écrit dans le message de
news:%23QHW1kuVIHA.4684@TK2MSFTNGP06.phx.gbl
Bonjour à tous,
Bonsoir,
Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :
- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
--
François Dunoyer [MVP Windows Server Admin Framework]
Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm
Site perso : http://www.fdunoyer.net
Blog perso : http://fdunoyer.spaces.live.com/
Bonsoir et merci à François, Michel et à Gilles pour vos réponses détaillées :-) Que du bonheur : allez, je vais essayer tout ça :-))
Merci !! RV
"F. Dunoyer [MVP]" ~.net> a écrit dans le message de news:
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" a écrit dans le message de news:%
Bonjour à tous,
Bonsoir,
Je voudrais envoyer un mail personnalisé en VBS à une liste de collaborateurs avec 3 variables :
- Email du destinataire : VAR1 - Login du destinataire : VAR2 - Mot de passe du destinataire : VAR3
Le mieux serait d'être dans un fichier Excel, ou fichier TXT
Soit le fichier de type texte VARs.txt au format csv dans lequel chaque champ est séparé par une virgule et contient les informations suivantes Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement
avec Excel ;)
-- François Dunoyer [MVP Windows Server Admin Framework] Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm Site perso : http://www.fdunoyer.net Blog perso : http://fdunoyer.spaces.live.com/