OVH Cloud OVH Cloud

Envoi de mail dans un script vbscript

19 réponses
Avatar
Brigitte
Bonjour,

Je suis à la recherche d'une fonction permettant l'envoi d'un mail dans un
script vbscript.
Merci pour votre aide

Brigitte

10 réponses

1 2
Avatar
scraper
Bonjour Brigitte, dans le message
news:
tu disais :

Bonjour,

Je suis à la recherche d'une fonction permettant l'envoi d'un mail
dans un script vbscript.
Merci pour votre aide


peut être comme ça ?


'-------8<--------

Option Explicit

Dim objMail

Set objMail = CreateObject("CDO.Message")

objMail.From = ""
objMail.To = ""
objMail.Subject = "test"
objMail.Textbody = "coucou"
objMail.AddAttachment "C:Documents and SettingstotoBureautestpj.txt"
objMail.Send

Set objMail=Nothing
wscript.quit

'---8<------


NB : librement inspiré d'un script de JCB, je crois ....
ne prend pas en charge la gestion d'erreur ;-)




--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez-alice.fr

scraper

Avatar
JièL Goubert
Bonjoir© scraper

Le 15/02/2006 10:10 vous avez écrit... :
'-------8<--------
Option Explicit

Dim objMail

Set objMail = CreateObject("CDO.Message")

objMail.From = ""
objMail.To = ""
objMail.Subject = "test"
objMail.Textbody = "coucou"
objMail.AddAttachment "C:Documents and SettingstotoBureautestpj.txt"
objMail.Send

Set objMail=Nothing
wscript.quit
'---8<------


Une question steuplé (a toi ou JCB)
Comment déterminer le serveur SMTP qui sera utilisé dans ce script ?
Mais en utilise t'il un ?

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Stephane

Une question steuplé (a toi ou JCB)
Comment déterminer le serveur SMTP qui sera utilisé dans ce script ?
Il est paramétré dans outlook express


Mais en utilise t'il un ?
Oui celui de outlook express, il suffit juste de créer un compte avec le

serveur SMTP c'est tout.

Perso pour tous mes nouveaux vbscript, j'utilise The bat (découvert ici)
qui lui, est autonome.

@+ Stephane - nit toi ni JCB :-)) désolé

Avatar
Jean-Claude BELLAMY
Dans le message :,
JièL Goubert a pris la peine
d'écrire ce qui suit :
[...]
Une question steuplé (a toi ou JCB)
Comment déterminer le serveur SMTP qui sera utilisé dans ce script ?


Tout dépend de la configuration du poste.
Ce type de paramètre est stocké (ou définissable) dans une instance de la
classe "CDO.Configuration"


Set iConf=CreateObject("CDO.Configuration")
cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
wscript.echo "Serveur SMTP=" & .Item(cdoSmtpserver)

Dans le cas d'un poste client lambda, sans serveur SMTP local, ce sera le
serveur SMTP du compte messagerie par défaut.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
bayosky
Dans le message %,

bonsoir,
Tout dépend de la configuration du poste.
Ce type de paramètre est stocké (ou définissable) dans une instance
de la classe "CDO.Configuration"

Là, j'arrive à comprendre ... mais


Set iConf=CreateObject("CDO.Configuration")
cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
wscript.echo "Serveur SMTP=" & .Item(cdoSmtpserver)


là je ne comprend plus ...
entre autres le .Item( )

Excusez mon ignorance :o(


HB

Avatar
bayosky
Re,

En fait en m'y prenant autrement j'obtient un envoie convenable

Je lance ça :

---------------------------------------------------------------------------
Set objEmail = CreateObject("CDO.Message")

objEmail.From = ""
objEmail.To = ""
objEmail.Subject = "TEST ..."
objEmail.Textbody = "Encore un test"
objEmail.Send

WScript.echo "SendUsing : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/sendusing")
WScript.echo "Serveur : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/smtpserver")
WScript.echo "Port : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/smtpserverport")

WScript.Sleep 3000
WScript.Quit

---------------------------------------------------------------------------
Le message part correctement
et la réponse dans la fenètre est :

SendUsing : 2
Serveur : smtp.wanadoo.fr
port : 25

C'est tout de même pas banal comme façon de récupérer où de mettre des
params
Car , si j'ai bien compris je peux aussi écrire dans les
objEmail.Configuration.Fields.Item(...)
et faire ensuite objEmail.Configuration.Fields.Update
pour modifier les valeurs ...

Il n'ont pas trouvé plus long comme nom d'Item ?

HB
Avatar
JièL Goubert
Bonjoir© Jean-Claude BELLAMY

