sylv1g
Messages postés5Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention 3 septembre 2009
-
3 sept. 2009 à 11:55
sylv1g
Messages postés5Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention 3 septembre 2009
-
3 sept. 2009 à 23:35
Hello tous,
je ne connais quasiment rien à la programmation, mais je cherche néanmoins avec acharnement un moyen d'automatiser l'envoi d'un email avec pièce-jointe (pour l'envoi de rapports d'activité.)
Après de nombreuses recherches et puisqu'il ne semble pas exister de programmes tout moulés pour ça, je suis tombé sur le script suivant, et j'ai l'impression qu'il ne manque pas grand chose pour qu'il fonctionne (ben oui, il me colle un message m'avertissant que mon mail n'a pas pu être expédié, c'est déjà ça...) :
Comme indiqué quelque part (?), j'ai donc enregistré ce script au format .txt avec le bloc-note, puis modifié l'extension en .vbs, mais ça ne fonctionne pas malgré mes multiples essais de configuration (adresses email, serveur smtp, port, etc.)
Auriez-vous une idée d'où le souci pourrait provenir ? Fonctionne-t-il sous Vista ? Faut-il un client de messagerie particulier pour le faire fonctionner ? (A la base, je l'ai trouvé sur une FAQ Outlook Express, et je crois que j'en ai trouvé une version ici-même, quelque part, aussi...)
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 3 sept. 2009 à 14:45
Bonjour,
Ci-dessous un script de prod (w2000 et XP).
Constantes et variables à modifier:
- Server;
- MyFile;
- Destinataires;
- Emetteur;
- strSmartHost.
Option Explicit
Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Server : Server = "\\server\arborescence"
Dim MyFile : MyFile = "PRO-6AL.CSV"
Do
If Fso.FileExists(Server & MyFile) Then
Exit Do
End If
WScript.Sleep(60000)
Loop
'------------------
'Paramètres du Mail
'------------------
Const Destinataires = "titi@client.com;toto@client.fr"
Const Emetteur = "moi_ou_un_autre@boulot.fr"
Const cdoSendUsingPort = 2
'-------------------------------------------
'Adresse IP ou smtp du serveur de messagerie
'-------------------------------------------
Const strSmartHost = "smtp.wanadoo.fr"
'------------------------
'Déclaration de variables
'------------------------
Dim Corps, Sujet
'-------------------------------------------------------
'Envoi du mail avec pièce jointe + contenu de ce fichier
'-------------------------------------------------------
Sujet = "client: ............"
Corps = "Bonjour," & vbCrLf & vbCrLf & "Ci-joint ..."
SendMail Sujet, Corps, Server & MyFile
Fso.DeleteFile Server & MyFile, True
Set Fso = Nothing
WScript.Quit
'******************************************************************
'------------------------------
'Envoi du MAIL aux utilisateurs
'------------------------------
Sub SendMail(Sujet, Corps, fic1)
Dim iMsg, iConf
'Create the message object.
Set iMsg = CreateObject("CDO.Message")
'Create the configuration object.
Set iConf = iMsg.Configuration
'Set the fields of the configuration object to send by using SMTP through port 25.
With iConf.Fields
.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost
.Update
End With
'Set the To, From, Subject, and Body properties of the message.
With iMsg
.To = Destinataires
.From = Emetteur
.Subject = Sujet
.TextBody = Corps
.AddAttachment fic1
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
End Sub
sylv1g
Messages postés5Date d'inscriptionjeudi 3 septembre 2009StatutMembreDernière intervention 3 septembre 2009 3 sept. 2009 à 19:11
Bon, ça n'a pas marché... Mais ça ne veut pas dire que votre script défaille, c'est moi qui suis une bille.
Outre les adresses emails des Destinataires & Emetteur, j'ai remplacé "smtp.wanadoo.fr" par le smtp mon serveur et j'ai remplacé "PRO-6AL.CSV" par le chemin complet du fichier à joindre. Fallait-il modifier quelque chose à "\\server\arborescence" ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?