[RÉSOLU][BATCH] Envoyer le résultat d'une commande par mail

Bonjour a tous,

Je voudrai faire un petit batch qui lancerai une commande et enverrai le résultat par email (en telnet via SMTP)
il ne doit pas avoir de manipulation a faire sur le serveur le batch se lancera au boot de la machine

Alors dans la théorie ça donnerai ça :

commande.exe > $variable1 telnet smtp.server.fr 25 MAIL FROM: adresse@client.fr RCPT TO: mon@adresse.fr DATA Subject: Objet du message $variable1 (récupérée depuis la commande) . QUITtout ca c’est bien sur de la théorie je ne sait comment le rendre concret.

Vous avez une idée ? (meme autrement qu’en batch)

Merci :slight_smile:
Ben

EDIT : Je précise que c’est pour que le client envoi son ip publique a chaque connexion (la commande sera surement « tracert -d -h 2 google.com »)

[quote=« AcidBen, post:1, topic: 49482 »]Bonjour a tous,

Je voudrai faire un petit batch qui lancerai une commande et enverrai le résultat par email (en telnet via SMTP)
il ne doit pas avoir de manipulation a faire sur le serveur le batch se lancera au boot de la machine

Alors dans la théorie ça donnerai ça :

commande.exe > $variable1 telnet smtp.server.fr 25 MAIL FROM: adresse@client.fr RCPT TO: mon@adresse.fr DATA Subject: Objet du message $variable1 (récupérée depuis la commande) . QUITtout ca c’est bien sur de la théorie je ne sait comment le rendre concret.

Vous avez une idée ? (meme autrement qu’en batch)

Merci :slight_smile:
Ben

EDIT : Je précise que c’est pour que le client envoi son ip publique a chaque connexion (la commande sera surement « tracert -d -h 2 google.com »)[/quote]

On utilise postie pour un truc ressemblant. Marche bien, pas grand chose à dire.

Super Arkhatope, bien mieux que le vieux trick du SMTP en Telnet,

ca ressemble a :

@echo off tracert -d -h 2 google.com > ip.txt postie -host:smtp.free.fr -port:25 -to:adresse@destinataire.com -from:adresse@.fr -s:Sujet -file:ip.txt

Ca me met une erreur « accès refusé » mais le mail passe quand meme :slight_smile:
Parcontre l’ip n’est pas bonne ca me donne le NRA (je pense x.x.x.254 au lieu de l’ip publique demandée)…

Et encore merci a toi Arkhatope si quelqu’un sait comment récupérer la vrai ip publique en ligne de commande je prend (j’ai vu pas mal de solutions mais sous linux…).
Ben

[quote=« AcidBen, post:3, topic: 49482 »]Super Arkhatope, bien mieux que le vieux trick du SMTP en Telnet,

ca ressemble a :

@echo off tracert -d -h 2 google.com > ip.txt postie -host:smtp.free.fr -port:25 -to:adresse@destinataire.com -from:adresse@.fr -s:Sujet -file:ip.txt

Ca me met une erreur « accès refusé » mais le mail passe quand meme :slight_smile:
Parcontre l’ip n’est pas bonne ca me donne le NRA (je pense x.x.x.254 au lieu de l’ip publique demandée)…

Et encore merci a toi Arkhatope si quelqu’un sait comment récupérer la vrai ip publique en ligne de commande je prend (j’ai vu pas mal de solutions mais sous linux…).
Ben[/quote]

Content d’avoir pu t’aider. Concernant l’ip, il me semble qu’il y a une méthode en lisant la 3eme ligne d’un ipconfig, mais je serais bien incapable de te sortir la syntaxe.

non je pense pas ipconfig c’est la configuration réseau de la machine locale qui, derrière un routeur (une box), ne connait pas le WAN.

Par contre j’ai fait une bidouille avec WGET pour windows :slight_smile: et un script PHP

la ligne WGET :
wget -O - -q leserveur.fr/ip.php > ip

le script ip.php :

<?php $date = date("D d F Y - H:i:s"); echo "$REMOTE_ADDR
$date"; ?>

Et ca marche, avec cette méthode j’ai même la date de l’heure de chaque connexions, la vie est belle :crying:

Donc pour els curieux je récapitule le batch complet :

@echo off wget -O - -q leserveur.fr/ip.php > ip.txt postie -host:smtp.free.fr -port:25 -to:adresse@destinataire.com -from:adresse@.fr -s:Sujet -file:ip.txt

Ceux qui ne voudrons pas passer par le script PHP on peut utiliser un site comme http://www.monip.org/ a la place du script php (mais on a pas la date du coup)
Fin bref RÉSOLU :cry:

Nous on utilise Blat.