Enviar un correo electrónico a través de un batch de DOS

Elcaprio Mensajes publicados 73 Estado Miembro -  
X.A.N.A. Mensajes publicados 216 Estado Miembro -
Bonjour,
Voici un problema que tengo, debo diseñar un pequeño software (en este caso elegí un batch) para controlar las conexiones remotas en mi empresa (1 CPD y 3 CSD... controlador principal/secundario de dominio para los no iniciados).
En caso de pérdida de conexión, mi batch debe enviar un correo a mi buzón de correo (utilizamos Lotus Notes en la empresa).
Aquí es donde estoy:

@echo off
:bucle

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

rem tantos pings como CSD

for /f %%a in (ping 192.xxx.xxx.xxx) do set respuesta=%%
for /f %%a in (ping 192.xxx.xxx.xxx) do set respuesta2=%%

rem tantos for como pings

if %respuesta% == "tiempo de espera de la solicitud agotado"

A este nivel debería poner mi envío de correo, solo que no encuentro el comando... terminaré con un goto :bucle
No he probado las líneas de comando de arriba (habiendo puesto variables, debo usarlas con el if antes de probar).
¡Gracias a las personas que me respondan!
Aclaro que soy un aprendiz y por tanto no tengo mucha experiencia en programación (comencé en septiembre)
Configuración: Windows XP Internet Explorer 6.0

