Sauvegarde avec envoi de mail pour confirmation?

Le Forum Windows XP
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar pcsystemd » 24 Juil 2007, 11:03

Apparement quand j'essaie de m'envoyer un mail a partir d'une fenêtre DOS, en utilisant sendmail j'ai un message d'erreur et je ne reçois rien :
ma ligne est :

Code: Tout sélectionner
sendmail /s smtp.free.fr /f toto@emple.fr /t titi@emple.fr /j ceci est un test /m Bonjour

et le message d'erreur est :

Code: Tout sélectionner
Must specify server

et bien sur je ne reçois pas de mail.
Dernière édition par pcsystemd le 24 Juil 2007, 11:05, édité 1 fois au total.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar JoShuA » 24 Juil 2007, 19:15

Pourtant ca fonctionne très bien

Code: Tout sélectionner
C:Documents and SettingsJoShuA>sendmail /s smtp.free.fr /f server@***********.com /t joshua@**********.com /j "ceci est un test" /m test
Free SendMail v0.1 Beta, (c) J. Wood Software Services LLC
http://dotnetjunkies.com/weblog/johnwood
Message sent.

C:Documents and SettingsJoShuA>

Je recois bien le mail

Code: Tout sélectionner
Received: from mailsrv.********.com ([***.***.***.***])
        by front-mail.********.com (Postfix) with ESMTP id 1WH22349
        for <joshua@********.com>; Tue, 24 Jul 2007 20:09:11 +0200
Received: from localhost (localhost [127.0.0.1])
   by mailsrv.********.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id l6OI9qHH011847
   for <joshua@********.com>; Tue, 24 Jul 2007 20:09:52 +0200
Received: from mailsrv.********.com ([127.0.0.1])
by localhost (mailsrv [127.0.0.1]) (amavisd-new, port 10024) with LMTP
id 11554-05 for <joshua@********.com>;
Tue, 24 Jul 2007 20:09:48 +0200 (CEST)
Received: from smtp8-g19.free.fr (smtp8-g19.free.fr [212.27.42.65])
   by mailsrv.********.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id l6OI9YD8011841
   for <joshua@********.com>; Tue, 24 Jul 2007 20:09:35 +0200
Received: from smtp8-g19.free.fr (localhost [127.0.0.1])
   by smtp8-g19.free.fr (Postfix) with ESMTP id D80C31CD19
   for <joshua@********.com>; Tue, 24 Jul 2007 20:08:52 +0200 (CEST)
Received: from ************** (ns1********.com [***.***.***.***])
   by smtp8-g19.free.fr (Postfix) with SMTP id 9B3711CC0F
   for <joshua@********.com>; Tue, 24 Jul 2007 20:08:52 +0200 (CEST)
thread-index: AcfOHeFi8eciW4BkTuqFoon2QIKCzg==
Thread-Topic: ceci
From: <server@********.com>
To: <joshua@********.com>
Subject: ceci
Date: Tue, 24 Jul 2007 20:10:13 +0200
Message-ID: <000001c7ce1d$e1a55230$dc00a8c0@***********>
MIME-Version: 1.0
Content-Type: text/plain;   charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
X-Virus-Scanned: by amavisd-new at ********.com
X-Spam-Status: No, hits=-0.1 tagged_above=-999.0 required=1.9 tests=AWL,  BAYES_40, NO_REAL_NAME
X-Spam-Level:
X-Envelope-To: <joshua@********.com>

fichier test
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar pcsystemd » 25 Juil 2007, 06:47

Bon j'ai testé de nouveau en local sur mon poste et c'est ok, je ne sais pas ce qui c'est passé les premieres fois. Il faut que je test sur les postes distant maintenant.

J'ai encore une question mais je suis un peu honteux car je ne voudrais pas abuser de ta gentillesse.

