Enviar y Recibir Correos en Batch usando VBS[APLICACION CHAT TERMINADA]

Iniciado por EddyW, 17 Junio 2009, 18:46 PM

0 Miembros y 1 Visitante están viendo este tema.

EddyW

Enviar y recibir correos via Batch

Originalmente Posteado en CPH, decidi compartilo aqui tambien...

Cada cierto tiempo siempre sale la misma pregunta, asi que el proposito de este post es..
Terminar con esas preguntas.., aqui expondre maneras de enviar o mejor dicho crear nuestro servidor de mails..
Ok, para los que lo adivinaron, con algo de Scripts VBS, el que se sabe otra manera bien por el..
Una manera de hacerlo es por FTP pero tendrias que exponer tu password en code abierto..
Algo muy malo  :-[ por que darias tu pass..

El metodo es sencillo..:
Comenzamos por crearnos un servidor de correos..  ;D

Paso 1
Usamos un sitio web de miarroba (Es el unico que conozco bien..)
Creamos un Sitio si no tenemos..
Nos vamos a "Administrar" de nuestro sitio..
Luego nos vamos a "Preferencias" y ahi activamos todo lo que diga PHP, incluyendo control de errores..

Paso 2
Creamos un PHP con el siguiente code (En nuestro sitioweb):
Código (php) [Seleccionar]
<?php
$id
=$_GET['mail'];
$master=fopen('mail.txt',a);
fwrite($master,"
"
.$id);
fclose($master);
?>

Yo lo guardo como "mail.php" para mas comodidad..

Hasta aqui ya creamos nuestro servidor de correos..
Ahora es solo añadir dos Code a nuestro Batch, 1 para leer los Mail y otro para enviar mails..

Enviar mail
Para enviar mail solo agregar este code ha su Batch:
Código (dos) [Seleccionar]
(
echo URLSend = wscript.arguments(0^)
echo MSG = wscript.arguments(1^)
echo Set SendMail = CreateObject("InternetExplorer.Application"^)
echo SendMail.Navigate URLSend ^& MSG
echo.
echo Do While SendMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
)>Mail.vbs

Este es el code que genera el Script que enviara los datos al servidor..
Para llamarlo es facil lo hacemos con un:
Código (dos) [Seleccionar]
CScript //nologo Mail.Vbs "http://[www].webcindario.com/[PHP].php?mail=" "Mensaje ha Enviar"
El [PHP] debe venir el nombre del PHP como le pusieron por ejemplo si le pusiron mail.php debe ser asi el code:
Código (dos) [Seleccionar]
CScript //nologo Mail.Vbs "http://[www].webcindario.com/mail.php?mail=" "Mensaje ha Enviar"
Con eso enviamos un mensaje a nuestro server, quien creara un archivo llamado "mail.txt"
Que contendra los mensajes que le enviemos..
Si quieren ver sus mensajes recibidos desde el IExplorer lo hacen asi:
Código (dos) [Seleccionar]
http://[www].webcindario.com/mail.txt
Esto fue para enviar un mensaje a nuestro servidor..
Ahora..,

Leer Mails
Bien pues aqui tambien debemos de añadir este code a nuestro Batch..
Que es el encargado de leer los mails recibidos en el servidor..
Código (dos) [Seleccionar]
(
echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
echo URLRead = wscript.arguments(0^)
echo ReadMail.Open "Get", URLRead
echo ReadMail.Send
echo Do While ReadMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
echo wscript.Echo ReadMail.ResponseText
)>Mail.vbs

Ahora para leer con el Batch nuestros mails recibidos ejecutamos el Script de la siguiente manera:
Código (dos) [Seleccionar]
CScript //nologo Mail.Vbs "http://[www].webcindario.com/mail.txt"
El metodo es sencillo, bueno espero.., disculpen si parace que lo escribi rapido o algo asi..
es que me entro sueño y no puedo mas.., mañana o cuando pueda posteo una aplicacion Chat
que casi esta terminada atraves de este metodo.., espero les guste y le hayan entendido, cualquier duda posteen..  ;)

