VBS SendMail par adresse Orange
Linukcs
Messages postés
80
Date d'inscription
Statut
Membre
Dernière intervention
-
Linukcs Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
Linukcs Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de faire un script .VBS afin de pouvoir envoyer du contenu.
J'ai récupéré un script que j'ai légèrement modifié afin de le faire correspondre à mes besoins. Malheureusement, j'ai un problème de taille :
Extrait de la console :
Je ne vois pas d'où le problème peut venir :
- Le port 25 est ouvert
- Le fait de demander une connexion SSL me retourne la même erreur.
- Je peux me connecter au WebMail avec les identifiants présents dans le code
- Il n'existe apparemment pas de cas semblables au mien et, dans d'autres sujets, suggéraient souvent de changer d'opérateur. Étant en entreprise, c'est pas forcément possible ^^°
Savez-vous d'où peut venir le problème ?
Code source de sendmail2.vbs
Merci beaucoup !
<signature>N'oubliez pas le bouton '+' si la réponse vous a aidé !
Je suis en train de faire un script .VBS afin de pouvoir envoyer du contenu.
J'ai récupéré un script que j'ai légèrement modifié afin de le faire correspondre à mes besoins. Malheureusement, j'ai un problème de taille :
Extrait de la console :
sendmail2.vbs(68, 1) (null): Le serveur a rejeté l'adresse de l'expéditeur. La réponse du serveur était : 550 5.1.0 Authentification requise. Authentication Required. OFR102_402 [402]
Je ne vois pas d'où le problème peut venir :
- Le port 25 est ouvert
- Le fait de demander une connexion SSL me retourne la même erreur.
- Je peux me connecter au WebMail avec les identifiants présents dans le code
- Il n'existe apparemment pas de cas semblables au mien et, dans d'autres sujets, suggéraient souvent de changer d'opérateur. Étant en entreprise, c'est pas forcément possible ^^°
Savez-vous d'où peut venir le problème ?
Code source de sendmail2.vbs
' ----------------------------------------------------------
' Script VBS d'envoi de mail en ligne de commande
'
' Syntaxe :
' sendmail -e<expediteur> -d<destinataire> -o<objet> -m<message> [-s] [-p<piece-jointe>]
' sendmail /e<expediteur> /d<destinataire> /o<objet> /m<message> /s<signature> /p<piece-jointe>
' Paramètres obligatoires :
' <expediteur> : adresse email de l'expéditeur
' <destinataire> : adresse email du destinataire
' <objet> : objet (titre) du message
' <message> : corps du message
' Dans le cas d'un message sur plusieurs lignes,
' utiliser la séquence "\n" pour chaque retour à la ligne
' Si le message se réduit à un nom de fichier (existant),
' ce fichier sera lu et constituera le corps du message
' Paramètres facultatifs :
' <signature> : signature (peut-être un nom de fichier texte)
' <piece-jointe> : nom de fichier quelconque en pièce-jointe
' NB : les chaines et nom de fichier sont à encadrer par des guillemets
' s'ils comportent des espaces
''
' JC BELLAMY © 2002
' ----------------------------------------------------------
Dim args, fso, f,shell
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set shell = WScript.CreateObject("WScript.Shell")
Set args = Wscript.Arguments
ForReading=1
nbargs=args.count
defmoteur="cscript"
If nbargs=0 or testarg("?") or testarg("h") Then Syntaxe ""
' Test du moteur utilisé
TestHost
If not testarg("e") then Syntaxe "Email expéditeur absent"
If not testarg("d") then Syntaxe "Email destinataire absent"
If not testarg("o") then Syntaxe "Objet absent"
If not testarg("m") then Syntaxe "Message absent"
Exped=getarg("e")
If not IsValidEmail(Exped) Then Syntaxe "Email expéditeur invalide"
Dest=getarg("d")
If not IsValidEmail(Dest) Then Syntaxe "Email destinataire invalide"
Objet=getarg("o")
Mess=getarg("m")
body=GetString(Mess)
If testarg("s") Then
Sign=getarg("s")
body=body & VBCRLF & GetString(Sign)
End If
Set objEmail = CreateObject("CDO.Message")
objEmail.From = Exped
objEmail.To = Dest
objEmail.Subject = Objet
objEmail.Textbody = body
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[NOM USER]"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "[MOT DE PASSE]"
objEmail.Configuration.Fields.Update
If testarg("p") Then
pj=getarg("p")
If fso.FileExists(pj) Then objEmail.AddAttachment pj
end if
objEmail.Send
Wscript.quit
'--------------------------------------------------------------------
' Sous programme de test du moteur
Sub TestHost
dim rep
strFullName =lcase(WScript.FullName)
strappli=lcase(Wscript.ScriptFullName)
i=InStr(1,strFullName,".exe",1)
j=InStrRev(strFullName,"\",i,1)
strCommand=Mid(strFullName,j+1,i-j-1)
if strCommand<>defmoteur then
rep=MsgBox( _
"Pour faciliter l'affichage, il est recommandé" & VBCRLF & _
"de lancer ce script avec """ & defmoteur & """" & VBCRLF & _
"Cela peut être rendu permanent avec la commande" & VBCRLF & _
"cscript //H:" & defmoteur &" //S /Nologo" & VBCRLF & _
"Voulez-vous que ce soit fait automatiquement?", _
vbYesNo + vbQuestion,strappli)
if rep=vbYes then
nomcmd="setscript.bat"
Set ficcmd = fso.CreateTextFile(nomcmd)
ficcmd.writeline "@echo off"
ficcmd.writeline "cscript //H:" & defmoteur & " //S /Nologo"
ficcmd.writeline "pause"
params=""
For i = 0 To nbargs-1
params=params & " " & args(i)
next
ficcmd.writeline chr(34) & strappli & chr(34) & params
ficcmd.writeline "pause"
ficcmd.close
shell.Run nomcmd, SW_SHOWNORMAL,true
WScript.Quit
end if
end if
end sub
'--------------------------------------------------------------------
Sub Syntaxe(info)
If info="" Then
msg= "Script d'envoi de message (texte) en ligne de commande" & VBCRLF
msg=msg & "JC BELLAMY © 2002" & VBCRLF
Else
msg="*** " & info & " ***" & VBCRLF
End If
msg=msg & "------------------------------------------" & VBCRLF
msg=msg & "Syntaxe : " & VBCRLF
msg=msg & " sendmail -e<expediteur> -d<destinataire> -o<objet> -m<message>" & VBCRLF
msg=msg & " [-s<signature>] [-p<piece-jointe>]" & VBCRLF
msg=msg & " sendmail /e<expediteur> /d<destinataire> /o<objet> /m<message>" & VBCRLF
msg=msg & " /s<signature> /p<piece-jointe>" & VBCRLF
msg=msg & "Paramètres obligatoires :" & VBCRLF
msg=msg & " <expediteur> : adresse email de l'expéditeur" & VBCRLF
msg=msg & " <destinataire> : adresse email du destinataire" & VBCRLF
msg=msg & " <objet> : objet (titre) du message" & VBCRLF
msg=msg & " <message> : corps du message" & VBCRLF
msg=msg & " Dans le cas d'un message sur plusieurs lignes," & VBCRLF
msg=msg & " utiliser la séquence ""\n"" pour chaque retour à la ligne" & VBCRLF
msg=msg & " Si le message se réduit à un nom de fichier (existant)," & VBCRLF
msg=msg & " ce fichier sera lu et constituera le corps du message" & VBCRLF
msg=msg & "Paramètres facultatifs :" & VBCRLF
msg=msg & " <signature> : signature (peut-être un nom de fichier texte)" & VBCRLF
msg=msg & " <piece-jointe> : nom de fichier quelconque en pièce-jointe" & VBCRLF
msg=msg & "NB : les chaines et noms de fichier sont à encadrer par des guillemets" & VBCRLF
msg=msg & " s'ils comportent des espaces" & VBCRLF & VBCRLF
msg=msg & "Exemples :"& VBCRLF
msg=msg & " sendmail -eJean-Claude.Bellamy@wanadoo.fr -dbillg@microsoft.com -o""About VBS""" & VBCRLF
msg=msg & " -m""VBSCript is a\nvery exciting tool!"" -sJCB -pm:\bitmaps\img.gif" & VBCRLF
msg=msg & " sendmail -ejc.bellamy@free.fr -dbillg@microsoft.com -o""More about VBS...""" & VBCRLF
msg=msg & " -m""d:\mes documents\txt\buglist.txt"" -sm:\texte\signature.txt" & VBCRLF & VBCRLF
wscript.echo msg
wscript.quit
End Sub
'--------------------------------------------------------------------
Function IsValidEmail(str)
Dim re
Set re = New RegExp
re.pattern = "\w+\@[.\w]+" 'Modèle du style "nnnnnn@dddddd"
IsValidEmail=re.Test(str)
End Function
'--------------------------------------------------------------------
Function testarg(param)
testarg=false
For i = 0 To nbargs-1
curarg=lcase(args(i))
If left(curarg,1)="/" or left(curarg,1)="-" Then
If mid(curarg,2,len(param))=param Then
testarg=true
exit function
End If
End If
Next
End Function
'--------------------------------------------------------------------
Function getarg(param)
getarg=""
For i = 0 To nbargs-1
curarg=lcase(args(i))
If left(curarg,1)="/" or left(curarg,1)="-" Then
If mid(curarg,2,len(param))=param Then
ch=mid(args(i),2+len(param))
If (left(ch,1)="""") and (right(ch,1)="""") Then ch=mid(ch,2,len(ch)-2)
getarg= ch
exit function
End If
End If
Next
End Function
'--------------------------------------------------------------------
Function GetString(str)
dim f
If fso.FileExists(str) Then
set f=fso.OpenTextFile(str,ForReading)
GetString=f.ReadAll
f.Close
else
GetString=Replace(str,"\n",VBCRLF,1,-1,1)
End If
End Function
'--------------------------------------------------------------------
Merci beaucoup !
<signature>N'oubliez pas le bouton '+' si la réponse vous a aidé !
A voir également:
- VBS SendMail par adresse Orange
- Darkino nouvelle adresse - Guide
- Adresse mac - Guide
- Vbs windows - Accueil - Optimisation
- Changer adresse dns - Guide
- Adresse url - Guide