FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Uso de Outlook
Posts: 198
Joined: Fri Nov 18, 2005 07:34 PM
Uso de Outlook
Posted: Thu Oct 16, 2014 06:42 PM

En una aplicación tengo que estar enviando correos con 2 archivos adjuntos muy seguido (son facturas electronicas), el caso es que ha determinado tiempo ya no ejecuta el outlook, mi duda es la siguiente
al crear el objeto
local oOutlook := CreateObject( "Outlook.Application" )

debo crearlo solo una vez al iniciar el programa ???, o cada vez que envie un correo ??

                      cMessage += "<ul><li><a href='ejemplo.com.mx'>Empresa Invalida</a></li></ul>"

                      oMail := oOutlook:CreateItem( olMailItem )

                      with object oMail
                      oMail:Subject = cAsunto 
                      oMail:BodyFormat = olFormatHTML
                      oMail:HTMLBody   = cMessage

                      oMail:Recipients:Add( Alltrim(varCli) )
                      oMail:Recipients:Add( wReplicar )

                      oMail:Attachments:Add( cImagen )
                      oMail:Attachments:Add( cImagen2 )
                      oMail:Display = .T.
                    *  oMail:Send()
                END

                * oOutlook:Quit()   Debo salir de outlook ???

Inmediantamente enviado el correo, se envia otros mas.

Que tendria que hacer para evitar este error ?

Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: Uso de Outlook
Posted: Fri Oct 17, 2014 11:28 AM
Hola,

Outlook.Application sirve para capturar el objeto outlook que esté abierto ó para abrirlo en su defecto.

Cuando tengo que enviar algo a través de Outlook, primero compruebo si está activo (osea outlook está abierto en el equipo) y defino la variable lClose para saber si tengo que cerrarlo al finalizar.
Code (fw): Select all Collapse
TRY
  oOutlook := GetActiveObject( "Outlook.Application" )
  lClose   := .F.
CATCH
  TRY
    oOutlook := CreateObject( "Outlook.Application" )
    lClose := .T.
  CATCH
    oOutlook := NIL
  END
END


En el caso de envíos consecutivos (ej. facturas electrónicas), la comprobación la realizo 1 vez. Al inicio del procedimiento de envío de facturas electrónicas.
Y cierro (si es necesario), la finalizar el procedimiento de envío de facturas.
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 198
Joined: Fri Nov 18, 2005 07:34 PM
Re: Uso de Outlook
Posted: Fri Oct 17, 2014 04:48 PM

Muchas gracias por la respuesta, solo que para reducir tiempo de envio del usuario, quite el:
omail:Display=.T. //muestra la pantalla de outlook para que el usuario le de al boton "enviar"

y deje solo
omail:Send()

Pero no envia, me saca del programa y pone el error e_fail:send

Alguna idea de lo que ocurre ?

Gracias

Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: Uso de Outlook
Posted: Fri Oct 17, 2014 06:53 PM

Hola,

En eso no puedo ayudarte, lo siento.
Yo no hago el envío sin intervención del usuario. Se los dejo todos en bandeja de salida.

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos

Continue the discussion