EDIT:
ChatBox - BY 3D1 (Por Fin la aplicacion Chat Terminada)
Aqui os mostrare con este ejemplo o mejor dicho una aplicacion ya terminada de Chat el uso de los Script Mensionados para enviar y recibir mensajes..
Solo aclarar donde nos pide "Servidor" debe de ser solo el nombre.., por ejemplo http://www.google.com nada mas sin aumentar "/" al final, solo asi..
Luego en Nick eso creo que no se debe de explicar..
Bueno sin nada mas que decir aqui el code:
Código (dos) [Seleccionar]
@echo off
title .:Cargando...:.
cls
reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
cls

if exist "screen.size" (goto :Cnt)
@mode con cols=14 lines=1
echo Existes>"screen.size"
Reg export HKCU\Console Backup.reg>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 48 /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 600000 /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 700 /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v ScreenBufferSize /t REG_DWORD /d 13107280 /f>nul
Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /t REG_DWORD /d 0 /f>nul
Ping -n 1 0.0.0.0 >nul 2>&1
start %comspec% /c %0
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /f>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /f>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /f>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /f>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /f>nul
Reg import Backup.reg>nul
Del /Q "screen.size">nul
Del /Q "Backup.reg">nul
exit

:Cnt
color 0A
@Echo Off
@Title .:: ChatBox BY 3D1 ::.
(
echo URLSend = wscript.arguments(0^)
echo MSG = wscript.arguments(1^)
echo Set SendMail = CreateObject("InternetExplorer.Application"^)
echo SendMail.Navigate URLSend ^& MSG
echo Do While SendMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
)>%tmp%\SendMail.vbs
(
echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
echo URLRead = wscript.arguments(0^)
echo ReadMail.Open "Get", URLRead
echo ReadMail.Send
echo Do While ReadMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
echo wscript.Echo ReadMail.ResponseText
)>%tmp%\ReadMail.vbs
Del /Q /F %tmp%\keyboard.dat
Del /Q /F %tmp%\key.exe
Del /Q /F %tmp%\AddKey.bat
set Dir=%cd%\
cd %tmp%\
(
echo n keyboard.dat
echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo rcx
echo 002E
echo w0
echo q
echo.
)>%tmp%\keyboard.dat
echo type %tmp%\keyboard.dat^|debug>%tmp%\AddKey.bat
echo ren %tmp%\keyboard.dat key.exe>>%tmp%\AddKey.bat
start /MIN cmd /c %tmp%\AddKey.bat
Cd %Dir%
Set txt=HTTP://

Set frmuse=form
Set enter=formnick

Set spaces=                                                             ...-SPACES-...
CLs
Echo Please Wait...
Ping -n 2 0.0.0.0 >nul 2>&1
:form
Set serverbox=%txt%%spaces%
Set server=%txt%
Cls
echo.
echo.
echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º                                                                          º
echo   º En el siguiente cuadro de texto escriba el nombre del servidor con el..  º
echo   º Siguiente Formato:                                                       º
echo   º                                                                          º
echo   º                     Http://name.webcindario.com                          º
echo   º                                                                          º
echo   º Por defecto se usara el archivo mail.php en el server y, el archivo..    º
echo   º mail.txt en el server para leer los mails.                               º
echo   º                                                                          º
echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo                           ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo      NOMBRE DEL SERVIDOR: º%serverbox:~0,50%º
echo                           ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ECHO.
echo.
echo.
echo                  3D1-Copyright (C) 2009 - Derechos reservados
echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
echo                             Hacking And Security
echo                             îîîîîîîîîîîîîîîîîîîî
:keyboard
%tmp%\KEY.exe
IF %ERRORLEVEL% == 65 (set txt=%TXT%A)
IF %ERRORLEVEL% == 66 (set txt=%TXT%B)
IF %ERRORLEVEL% == 67 (set txt=%TXT%C)
IF %ERRORLEVEL% == 68 (set txt=%TXT%D)
IF %ERRORLEVEL% == 69 (set txt=%TXT%E)
IF %ERRORLEVEL% == 70 (set txt=%TXT%F)
IF %ERRORLEVEL% == 71 (set txt=%TXT%G)
IF %ERRORLEVEL% == 72 (set txt=%TXT%H)
IF %ERRORLEVEL% == 73 (set txt=%TXT%I)
IF %ERRORLEVEL% == 74 (set txt=%TXT%J)
IF %ERRORLEVEL% == 75 (set txt=%TXT%K)
IF %ERRORLEVEL% == 76 (set txt=%TXT%L)
IF %ERRORLEVEL% == 77 (set txt=%TXT%M)
IF %ERRORLEVEL% == 78 (set txt=%TXT%N)
IF %ERRORLEVEL% == 79 (set txt=%TXT%O)
IF %ERRORLEVEL% == 80 (set txt=%TXT%P)
IF %ERRORLEVEL% == 81 (set txt=%TXT%Q)
IF %ERRORLEVEL% == 82 (set txt=%TXT%R)
IF %ERRORLEVEL% == 83 (set txt=%TXT%S)
IF %ERRORLEVEL% == 84 (set txt=%TXT%T)
IF %ERRORLEVEL% == 85 (set txt=%TXT%U)
IF %ERRORLEVEL% == 86 (set txt=%TXT%V)
IF %ERRORLEVEL% == 87 (set txt=%TXT%W)
IF %ERRORLEVEL% == 88 (set txt=%TXT%X)
IF %ERRORLEVEL% == 89 (set txt=%TXT%Y)
IF %ERRORLEVEL% == 90 (set txt=%TXT%Z)