Est il possible dans mon fichier d'ajouter une fonction qui m'envoi egalement le mail quand la fenetre DOS qui s'ouvre est fermée par un utilisateur?
Je m'explique quand le fichier bat se lance une fenetre DOS se reduit dans la barre de tache puis se ferme une fois que la sauvegarde est finie mais souvent l'utilisateur du poste ferme cette fenêtre et don la sauvegarde ne va pas jusqu'au bout. Je souhaiterais donc recevoir un mail qui me l'indique.

Merci milles fois car je ne te cache pas que j'ai posté sur plusieurs forums et tu es le seul a m'avoir mis sur un réel chemin de réponse. Image
Dernière édition par pcsystemd le 25 Juil 2007, 07:58, édité 1 fois au total.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar JoShuA » 25 Juil 2007, 19:28

Non ce n'est pas possible

par contre pour faire ce que tu souhaites (empêcher l'utilisateur de fermer la fenêtre) il va falloir passer à un langage plus évolué que le batch du dos.
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar pcsystemd » 26 Juil 2007, 06:12

Ok merci beaucoup.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar pcsystemd » 27 Juil 2007, 11:38

Bon après mes différents test , tout est bon mais par contre je ne reçois pas le mail.

Effectivement en local dans une fenetre DOS cela fonctionne je reçois un mail, mais quand j'execute le fichier BAT je ne reçois pas le mail.

J'ai fait en sorte de créer une erreur (lecteur introuvable) comme indiquer dans le fichier backup.log dont voici le contenu :

Sp‚cification du lecteur non valide
Sp‚cification du lecteur non valide
Sp‚cification du lecteur non valide
Adresse ip du poste 192.168.x.x Masque du poste 255.255.255.0

Je précise, sendmail.exe est bien dans le PATH (Windowssystem32), j'ai bien configurer le smtp et le mail.
Je joins le contenu de mon fichier BAT :

Code: Tout sélectionner
:: ^01 est remplace par le nom de la machine server

@echo off
@prompt $s

::declaration variables
::exemple_path variable à modifier pour changer le chemin du dossier exemple
@set exemple_path=program filesexemple
@set exemple_srv_path=^01

:: Mail
@set mail_server=smtp.exemple.fr
@set mail_to=toto@exemple.com
@set mail_from=%COMPUTERNAME%@exemple.fr

if exist "C:%exemple_path%BatCourantSecours.bat" goto C00
if exist "D:%exemple_path%BatCourantSecours.bat" goto D00

@set ERREUR=0

:C00
@ECHO .       [-------------------------------------------------------]
@ECHO .       [ Secours.bat                                           ]
@ECHO .       [                                                       ]
@ECHO .       [ Copie de fichiers en cours                            ]
@ECHO .       [ Veuillez patienter...                                 ]
@ECHO .       [-------------------------------------------------------]
@XCOPY \%exemple_srv_path%exemple*.* "C:%exemple_path%Secours" /S /E /D /C /Y  2> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%photos*.* "C:%exemple_path%Secours" /S /E /D /C /Y 2>> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%documents*.* "C:%exemple_path%Secours" /S /E /D /C /Y 2>> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@ECHO .       [-------------------------------------------------------]
@ECHO .       [ Secours.bat                                           ]
@ECHO .       [                                                       ]
@ECHO .       [ Operation terminee                                    ]
@ECHO .       [-------------------------------------------------------]
GOTO IP
:D00
@ECHO .       [-------------------------------------------------------]
@ECHO .       [ Secours.bat                                           ]
@ECHO .       [                                                       ]
@ECHO .       [ Copie de fichiers en cours                            ]
@ECHO .       [ Veuillez patienter...                                 ]
@ECHO .       [-------------------------------------------------------]
@XCOPY \%exemple_srv_path%Naxos*.* "D:%exemple_path%Secours" /S /E /D /C /Y 2> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%photos*.* "D:%exemple_path%Secours" /S /E /D /C /Y 2>> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%documents*.* "D:%exemple_path%Secours" /S /E /D /C /Y 2>> %TMP%backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@ECHO .       [-------------------------------------------------------]
@ECHO .       [ Secours.bat                                           ]
@ECHO .       [                                                       ]
@ECHO .       [ Operation terminee                                    ]
@ECHO .       [-------------------------------------------------------]
GOTO IP

::Recupere IP du poste

:IP
for /F "delims=," %%i in ('ipconfig /all^|find "Adresse IP"') do set ADRIP=%%i
set ADRIP=Adresse ip du poste %ADRIP:~44,15%
for /F "delims=," %%i in ('ipconfig /all^|find "Masque de"') do set MASQUE=%%i
set MASQUE=Masque du poste %MASQUE:~44,15%
echo %ADRIP% %MASQUE% >> %TMP%backup.log

IF %ERREUR% LSS 1 GOTO QUIT

@set YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%

:: Envoi du mail si erreurs

sendmail /s %mail_server% /f %mail_from% /t %mail_to% /j "[%COMPUTERNAME%] Erreur execution du Secours.bat %YYYYMMDD% " /m %TMP%backup.log GOTO END

:QUIT
:END

Avez vous une idée?

Merci
Dernière édition par pcsystemd le 28 Juil 2007, 23:12, édité 1 fois au total.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar JoShuA » 27 Juil 2007, 18:09

Il ne manque rien dans ton batch car il y a quelques "étrangetées" Image

Sinon si tu mets une pause après le sendmail (et avant le goto de fin de ligne ????) y-a-t-il un message d'erreur ?
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar pcsystemd » 28 Juil 2007, 16:10

Bon voila j'ai mis comme tu me l'indique une PAUSE et voila le résultat effectivement j'ai un souci a l'envoi du mail comme on peux voir dans l'image :

Image

Par contre que veux tu dire par

Il ne manque rien dans ton batch car il y a quelques "étrangetées"

car j'ai un peu regardé et je ne vois rien d'étrange!!!

As tu une idée?

Merci
Dernière édition par pcsystemd le 28 Juil 2007, 16:12, édité 1 fois au total.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar JoShuA » 28 Juil 2007, 16:18

Bonjour

* le GOTO à la fin du sendmail

* pourquoi mettre deux flags :

:QUIT
:END

à la suite

* le @ au début de chaque ligne ne sert à rien à partir du moment où tu mets @echo off au début

...
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar pcsystemd » 28 Juil 2007, 20:12

Bonsoir,

finalement j'ai trouvé ce qui gênait l'envoi c'était les crochets de [%COMPUTERNAME%] dans /j. Je les ai retiré et plus de problème tout fonctionne.

Encore merci a toi . Image
Dernière édition par pcsystemd le 28 Juil 2007, 23:11, édité 1 fois au total.
pcsystemd
 
Messages: 14
Inscrit le: 22 Juil 2007, 13:35

Messagepar JoShuA » 28 Juil 2007, 20:56

Aucun soucis chez moi avec ton script :

Code: Tout sélectionner
C:Documents and SettingsJoShuA>XCOPY \%exemple_srv_path%documents*.* "D:%e
xemple_path%Secours" /S /E /D /C /Y 2>> %TMP%backup.log
0 File(s) copied

C:Documents and SettingsJoShuA>type %TMP%backup.log
Invalid drive specification
Invalid drive specification

C:Documents and SettingsJoShuA>set mail_server=***.***.***.***

C:Documents and SettingsJoShuA>set mail_to=joshua@******.com

C:Documents and SettingsJoShuA>set mail_from=%COMPUTERNAME%@********.com

C:Documents and SettingsJoShuA>sendmail /s %mail_server% /f %mail_from% /t %ma
il_to% /j "[%COMPUTERNAME] Erreur execution du Secours.bat %YYYYMMDD% " /m %TMP%
backup.log
Free SendMail v0.1 Beta, (c) J. Wood Software Services LLC
http://dotnetjunkies.com/weblog/johnwood
Message sent.

C:Documents and SettingsJoShuA>

et j'ai bien recu le mail ...
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Précédent

Retour vers Windows XP

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 7 invités

  •  Liens commerciaux



cron