Page 1 of 1
Presentacion y solucitud de ayuda
Posted: Thu Jun 07, 2012 9:14 pm
by paimar
Buenas.
Me presento un poco. Escribo desde España y programo en clipper mi propia aplicación la cual aun se usa y mantengo. Ya he intentado mas de una vez pasarla a "windows" , en Visual Fox pro y HMG para siempre me acabo atascando (sobre todo por mi cabezoneria de intentar hacer un programa windows lo mas parecido posible a uno DOS) . Ahora parece que lo intentare de nuevo poco a poco.
Pero ahora mientras repaso ejemplos se me ocurrió hacer una pequeña utilidad. Lo que pretendo no parece muy difícil , lo que pretendo es que la utilidad compruebe cada x minutos un cuenta de correo para el el subject de ese email leer un "filtro" y que la aplicación devuelva a ese mismo email el listado solicitado. Lo único que no consigo hacer es leer el ultimo correo de gmail de una cuenta. He probado algún ejemplo que he buscado en el foro pero no me hace absolutamente nada (parece solo harbour).
Me echaríais una mano?
Muchas gracias.
Re: Presentacion y solucitud de ayuda
Posted: Thu Jun 07, 2012 9:49 pm
by danielmaximiliano
Hola Paimar:
Bienvenido al Foro, aqui encontraras amigos que gustosos te daran un mano.
para ello no unico necesario es que publiques un ejemplo que lo que necesitas o quieres hacer.
Desde Bs.As Argentina
Re: Presentacion y solucitud de ayuda
Posted: Fri Jun 08, 2012 9:07 pm
by paimar
Buenas
He empezado a modificar este ejemplo sustituyendo mailaccount por mi direccion de gmail , pass por mi clave y pop.server.com por pop3.gmail.com. He puesto un msginfo despues de IF .not. opop:open() y me da error: Connection error: Timeout
Alguna sugerencia?
gracias
// The example outlines the steps required for retrieving all
// eMails from a POP mail server and how to decompose
// incoming mail messages.
PROCEDURE Main
LOCAL oPop, oPart, aParts, oTIpMail, aEmails, i
oPop := TIpClientPop():new( "pop://mailaccount:
password@pop.server.com" )
IF .NOT. oPop:open()
? "Connection error:", oPop:lastErrorMessage()
QUIT
ELSE
aEMails := oPop:retrieveAll()
oPop:close()
ENDIF
FOR i:=1 TO Len( aEMails )
oTIpMail := aEmails
? oTIpMail:getFieldPart( "From" )
? oTIpMail:getFieldPart( "Subject" )
IF oTIpMail:isMultiPart()
// Retrieve all parts of a multipart message
aParts := oTIpMail:getMultiParts()
FOR EACH oPart IN aParts
IF .NOT. Empty( oPart:getFileName() )
// This is a file attachment. Store it in the TMP folder.
IF oPart:detachFile( "C:\tmp\" )
? "File written: C:\tmp\" + oPart:getFileName()
ENDIF
ELSE
? oPart:getBody()
ENDIF
NEXT
ELSE
// simple mail message
? oTIpMail:getBody()
ENDIF
NEXT
RETURN
Re: Presentacion y solucitud de ayuda
Posted: Fri Jun 08, 2012 9:27 pm
by danielmaximiliano
paimar wrote:Buenas
He empezado a modificar este ejemplo sustituyendo mailaccount por mi direccion de gmail , pass por mi clave y pop.server.com por pop3.gmail.com. He puesto un msginfo despues de IF .not. opop:open() y me da error: Connection error: Timeout
Alguna sugerencia?
gracias
// The example outlines the steps required for retrieving all
// eMails from a POP mail server and how to decompose
// incoming mail messages.
PROCEDURE Main
LOCAL oPop, oPart, aParts, oTIpMail, aEmails, i
oPop := TIpClientPop():new( "pop://mailaccount:
password@pop.server.com" )
IF .NOT. oPop:open()
? "Connection error:", oPop:lastErrorMessage()
QUIT
ELSE
aEMails := oPop:retrieveAll()
oPop:close()
ENDIF
FOR i:=1 TO Len( aEMails )
oTIpMail := aEmails
? oTIpMail:getFieldPart( "From" )
? oTIpMail:getFieldPart( "Subject" )
IF oTIpMail:isMultiPart()
// Retrieve all parts of a multipart message
aParts := oTIpMail:getMultiParts()
FOR EACH oPart IN aParts
IF .NOT. Empty( oPart:getFileName() )
// This is a file attachment. Store it in the TMP folder.
IF oPart:detachFile( "C:\tmp\" )
? "File written: C:\tmp\" + oPart:getFileName()
ENDIF
ELSE
? oPart:getBody()
ENDIF
NEXT
ELSE
// simple mail message
? oTIpMail:getBody()
ENDIF
NEXT
RETURN
Hola Paimar:
este tema fue tratado en otro Post viewtopic.php?f=5&t=1518&start=0
Re: hb_sendmail()
Roberto Lopez wrote:
Anyway, there is a way to know the error code, to find what exactly is happening?
I've activated trace and I've found the error 512.
If someone can successfully access gmail smtp, please, let me know.
At the moment, I'm using blat. It connects google without problems.
Roberto,
Grigory Filatov wrote:
AFAIR you will need to recompile the Harbour contrib hbtip library with HB_HAS_OPENSSL option for SSL support.
todavia no encontre la forma de hacer funcionar HBTip con SSL, pero mira el link anterior en la pagina 2, trata de mail con
CDOSYS (Collaboration Data Objects) .
Re: Presentacion y solucitud de ayuda
Posted: Sun Jun 10, 2012 12:38 pm
by paimar
Hola de nuevo.
Entonces quieres decir que no se puede hacer?
un saludo
Re: Presentacion y solucitud de ayuda
Posted: Tue Jun 12, 2012 10:41 pm
by salamandra
Hi paimar

,
Did you try the code submitted by
danielmaximiliano ??
(CDOSYS -Collaboration Data Objects).
take a look at
viewtopic.php?f=5&t=1518&start=10
Works fine with GMail, Hotmail, Yahoo, etc.
[]´s Salamandra
Re: Presentacion y solucitud de ayuda
Posted: Tue Jun 12, 2012 11:15 pm
by danielmaximiliano
paimar wrote:Hola de nuevo.
Entonces quieres decir que no se puede hacer?
un saludo
Hola de nuevo Paimar, sigo mirando la forma de compilar HBtip con soporte SSL, ya que Gmail y otros servidores usan este protocolo para transferir los datos.
no es muy dificil pero tampoco facil ya que al intentar compilar SSL desde el SVN me da errores,
Re: Presentacion y solucitud de ayuda
Posted: Tue Nov 06, 2012 8:25 pm
by paimar
Pues gracias! Yo espero con impaciencia. Lo necesito para poder interrogar al programa y que me devuelta por email los listados o estadisticas que lo pido.
Un saludo
Re: Presentacion y solucitud de ayuda
Posted: Tue Nov 06, 2012 9:51 pm
by danielmaximiliano
paimar wrote:Pues gracias! Yo espero con impaciencia. Lo necesito para poder interrogar al programa y que me devuelta por email los listados o estadisticas que lo pido.
Un saludo
Estoy terminando la aplicacion, me falta resolver como recuperar el ID del mensaje se me esta siendo dificil ya que no devuelve valores numericos o un array, sino que devuelve un String separado con un caracter INetcrlf().