Rechercher : dans
Par :

Envoyer un mail via un batch dos

Dernière réponse le 6 nov 2008 à 10:07:02 Elcaprio, le 15 jan 2008 à 14:58:46 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Envoyer un mail via un batch dos » dans :
[Langages] Envoyer un mail avec pièce jointe VoirLes mails, tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails nécessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail etc. Elles...
Impossible d'envoyer des mails par smtp.mail.yahoo.fr VoirSymptômes Si vous ne parvenez plus à envoyer du courrier avec le serveur SMTP de Yahoo et que Outlook vous renvoie le message suivant : Échec de la connexion au serveur. Compte : 'pop.mail.yahoo.fr' Serveur : 'smtp.mail.yahoo.fr', Protocole :...

1

toto11, le 15 jan 2008 à 15:26:38
  • +1

Tout simplement avec:
start mailto:adresse@zzzz.com?subject=sujet^&body=CorpsDuMessage

Répondre à toto11

2

Elcaprio, le 15 jan 2008 à 16:12:06

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?

Répondre à Elcaprio

3

Elcaprio, le 16 jan 2008 à 08:57:18

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

Répondre à Elcaprio

4

blux, le 16 jan 2008 à 09:02:47

Salut,

tu peux utiliser blat en ligne de commande. Il suffit de l'installer sur le poste...

http://www.blat.net/

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

5

Elcaprio, le 16 jan 2008 à 09:10:58

Merci, je vais tester!
Sa marche sous tous les NT?

Répondre à Elcaprio

6

blux, le 16 jan 2008 à 09:14:25

Ca marche sous win32 : win 95, 98, me, nt, 2000, xp, 2003...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

7

Elcaprio, le 16 jan 2008 à 09:25:49

Oki merci.
C'est complexe sa mettre en place comme cmd...

Répondre à Elcaprio

8

blux, le 16 jan 2008 à 09:28:15

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

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

Elcaprio, le 17 jan 2008 à 13:59:50
  • +1

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 :-(

Répondre à Elcaprio

10

 movie68, le 6 nov 2008 à 10:07:02

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...

Répondre à movie68
Collection CommentÇaMarche.net