Page 1 of 1

Ayuda sobre e-mail con CDO.

PostPosted: Tue Oct 18, 2011 11:31 pm
by jll-fwh
Buenas;

A ver si alguien le a pasado esto y me puede ayudar. Estoy usando CDO para enviar e-mails, con la version FWH812 funciona perfectamente, pero compilado con FWH1109, funciona bien siempre y cuando no le adjunte un fichero, si le indico que adjunto un fichero, sea cual sea me da el siguiente error, y por mucho que miro en internet no logro solucionarlo.

NOTA: la función funciona perfectamente en FWH812, pero no en FWH1109.

Alguna idea?

Error:
Image

Un saludo
JLL

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 2:55 am
by wmormar
jll-fwh,

A mi me pasaba el error cuando adjuntaba archivos y no le pasaba la ruta completa

Puedes probar por ahi

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 3:27 am
by jll-fwh
hola wmormar:

gracias por contestar, pero si se le pasa el path de los archivos.

Lo mas curioso en que en la version FWH812 funciona perfectamente, pero no en FWH1109.

P.D. Averiguando porque pasa esto en la version FWH1109, pues de paso he implementado a la función la confirmación de envios y ya puedo enviar correos en formato HTML.

A ver si alguien puede ayudarme a solucionar mi problema, cada vez que cambio de versión tiene que haber algún problema.

un saludo
JLL

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 4:28 am
by wmormar
jll-fwh,

Se me olvido comentar que el PATH en algunos casos manda error cuando se utilizan nombres largos.

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 7:38 am
by Carlos Mora
JLL,

algo leí por ahí con el tema Ole y la versión nueva de Harbour, he visto que compilas usando la 3.1.1, tal vez el problema venga por ahí. Daniel había puesto un enlace a una versión que funciona correctamente, tal vez podrías probar con eso.

¿Podrías pegar el trocito de código donde pones los valores? A veces hay alguna diferencia mínima cuando usas ActiveX porque aunque los muestra como objetos de Harbour en realidad no lo son.

Un saludo

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 2:12 pm
by thefull
Puede ser un gilipollez, pero prueba de sacar el :Send() fuera del
Code: Select all  Expand view
with object oEmail
....
end
oemail:Send()

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 3:33 pm
by jll-fwh
Hola Rafa:

También había probado eso, pero nada, sigue sacando el mismo error.

Ahora acabo de probar con la versión de harbour 2.1, ya me hace lo mismooooooooo. Increible, en cada versión de fwh, hay mil retoques que hacerrrrrr. ME FRUSTOOOO.

Code: Select all  Expand view
     oMsg := CreateObject( "CDO.Message" )

      With Object oMsg
         :Configuration := oCfg
         :From          := Trim( cFrom )
         :To            := Trim( cTo )
         :Subject       := Trim( cSubject )
         //:TextBody      := Trim( cBody )
         :MDNRequested  := .T.  // confirmacion de recibido
         :HTMLBody      := strHTML

         For nEle := 1 To Len( aAttach )
            :AddAttachment := AllTrim( aAttach[ nEle ] )
         Next

         If ! Empty( cBCC )
            :BCC := Trim( cBCC )
         EndIf

   *      :Send()
      End With

      oMsg:Send()
 


Un saludo
JLL

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 4:07 pm
by thefull
Pues entonces tiene que ser el compilador. Yo he probado con xHarbour 1.2.1 , y con Harbour 2.1 , pero a este he tenido que hacer lo que te comenté.
Ademas me funciona enviar html, adjuntos, etc...

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 8:41 pm
by nnicanor
Hola,

Cambia esta linea

:AddAttachment := AllTrim( aAttach[ nEle ] )

Por

:AddAttachment( AllTrim( aAttach[ nEle ] ) )

a mi me paso cuando cambie compilador de xHarbour a Harbour 3 y despues de dar muchas vueltas encontre que el llamado es diferente, y asi funciona para xHarbour y Harbour


Slds

Nicanor

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 9:04 pm
by jll-fwh
Hola Nicanor:

Muchas gracias, así funciona perfectamente.

Las horas probando de todo, y simplemente había que cambiar un := por (), que jodio es esto, jejeje.

Imagen:
Image

Muchas gracias.

Un saludo
JLL

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 9:12 pm
by nnicanor
JLL

Fueron mas de un mes investigando que pasaba y comparando codigo hasta que probe un ejemplo que funcionaba comparandolo me di cuenta que eran los parentesis.

A proposito tienes un ejemplo de envio en formato HTML,

SLds

Nicanor

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 9:44 pm
by jll-fwh
nicanor;

Yo también he estado horas y horas probando de todo, hasta diferentes versiones de harbour, ya que en la versión FWH812, funcionaba todo bien.

Lo único bueno que he sacado, es que buscando y buscando en un fuente en VB vi como se podía enviar los correos en formato HTML.

Para enviar los emilios en formato HTML solo hay que usar una DLL que convierte RTF a HTML.

1.- creas un objeto GET RICHEDIT.
2.- Luego creas un fichero .RTF con el texto que se ha introducido, lo guardas con: oCampos[5]:SaveToRTFFile( "tmpRTF.rtf" )
3.- Llama a la DLL para convertir el RTF a HTML: RtfToHTML( "tmpRTF.rtf", "tmpRTF.HTM", 16, "FFFFFF", "Title", 72 )
4.-Recuperas el contenido del fichero: strHTML := MemoRead( "tmpRTF.htm" )
5.-Y luego en vez de mandar el correo con la DATA :TextBody se envía con :HTMLBody asi: :HTMLBody := strHTML

Y listo, se envía en formato HTML con todas las caracteristicas de RTF.

La declaración de la DLL:

Code: Select all  Expand view
DLL32 FUNCTION RtfToHTML( cSource AS LPSTR, ;
                          cDest AS LPSTR, ;
                          nOption AS LONG, ;
                          cBG AS LPSTR, ;
                          cTitel AS LPSTR, ;
                          nDPI AS LONG ) AS LONG ;
                          PASCAL FROM "EXRTF2WEB" LIB "IRUN.DLL"
 


Te dejo la DLL en el FTP para que te la descargues:
http://www.grupes.es/basura/rtftoHTML.rar

P.D Para cualquier cosa, también en el MSN: fwh-jll@hotmail.es

Y muchas gracias por tu ayuda.

Un saludo
JLL

Re: Ayuda sobre e-mail con CDO.

PostPosted: Wed Oct 19, 2011 9:57 pm
by nnicanor
Gracias JLL,

Lo prueba y te comento.

Slds

Nicanor

Re: Ayuda sobre e-mail con CDO.

PostPosted: Thu Oct 20, 2011 7:22 am
by hmpaquito
Estimados,

Recientemente yo tambien tuve "una de OLE" !

En otras rutinas me funcionaba:
Code: Select all  Expand view

oSheet:Cells(1, 1):Select()
oExcel:Paste()
 



Pero en un nuevo diseño no se por qué no funcionaba, ni con :Range(), siempre daba error en el :Select()... todos sabemos que la descripción de los errores OLE no son nada explícitos. No observaba por ninguna parte qué le podiía pasar a la sheet si era escribible, etc... Como al "tio excel" me lo tengo calao... sé que hay que darle la vuelta "por detrás", así que pensé en investigar en los parámetros del método :Paste() con lo que así SI me funciono:

Code: Select all  Expand view

oExcel:Paste(oSheet:Cells(1,1))
 


Saludos