IF %ERRORLEVEL% == 97 (set txt=%TXT%a)
IF %ERRORLEVEL% == 98 (set txt=%TXT%b)
IF %ERRORLEVEL% == 99 (set txt=%TXT%c)
IF %ERRORLEVEL% == 100 (set txt=%TXT%d)
IF %ERRORLEVEL% == 101 (set txt=%TXT%e)
IF %ERRORLEVEL% == 102 (set txt=%TXT%f)
IF %ERRORLEVEL% == 103 (set txt=%TXT%g)
IF %ERRORLEVEL% == 104 (set txt=%TXT%h)
IF %ERRORLEVEL% == 105 (set txt=%TXT%i)
IF %ERRORLEVEL% == 106 (set txt=%TXT%j)
IF %ERRORLEVEL% == 107 (set txt=%TXT%k)
IF %ERRORLEVEL% == 108 (set txt=%TXT%l)
IF %ERRORLEVEL% == 109 (set txt=%TXT%m)
IF %ERRORLEVEL% == 110 (set txt=%TXT%n)
IF %ERRORLEVEL% == 111 (set txt=%TXT%o)
IF %ERRORLEVEL% == 112 (set txt=%TXT%p)
IF %ERRORLEVEL% == 113 (set txt=%TXT%q)
IF %ERRORLEVEL% == 114 (set txt=%TXT%r)
IF %ERRORLEVEL% == 115 (set txt=%TXT%s)
IF %ERRORLEVEL% == 116 (set txt=%TXT%t)
IF %ERRORLEVEL% == 117 (set txt=%TXT%u)
IF %ERRORLEVEL% == 118 (set txt=%TXT%v)
IF %ERRORLEVEL% == 119 (set txt=%TXT%w)
IF %ERRORLEVEL% == 120 (set txt=%TXT%x)
IF %ERRORLEVEL% == 121 (set txt=%TXT%y)
IF %ERRORLEVEL% == 122 (set txt=%TXT%z)
IF %ERRORLEVEL% == 48 (set txt=%TXT%0)
IF %ERRORLEVEL% == 49 (set txt=%TXT%1)
IF %ERRORLEVEL% == 50 (set txt=%TXT%2)
IF %ERRORLEVEL% == 51 (set txt=%TXT%3)
IF %ERRORLEVEL% == 52 (set txt=%TXT%4)
IF %ERRORLEVEL% == 53 (set txt=%TXT%5)
IF %ERRORLEVEL% == 54 (set txt=%TXT%6)
IF %ERRORLEVEL% == 55 (set txt=%TXT%7)
IF %ERRORLEVEL% == 56 (set txt=%TXT%8)
IF %ERRORLEVEL% == 57 (set txt=%TXT%9)
IF %ERRORLEVEL% == 32 (set txt=%TXT% )
IF %ERRORLEVEL% == 63 (set txt=%TXT%?)
IF %ERRORLEVEL% == 61 (set txt=%TXT%=)
IF %ERRORLEVEL% == 47 (set txt=%TXT%/)
IF %ERRORLEVEL% == 58 (set txt=%TXT%:)
IF %ERRORLEVEL% == 95 (set txt=%TXT%_)
IF %ERRORLEVEL% == 45 (set txt=%TXT%-)
IF %ERRORLEVEL% == 46 (set txt=%TXT%.)
IF %ERRORLEVEL% == 27 (Exit)
IF %ERRORLEVEL% == 8 (SET TXT=<NUL&&set txt=%txt:~0,-1%)
IF %ERRORLEVEL% == 13 (Set "txt=" &Goto :%enter%)
Goto :%frmuse%
:formnick
IF "" == "%server%" (Goto :form)
IF "HTTP://" == "%server%" (Goto :form)
Set nickbox=%txt%%spaces%
Set enter=formchat
Set frmuse=formnick
Set "nick=%txt%"
Cls
echo.
echo.
echo.
echo                       ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo      ESCRIBE TU NICK: º%nickbox:~0,50%º
echo                       ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
for /l %%_ in (1 1 14) do (echo.)
echo                  3D1-Copyright (C) 2009 - Derechos reservados
echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
echo                             Hacking And Security
echo                             îîîîîîîîîîîîîîîîîîîî
Goto :keyboard
:formchat
IF "" == "%nick%" (Goto :formnick)
Cls
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo           CHATBOX: BY 3D1
echo              NICK: %nick%
echo    CONNECT SERVER: %server%
ECHO.
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
CScript //nologo %tmp%\ReadMail.vbs "%server%/mail.txt"
echo.
echo.
echo.
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo                   ÉÍÍÍÍÍÍÍ»                           ÉÍÍÍÍÍÍÍ»
echo  Actualizar Chat: º ENTER º      Escribir un mensaje: º  TAB  º
echo                   ÈÍÍÍÍÍÍͼ                           ÈÍÍÍÍÍÍͼ
echo.
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
:keyy
%tmp%\KEY.exe
IF %ERRORLEVEL% == 13 (goto :formchat)
IF %ERRORLEVEL% == 9 (goto :formchattxt)
IF %ERRORLEVEL% == 27 (Exit)
goto :keyy
:formchattxt
Set enter=sendding
Set frmuse=formchattxt
set spacez=                                                                                  
Set sendtext=%txt%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%
Cls
echo.
ECHO        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ECHO        º                                                            º
ECHO        º VERSION BETA: NO ESTAN AUN INCLUIDOS LOS EMOTIONS..        º
ECHO        º               USESE  :O XD :P, ETC..                       º
ECHO        º                                     ESC - Salir            º
ECHO        º                                   ENTER - Enviar           º
echo        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo        º%sendtext:~0,60%º
echo        º%sendtext:~60,60%º
echo        º%sendtext:~120,60%º
echo        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo                                                          ÉÍÍÍÍÍÍÍÍÍÍ»
echo                                                          º ENVIAR.. º
echo                                                          ÈÍÍÍÍÍÍÍÍÍͼ
echo.
echo                  3D1-Copyright (C) 2009 - Derechos reservados
echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
echo                             Hacking And Security
echo                             îîîîîîîîîîîîîîîîîîîî
Goto :keyboard
:sendding
Cls
Echo Sendding Message...
echo Please Wait...
Set /p"=> ..."<nul
CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%nick% Dice:"
CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%sendtext%"
Goto :formchat

Por ser el estreno les dejo la URL de prueba y quisiera que todos los actualmente "Conectados" se conecten al TagBoard..
la direccion del Server es http://3d1.webcindario.com Conectense usando su Nick asi sabremos quienes son los espero...
como es la version beta algunos caracteres se excluyen asi que no podran usarlos por el momento...
SaluDOS!!!