Clipper/FiveWin - Enviar e-mail sin outlook

 
Vista:

Enviar e-mail sin outlook

Publicado por David (19 intervenciones) el 10/01/2009 13:49:10
Estimados Colegas

Necesito saber so alguien tiene en marcha con FW el envio de correos e-mail SIN usar el Outlook, el tema que se debe tener en cuenta que ahora la mayoria de los servicios de e-amil piden autenticación.

Desde ya muchas gracias

David Barrio
Córdoba (Argentina)
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:Enviar e-mail sin outlook

Publicado por Gabriel Pascual  (913 intervenciones) el 12/01/2009 02:41:02
FiveWin viene con la clase TSMTP peeeero, como no es de extrañar en FiveWin, la clase esta incompleta y no soporta correo con autenticación ni soporta archivos anexos, asi que descartemos la clase nativa de FiveWin.

Hay varias opciones posibles:

1) usar BLAT, es un programa externo que se configura facilmente mediante un archivo de texto, es gratis y funciona muy bien tanto a 16 como a 32 bits. En su web (www.blat.net) encuentras ejemplo detallados, un simple WINEXEC BLAT <archivo> hace lo que necesitas.

2) A 32 bits con xHarbour, puedes usar el objeto nativo que viene incluido para envio de correo, te pongo un ejemplo aqui, pero te recomiendo que revises la documentacion en linea de xHarbour (http://www.xharbour.com/xhdn/referenceguide/) para mas información sobre la autenticacion.

PROCEDURE Main
LOCAL oSmtp, oEMail
LOCAL cSmtpUrl
LOCAL cSubject, cFrom, cTo, cBody, cFile

// preparing data for eMail
cSmtpUrl := "smtp://mailaccount:[email protected]" <--- MIRA ESTO
cSubject := "Testing eMail"
cFrom := "[email protected]"
cTo := "[email protected]"
cFile := "File_Attachment.zip"
cBody := "This is a test mail sent at: " + DtoC(date()) + " " + Time()

// preparing eMail object
oEMail := TIpMail():new()
oEMail:setHeader( cSubject, cFrom, cTo )
oEMail:setBody( cBody )
oEMail:attachFile( cFile )

// preparing SMTP object
oSmtp := TIpClientSmtp():new( cSmtpUrl )

// sending data via internet connection
IF oSmtp:open()
oSmtp:sendMail( oEMail )
oSmtp:close()
? "Mail sent"
ELSE
? "Error:", oSmtp:lastErrorMessage()
ENDIF
RETURN

Esto solo esta disponible a 32 bits en xHarbour, Harbour no lo tiene.

3) Puedes usar el objeto Funcky SMTP (www.funcky.com), personalmente yo utilizo este metodo con xHarbour y funciona muy bien, ojo, solo funciona a 32 bits, con xHarbour, porque Harbour no tiene soporte a objetos COM.

Smtp := CreateObject("FUNCkySMTP")

WITH OBJECT Smtp

:Server = "UserName:[email protected]"
:Timeout = 20000
:FromName = "Barbie"
:FromAddress = "[email protected]"
:Subject = "Party, my place"
:Message = "Hey guys! I had a really RAD time making " + _
"the movie and I miss you guys. I am throwing "+ _
"a party this weekend and you are all invited. " + _
"Dont dis me, see ya soon... mua!"

:ToName = "Juan Perez"
:ToAddress = [email protected]

If ( :Send())

Str = "Mail successfull sent to " + :ToName

End If
END
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:Enviar e-mail sin outlook

Publicado por David Barrio (19 intervenciones) el 12/01/2009 09:25:05
Estimado Gabriel
Desde ya muchas gracias por tu aporte/ayuda...

voy a intentar con la opcion 2)

que debo colocar en:

cSmtpUrl := "smtp://mailaccount:[email protected]" <--- MIRA ESTO

Datos:
mi servidor de correo se llama: smtp.mailserver.jla.com.ar o 201.234.30.3
cuenta desde donde mando: [email protected]
Clave de la cuenta anterior: DXF_JLA

desde ya muchas 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:Enviar e-mail sin outlook

Publicado por Gabriel Pascual (913 intervenciones) el 12/01/2009 18:00:26
quedaria asi:

cSmtpUrl := "smpt://dbarrio:[email protected]"

