Este código permite enviar mail desde una aplicación visual foxpro utilizando un servidor SMTP que posea autenticación. Hay infinidad de ejemplos y rutinas pero no permiten la autenticación.
Lo que realiza la aplicación es crear un socket de windows y comienza a enviar mensajes al servidor smtp.
Lo interesante de esta rutina es que no se requiere componentes agregados, con los recursos del SO alcanza.
lcServidor = "smtp.server.com"
lcPuerto = 25
lcTo = "aQuienEviar@server.com"
lcFrom = "cuentaOrigen@server.com"
lcSubject= "Prueba"
lcText = "Texto"
lcUsuario = "cuentaOrigen@server.com"
lcPassword = "clave que sea"
#define sckClosed 0
#define sckOpen 1
#define sckListening 2
#define sckConnectionPending 3
#define sckResolvingHost 4
#define sckResolved 5
#define sckConnecting 6
#define sckConnected 7
#define sckClosing 8
#define sckError 9
#DEFINE crlf CHR(13)+CHR(10)
DECLARE integer Sleep IN WIN32API integer && (Aporte realizado en foro fox del MUG. Gracias. PabloC)
oWinsock = CREATEOBJECT("MSWinsock.Winsock.1")
oWinsock.Protocol = 0 && 0=TCP , 1=UDP
oWinsock.RemoteHost = lcServidor
oWinsock.RemotePort = lcPuerto && smtp
oWinsock.Connect()
esperar = 0
DO while oWinsock.State # sckConnected AND esperar <= 10
sleep(500)
esperar = esperar + 1
ENDDO
IF oWinsock.State = sckConnected
oWinsock.senddata("HELO " + oWinsock.RemoteHost + crlf)
sleep(250)
oWinsock.senddata("AUTH LOGIN " + crlf)
sleep(250)
oWinsock.senddata(STRCONV(lcUsuario,13) + crlf)
sleep(250)
oWinsock.senddata(STRCONV(lcPassword,13) + crlf)
sleep(250)
oWinSock.senddata("Mail From:"+lcFrom + crlf)
sleep(250)
oWinSock.senddata("RCPT TO:" + lcTo + crlf)
sleep(250)
oWinsock.senddata("DATA" + crlf)
oWinsock.senddata("From:" + lcFrom + crlf)
oWinSock.senddata("To:"+ lcTo + crlf)
oWinsock.senddata("Subject:" + lcSubject + crlf)
oWinsock.senddata(crlf + lcText + crlf)
sleep(250)
oWinsock.senddata("." + crlf)
sleep(250)
oWinsock.senddata("quit")
sleep(250)
Else
oWinsock.close()
RETURN "No se pudo conectar con el servidor"
Endif
oWinsock.close()
RETURN "El mensaje se envio correctamente"
jueves, 8 de mayo de 2008
Suscribirse a:
Enviar comentarios (Atom)
1 comentario:
Puedes adjuntar ficheros?
Saludos.
Publicar un comentario