9 respuestas

  1. toto11
     
    tout simplement avec:
    start mailto:adresse@zzzz.com?subject=asunto^&body=CuerpoDelMensaje
    37
  2. Iamthenerevar
     
    Hola, tengo un problema con blat, cuando intento enviar un correo, me dice (entre comillas, jaja):
    Error: No se puede resolver el nombre del servidor

    Creo que no encuentra el servidor smtp, aunque estoy usando hotmail tanto para el remitente como para el receptor, y cuando instalé blat, definí el servidor como: smtp.live.fr

    ¿Alguien podría aclararme, por favor?
    2
    1. movie68
       
      Buenas noches,

      creo que declarar smtp.live.com funcionará mejor que smtp.live.fr...

      Que tengas una buena noche.
      0
  3. Elcaprio Mensajes publicados 73 Estado Miembro 4
     
    gracias toto, ¡voy a probar!
    me había complicado mucho más con esto! jaja
    les mantendré informados.

    editar: 15/01/2008 16h50
    bueno, después de probar no funciona! aunque puede que haya retransmitido mal el comando. Lo he puesto así en mi batch:

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

    ¿quizás un error de sintaxis?
    1
  4. Elcaprio Mensajes publicados 73 Estado Miembro 4
     
    oki gracias.
    Es complejo ponerlo en marcha como cmd...
    1
    1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      Claro, pero un correo electrónico es una serie de parámetros:

      - ¿de quién?
      - ¿a quién?
      - ¿quién está en copia?
      - ¿quién está en copia oculta?
      - ¿asunto?
      - ¿cuerpo del mensaje?
      - ¿adjuntos?
      - ¿nombre del servidor de envío SMTP?

      --

      A+ Blux
       "Los idiotas, se atreven a todo. Es incluso por eso que los reconocemos"
      -1
    2. boby
       
      Hola Elcaprio, necesito un ejemplo por favor ;)

      gracias
      0
  5. Elcaprio Mensajes publicados 73 Estado Miembro 4
     
    Bueno, ya está instalado blat.
    Aquí hay un fragmento de mi script:

    ping -n 3 254.254.254.254
    if %ERRORLEVEL% GEQ 3 goto Mail
    :mail
    blat message.txt -to xxx-xxx@xxx.fr -s "error de red en el nivel del enrutador de Caen"
    blat message.txt -to xxx-xxx@xxx.fr -s "error de red en el nivel del enrutador de Caen"

    Hasta aquí, hay un problema... envía un correo electrónico incluso si el ping responde cuando debería enviarlo solo en caso de no respuesta. (de ahí el IF)

    Luego debo indicarle que ejecute otro script para continuar la cadena (pingueo el enrutador primero, si no hay respuesta el antivirus, si no hay respuesta el switch, etc...) Solo que no recuerdo el comando para ejecutar el segundo script :-(
    1
    1. movie68
       
      Hola,

      sé que el tema es antiguo, pero un batch es lineal, es decir, mirará tu IF, si la condición es falsa pasará a la línea siguiente, así que entrará en tu etiqueta :mail.

      Si la condición es verdadera, hará lo que le has pedido, es decir, irá a la etiqueta :mail.
      Te aconsejo que hagas lo siguiente:


      ping -n 3 254.254.254.254
      if not %ERRORLEVEL% GEQ 3 goto ok
      blat message.txt -to xxx-xxx@xxx.fr -s "error de red en el router de Caen"
      blat message.txt -to xxx-xxx@xxx.fr -s "error de red en el router de Caen"
      :ok
      continuación del código

      Entonces, si la condición es verdadera, irá a la etiqueta ok y hará la continuación del código. Si la condición es falsa, irá a la siguiente línea y enviará los correos. Luego irá a la etiqueta ok y ejecutará la continuación del código...
      0
  6. X.A.N.A. Mensajes publicados 216 Estado Miembro 19
     
    Bueno, yo lo utilizo, he configurado mis puertos, etc., y me devuelve:

    Error: no se puede resolver el servicio.


    Mientras que escribí:

    blat essais.txt -to xxxxx@xxxx.fr


    ensayos.txt está en el mismo directorio que blat.exe =s

    ayúdame por favor.
    1
    1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      ¿Qué nombre de servidor SMTP tienes?
      0
    2. X.A.N.A. Mensajes publicados 216 Estado Miembro 19
       
      Bueno, uso mi correo de Hotmail, si no estoy en Darty.
      0
    3. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      No pregunto qué usas, sino qué has configurado en blat, con blat -install.
      0
    4. X.A.N.A. Mensajes publicados 216 Estado Miembro 19
       
      blat -instalar xxxxx@hotmail.fr
      0
    5. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      Lo que has dado es una dirección de correo electrónico, pero esta no tiene ninguna existencia 'legal' como dato en la iniciativa de emisión de un mensaje.
      Necesitas configurar el servidor SMTP al que vas a enviar tu mensaje, para que lo reenvíe al dominio indicado en el campo de la dirección de correo electrónico de destino.
      Puede ser smtp.hotmail.fr..
      Consulta la lista aquí:
      https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai
      0
  7. Elcaprio Mensajes publicados 73 Estado Miembro 4
     
    He utilizado el comando mailto en un segundo batch para probarlo por separado, funciona, pero me abre Outlook y luego espera que escriba el correo para enviarlo. Mi objetivo es automatizar el envío de correos y, por lo tanto, no pasar por ningún software que requiera intervención humana...
    He pensado en un netsend, pero mi tutor está muy interesado en que sea un correo y no un mensaje...
    Ayúdame, por favor...
    Si no se puede hacer con batch, ¿podrías decirme qué lenguaje sería el más adecuado y darme algunas pistas para lograr mi objetivo (aparte del lenguaje DOS, no conozco nada)
    Gracias por tus respuestas.
    0
  8. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
     
    Hola,

    puedes usar blat en la línea de comandos. Solo tienes que instalarlo en el equipo...

    http://www.blat.net/

    --

    ¡A+ Blux
     "Los tontos se atreven a todo. Es incluso por eso que los reconocemos"
    0
  9. Elcaprio Mensajes publicados 73 Estado Miembro 4
     
    ¡Gracias, voy a probar!
    ¿Funciona en todos los NT?
    0
    1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      Funciona en win32: win 95, 98, me, nt, 2000, xp, 2003...

      --

      A+ Blux
       "Los idiotas se atreven a todo. Es incluso por eso que los reconocemos"
      0
    2. bebeflood
       
      Yo he probado eso y siempre me parece que me estoy equivocando porque ahora estoy perdido
      blat mensaje.txt -to m********@hotmail.fr -Install smtp.live.com
      0