xHarbour ya te resuelve muchas cosas que en FiveWin o están incompletas o bien no funcionan.

Con respecto a Internet, te espantaría saber todas las zarandajadas que tiene FiveWin a medio hacer, o que no funcionan, simplemente no es confiable trabajar con ningun componente de internet de los que vienen en FW, ni MAPI, ni QFTP, ni el WebClient, y menos la clase TSMTP ni la TPOP3.

Afortunadamente xHarbour tiene todos estos componentes o equivalentes que funcionan perfectamente bien, un poco complicado de entrada entender como lo hace, porque se basa mucho en la clase TIP, la ventaja que tienes es que estos componentes de internet trabajan indistintamente con la GUI que uses, ya sea Xailer, MiniGUI o FiveWin.

Por cierto, para que esto te funcione tienes que linkar la TIP.LIB en tu aplicacion.
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:Enviar e-mail sin outlook

Publicado por David Barrio (19 intervenciones) el 12/01/2009 18:58:25
Estimados

lo compiló sin errores pero cuendo lo ejecuto me da el siguiente error:

Application
===========
Path and name: C:dobdob32BitPruebasemailemail.Exe (32 bits)
Size: 1,387,008 bytes
Time from start: 0 hours 0 mins 1 secs
Error occurred at: 01/12/09, 15:42:53
Error description: Error BASE/1081 unsupported protocol: TIPCLIENTSMTP:new()
Args:
[ 1] = O Object
[ 2] = C smpt

Stack Calls
===========
Called from: client.prg => TIPCLIENT:NEW(177)
Called from: smtpcln.prg => TIPCLIENTSMTP:NEW(91)
Called from: enviar6.prg => SENDMAIL(54)
Called from: enviar6.prg => (b)MAIN(15)
Called from: BTNBMP.PRG => TBTNBMP:CLICK(0)
Called from: BTNBMP.PRG => TBTNBMP:LBUTTONUP(0)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: CONTROL.PRG => TCONTROL:HANDLEEVENT(0)
Called from: BTNBMP.PRG => TBTNBMP:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: WINDOW.PRG => TWINDOW:ACTIVATE(0)
Called from: enviar6.prg => MAIN(19)
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:Enviar e-mail sin outlook

Publicado por Gabriel Pascual (913 intervenciones) el 13/01/2009 20:11:05
Creo que fue error mio en el mensaje anterio:

cSmtpUrl := "smtp://mailaccount:[email protected]"

Creo que el @smtp..... debe llevar completo el nombre del servidor

Por cierto, revisa que tu cuenta sea la misma que tu direccion de correo, muchas veces la cuenta tiene un nombre distinto a la de la direccion.
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:Enviar e-mail sin outlook

Publicado por Eduardo Martin (2 intervenciones) el 13/01/2009 22:36:56
Buenas.

Leyendo lo de enviar correos desde xharbour me pregunto si la opcion que das mediante TIP es valida para Gmail (que tiene que salir por puerto seguro)

Yo ahora lo tengo solucionado de un modo algo mas aparatoso. Lo utilizaria para enviar copias de seguridad a mi cuenta de gmail.

Y otro cosa, se podria recibir un email y utilizar el adjunto? Por ejemplo , recibir un dbf que pudiera usar el mismo programa desde xharbour?

Gracias

Un saludo

Eduardo Martin
España
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:Enviar e-mail sin outlook

Publicado por NeoEspecialista (23 intervenciones) el 23/01/2009 19:24:05
Hola a todos,

Ignoro si Fivewin y Xharbour soporta programación VBScript.

Si esto fuera posible, pueden utilizar la librería CDO para enviar correo a servidores seguros (SSL).

Esta Librería ya viene en Windows desde Windows 2000.

El modo de uso de esta librería lo pueden encontrar aqui:

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/337-enviar-correo-en-vb-con-microsoft-cdo.htm

Una vez adecuado el código, no tendrán problemas en enviar correo desde Gmail o desde Yahoo! en modo seguro.

Saludos desde Buenos Aires,
NeoEspecialista
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:Enviar e-mail sin outlook

Publicado por Hernan Sanchez (1 intervención) el 08/09/2009 19:05:30
Gabriel.

Use el metodo 2 pero sale error timeout

Me echas una mano?

Gracias

Hernan
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