Bonjour,

Donc je suis entrain de mettre un place un script qui sauvegarde un ordinateur avec présence de log si cette sauvegarde échoue je veut envoyé un email et c'est là que ça plante. j'ai récupérer un script pour l'envoie des email qui fonctionne très bien puis je l'ai incorporé à mon script :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
'Renomage du fichier de log---------------V
ON ERROR RESUME NEXT
for i = 1 to 10
	'wscript.echo i
	Set fso=CreateObject("Scripting.FileSystemObject")
	fso.CopyFile "C:\Documents and Settings\Aurelien\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup0" & i &".log", "C:\Documents and Settings\Aurelien\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup.log",TRUE
next
 
'Convertion du fichier de USC-2 à UTF-8---------------V
Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "cmd /c iconv -f UCS-2-INTERNAL -t UTF-8 ""C:\Documents and Settings\Aurelien\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup.log"" > ""C:\Documents and Settings\Aurelien\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup2.log""", 0, True
'MsgBox "Conversion Finie"
Set wshShell = Nothing
 
 
 
'Lecture du fichier & envoie de mail---------------V
mot1 = "L'opération ne s'est pas terminée correctement."
mot2 = "L'opération n'a pas été effectuée car le média spécifié n'a pas été trouvé."
fichier_lecture_1 = "C:\Documents and Settings\Aurelien\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup2.log"
'wscript.echo fichier_lecture_1
Set fso = CreateObject("Scripting.FileSystemObject")
set fichier_lecture_2 = fso.opentextfile(fichier_lecture_1, 1, true, ModeUnicode)
do until fichier_lecture_2.atendofstream
chaine = fichier_lecture_2.readline()
'wscript.echo chaine
if instr(1, chaine, mot1) > 0 then
'wscript.echo "mail en cour"
'Si erreur envoie d'un email
	Public Sub SendMail(Expediteur,Destinataire,Sujet,Message,Smtp,Port)
		Set Mail = CreateObject("CDO.Message")
		With Mail
			.From=Expediteur
			.To=Destinataire
			.Subject=Sujet
			.TextBody=Message
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Smtp
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
			.Configuration.Fields.Update
			.Send
		End With
	End Sub
	SendMail "aurelien@aide-info.fr","aurelien@aide-info.fr","Erreur","Erreur","smtp.orange.fr","25"
	wscript.echo "mail finis"
Elseif
if instr(1, chaine, mot2) > 0 then
'wscript.echo "mail en cour"
'Si erreur envoie d'un email
	Public Sub SendMail(Expediteur,Destinataire,Sujet,Message,Smtp,Port)
		Set Mail = CreateObject("CDO.Message")
		With Mail
			.From=Expediteur
			.To=Destinataire
			.Subject=Sujet
			.TextBody=Message
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Smtp
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
			.Configuration.Fields.Update
			.Send
		End With
	End Sub
	SendMail "ScriptSAV@noreply.net","aurelien@aide-info.fr","Erreur de sauvegarde","Erreur de sauvegarde","smtp.orange.fr","25"
	'wscript.echo "mail finis"
end if
loop
fichier_lecture_2.close 
set fichier_lecture_2 = nothing
set fso = nothing
Mais lorsque je le lance j'ai une erreur ligne 30 caractère 9 : erreur de syntaxe

Et lorsque je texte la function SendMail seule pas de problème
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
	Public Sub SendMail(Expediteur,Destinataire,Sujet,Message,Smtp,Port)
		Set Mail = CreateObject("CDO.Message")
		With Mail
			.From=Expediteur
			.To=Destinataire
			.Subject=Sujet
			.TextBody=Message
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Smtp
			.Configuration.Fields.Item _
			("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
			.Configuration.Fields.Update
			.Send
		End With
	End Sub
	SendMail "ScriptSAV@noreply.net","aurelien@aide-info.fr","Erreur de sauvegarde","Erreur de sauvegarde","smtp.orange.fr","25"
Donc je comprend vraiment pas pourquoi.
Merci d'avance pour vos réponses.

PS: je suis pas très fort en vb la plupart du script sont des reprisent de différentes solution trouvé sur le net.
PS2 : ce n'est q'un morceau du script, il est composé de trois fichiers en entier.