Clipper/FiveWin - Sr

 
Vista:

Sr

Publicado por Fernando Gomez (14 intervenciones) el 03/03/2006 01:24:13
Buenas ardes:

Podria alguien orientarme, necesito alguna rutina en fivewin para poder manejar correo electronico, de antemano gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sr

Publicado por lorenzo (180 intervenciones) el 03/03/2006 12:56:45
Mediante TSmtp.
TSmtp requiere que se hagan 2 llamadas al constructor de la clase, el
primero es una llamada en falso y la segunda es sobre la cual se envia el
correo electronico, asi que el ejemplo podria quedar de la siguiente
manera:

#INCLUDE "FIVEWIN.CH"

STATIC oWnd
FUNCTION MAIN
DEFINE WINDOW oWnd
ACTIVATE WINDOW oWnd ON INIT EnviaMail()
RETURN

FUNCTION EnviaMail()
LOCAL oMail, cIp

// primera llamada en falso
oMail:=TSmtp():New(GETHOSTBYNAME("smtp.webcom.com"))

// esta es la buena:
oMail:=TSmtp():New(GETHOSTBYNAME("smtp.webcom.com"))

oMail:SendMail( "[email protected]",; // De
{"[email protected]", "[email protected]"},; // Para (arreglo)
"Se notifica a todos: Aumento de sueldo !!!!",; // Mensaje
"Nuevos sueldos para todos",; // Asunto
{"c:\autoexec.bat", "c:\config.sys"} ) // Attachs (arreglo)

RETURN (.T.)

Como comprobarás hace falta incluir en el compilado en archivo Tsmtp.PRG
Lo tienes en www.dbwide.com.ar

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias

Publicado por Fernando Gomez (14 intervenciones) el 03/03/2006 15:54:24
Muchisimas gracias, voy a poner en practica inmediatamente tu funcion, de nuevo gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sr

Publicado por Gabriel pascual (913 intervenciones) el 04/03/2006 06:21:56
Esa rutina es la que escribio el Maestro Rene Flores de CiberTec para enviar correos electronicos y funciona muy bien, solo tienes que tomar en cuenta algunas cosas:

1) El remitente de correo necesita tener una cuenta en un servidor de correo que soporte SMTP, los correos web como Hotmail o Yahoo no tienen esta funcionalidad.

2) El correo electronico solo puede enviarse desde UNA VENTANA, es decir, tiene que existir por lo menos la ventana principal del programa para poder enviar el correo.

3) La llamada al constructor de la clase debe hacerse 2 veces, como bien te mencionaron.

4) el metodo SendMail recibe los siguientes parametros en este orden

1.- Direccion electronica del remitente, como te mencione anteriormente, el remitente debe tener una cuenta en el servidor de correo SMTP que estas usando.

2.- Un array con las direcciones de correo electrónico de los destinatarios, aunque solo sea uno, deberás indicar la direccion entre {}, por ejemplo : {"[email protected]"} o {"[email protected], "[email protected]", "[email protected]"}

3.- El cuerpo del mensaje, que puede ser un archivo de texto o una cadena de caracteres de la longitud que quieras

4.- El asunto del correo

5.- Otro array con los nombres de los archivos añadidos al mensaje de correo, atencion con esto, por un error de la clase TSMTP, TODO LOS ANEXOS SON TRATADOS COMO TEXTOS, es decir, no importa que mandes un ZIP un PDF o un DBF, todos se "pegaran" al mensaje de correo como parte del cuerpo del mismo, para evitar esto deberas utilizar la clase TSOCKET y TSMTP modificadas por Luis Krause, las puedes obtener de www.fivewin.info
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar