Envoyer un mail via un batch dos

Bonjour,
Voila j'ai un souci, je doit concevoir un petit logiciel (en l'occurence j'ai choisi un batch) pour contrôler les conections distantes dans mon entreprise (1 CPD et 3 CSD... contrôleur principale/secondaire de domaine pour les non initier).
En cas de perte de conection, mon batch doit envoyer un mail sur ma boite mail (nous utilisons lotus notes dans l'entreprise).
Voila ou j'en suis:

@echo off
: boucle

set /a count = count +1
if %count% == 1000 goto :boucle
ping 192.xxx.xxx.xxx
ping 192.xxx.xxx.xxx

rem autant de ping que de CSD

for /f %% a in (ping 192.xxx.xxx.xxx) do set reponce = %%
for /f %% a in (ping 192.xxx.xxx.xxx) do set reponce2 = %%

rem autant de for que de ping

if %reponce% == "délai d'attente de la demande depassé"

A ce niveau la je devrais mettre mon envois de mail, seulement je trouve pas la commande... je terminerais avec un goto :boucle
Je n'ai pas tester les lignes de commande au dessu (ayant mis des variables, je doit les utiliser avec le if avant de tester. )
Merci au personne me répondant!
Je précise que je suis un alternant et donc je n'est pas beaucoup d'experience en programation (j'ai commencer en septembre)
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. tout simplement avec:
    start mailto:adresse@zzzz.com?subject=sujet^&body=CorpsDuMessage
    37
    1. Bonjour , j'ais un probleme avec blat , lorsque j'essaye d'envoyer un mail , il me dit (entre guillemets lol) :
      Error: Can't resolve the hostname

      Je pense qu'il ne trouve pas le serveur smtp , pourtant j'utilise pour l'expediteur et le receptionneur hotmail , et quand j'ai installer blat , j'ai definit le serveur en tans que : smtp.live.fr

      Quelqu'un pourrait il m'eclairer svp ?
      2
      1. Bonsoir,

        je pense que déclarer smtp.live.com fonctionnera mieux que smtp.live.fr...

        Bonne soirée.
        0
    2. merci toto , je vais tester!
      j'été parti sur un truc bien plus compliqué! lol
      je vous tiens au courant.

      edit: 15/01/2008 16h50
      bon aprés avoir tester sa marche pas! cela dit j'ai peut etre mal retranscrit la commande. Je l'ai mise comme suit dans mon batch:

      start mailto: XXX@XXX.fr ?subject="XXX" ^&body= "XXXXXX"

      peut être une erreur de syntaxe?
      1
      1. oki merci.
        C'est complexe sa mettre en place comme cmd...
        1
        1. Modérateur
          Ben oui, mais un email, c'est une suite de paramètres :

          - de qui ?
          - à qui ?
          - qui en copie ?
          - qui en copie cachée ?
          - sujet ?
          - corps du message ?
          - pièces jointes ?
          - nom du serveur d'envoi SMTP
          -1
        2. Hello Elcaprio, j'ai besoin de d'un exemple please ;)

          merci
          0
      2. Bon sa y est blat est installer.
        Voila un bout de mon script:

        ping -n 3 254.254.254.254
        if %ERRORLEVEL% GEQ 3 goto Mail
        :mail
        blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du routeur de Caen"
        blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du routeur de Caen"

        Arrivé là, souci... il envois un mail meme si le ping répond alors qu'il doit l'envoyer qu'en cas de non réponse. (d'ou le IF)

        Ensuite je doit lui dire de tapé dans un autre script pour redescendre la chaine (je ping le routeur en premiers, si pas de réponse l'antivirus, si pas de réponse le switch ect...) Seulement je sais plus la commande pour tapé dans le 2nd scripts :-(
        1
        1. Hello,

          je sais que le sujet date, mais un batch est linéaire, c'est à dire qu'il va regarder ton IF, si la condition est fausse il passera à la ligne suivante, donc il rentrera dans ton label :mail.

          Si la condition est vraie, il fera ce que tu lui as demandé, à savoir aller dans le label :mail.
          Je te conseille de faire ceci :

          ping -n 3 254.254.254.254
          if not %ERRORLEVEL% GEQ 3 goto ok
          blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du routeur de Caen"
          blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du routeur de Caen"
          :ok
          suite du code

          Du coup, si la condition est vrai, il ira dans le label ok et fera la suite du code. Si la condition est fausse, il ira à la ligne suivante et enverra donc les mails. Ensuite il ira dans le label ok et executera la suite du code...
          0
      3. Bon moi je l'utilise, j'ai parametré mes ports etc... et il me rend :

        Error : can't resolve service.


        Alors que j'ai tapé :

        blat essais.txt -to xxxxx@xxxx.fr


        essais.txt est pourtant dans le meme repertoire que blat.exe =s

        help me please
        1
        1. Modérateur
          Tu as quoi comme nom de serveur smtp ?
          0
        2. ben j'utilise ma messagerie hotmail sinon je suis chez darty
          0
        3. Modérateur
          Je ne demande pas ce que tu utilises mais ce que tu as paramétré dans blat, avec blat -install
          0
        4. blat -install xxxxx@hotmail.fr
          0
        5. Modérateur
          Ce que tu as donné, c'est une adresse mail, or celle-ci n'a aucune existance 'légale' en tant que donnée à l'initiative d'une émission de message.
          Il te faut paramétrer le serveur smtp à qui tu va envoyer ton message, pour qu'il le fasse suivre au domaine indiqué dans le champ de l'adresse mail de destination.
          Ca peut-être smtp.hotmail.fr..
          Voir la liste ici :
          https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai
          0
      4. j'ai utilise la commande mailto dans un second batch pour la tester séparement, sa marche mais sa m'ouvre outlook et ensuite il attend que je tape le mail pour l'envoyer. Mon but est d'automatisé l'envoi des mails et donc par consequent de ne passer par aucun logiciel qui me demande une intervention humaine...
        J'ai penser a un netsend seulement mon tuteur tien vraiment a se que se soit un mail et non un message...
        Aidez moi SVP...
        Si on ne peut pas faire par batch pouvez vous me dire quel language correspondrais le mieu et me donner quelques pistes pour arriver a mon objectif (a par le language DOS je ne conais rien)
        Merci de vos réponse
        0
        1. Merci, je vais tester!
          Sa marche sous tous les NT?
          0
          1. Modérateur
            Ca marche sous win32 : win 95, 98, me, nt, 2000, xp, 2003...
            0
          2. moi j'ai tester sa est je trouve toujour pas ou je me trompe parsque la je suis perdu
            blat message.txt -to m********@hotmail.fr -Install smtp.live.com
            0