Uso de Outlook

Post Reply
servicomver
Posts: 158
Joined: Fri Nov 18, 2005 7:34 pm

Uso de Outlook

Post by servicomver »

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 ?
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Uso de Outlook

Post by fgondi »

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: Select all

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 GHE Sistemas Informáticos
servicomver
Posts: 158
Joined: Fri Nov 18, 2005 7:34 pm

Re: Uso de Outlook

Post by servicomver »

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
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Uso de Outlook

Post by fgondi »

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 GHE Sistemas Informáticos
Post Reply