Merci pour l'info

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Le 15/02/2006 17:05 vous avez écrit... :
Tout dépend de la configuration du poste.
Ce type de paramètre est stocké (ou définissable) dans une instance de la
classe "CDO.Configuration"


Set iConf=CreateObject("CDO.Configuration")
cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
wscript.echo "Serveur SMTP=" & .Item(cdoSmtpserver)

Dans le cas d'un poste client lambda, sans serveur SMTP local, ce sera le
serveur SMTP du compte messagerie par défaut.


Avatar
JièL Goubert
Bonjoir© Stephane

Le 15/02/2006 16:06 vous avez écrit... :
Perso pour tous mes nouveaux vbscript, j'utilise The bat (découvert ici)
qui lui, est autonome.


Merci, c'est vrai que j'ai tendance à l'oublier celui la

@+ Stephane - nit toi ni JCB :-)) désolé


Personne n'est parfait ;-)))

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Jean-Claude BELLAMY
Dans le message :,
bayosky a pris la peine d'écrire ce qui suit :
Dans le message %,

bonsoir,
Tout dépend de la configuration du poste.
Ce type de paramètre est stocké (ou définissable) dans une instance
de la classe "CDO.Configuration"

Là, j'arrive à comprendre ... mais


Set iConf=CreateObject("CDO.Configuration")
cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
wscript.echo "Serveur SMTP=" & .Item(cdoSmtpserver)


là je ne comprend plus ...
entre autres le .Item( )


C'est un bug de ma part, désolé !
Dans mon cscript initial, j'affichais toute une série de paramètres, donc
c'était de la forme :

Set iConf=CreateObject("CDO.Configuration")
cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
cdoSMTPServerPort="http://schemas.microsoft.com/cdo/configuration/smtpserverport"
...
with iConf
wscript.echo "Serveur SMTP=" & .Item(cdoSmtpserver)
wscript.echo "Port SMTP=" & .Item(cdoSmtpServerPort)
...
end with
...

et comme dans mon précédent message, j'ai voulu me limiter au nom du serveur
SMTP, j'ai un peu trop "élagué" de lignes (en particulier le bloc "With" ...
"end with") !

Il fallait donc lire :
wscript.echo "Serveur SMTP=" & iConf.Item(cdoSmtpserver)



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr


Avatar
Jean-Claude BELLAMY
Dans le message :%,
bayosky a pris la peine d'écrire ce qui suit :
Re,

En fait en m'y prenant autrement j'obtient un envoie convenable

Je lance ça :

---------------------------------------------------------------------------
Set objEmail = CreateObject("CDO.Message")

objEmail.From = ""
objEmail.To = ""
objEmail.Subject = "TEST ..."
objEmail.Textbody = "Encore un test"
objEmail.Send

WScript.echo "SendUsing : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/sendusing")
WScript.echo "Serveur : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/smtpserver")
WScript.echo "Port : " & objEmail.Configuration.Fields.Item
_("http://schemas.microsoft.com/cdo/configuration/smtpserverport")

WScript.Sleep 3000
WScript.Quit

---------------------------------------------------------------------------
Le message part correctement
et la réponse dans la fenètre est :

SendUsing : 2
Serveur : smtp.wanadoo.fr
port : 25

C'est tout de même pas banal comme façon de récupérer où de mettre des
params
Car , si j'ai bien compris je peux aussi écrire dans les
objEmail.Configuration.Fields.Item(...)
et faire ensuite objEmail.Configuration.Fields.Update
pour modifier les valeurs ...


EXACTEMENT !


Il n'ont pas trouvé plus long comme nom d'Item ?
Bienvenue au Club !!!!! ;-)


N'aie crante, la 1ère fois que j'ai trouvé çà dans le MSDN, je me suis
demandé si j'étais bien à jeun, si je n'avais pas abusé de la moquette, ....
;-)
Car une valeur de paramètre qui a "la gueule" d'un URL, mais lequel n'existe
pas, çà fait quand même bizarre!


J'ai cherché la "raison d'être" de cette méthode très étrange, et tout ce qu
j'ai pu trouver dasn le MSDN, c'est ceci :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/37be0471-06bd-489d-8bf2-5c22bb7ce17c.asp
masi je ne sui pas plus avancé poru autant !

Une fois de plus, MICROSOFT est TOTALEMENT INCAPABLE d'expliquer simplement
le pourquoi de certaines choses!
L'esprit de synthèse, CONCRET, COMPLET, CONCIS, PRÉCIS, c'est une
composante extra-terrestre chez eux ! :-(

Je n'arrive pas à comprendre cette dichotomie du coté de Redmond :
Ils sont capables de faire de merveilles mais incapables de les
expliquer SIMPLEMENT !



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr

1 2