Page 1 of 1

Outlook con OLE

Posted: Fri Jun 05, 2020 5:46 am
by juanjogascem
Muy buenas, vengo utilizando el envio de correo desde mis aplicaciones de la siguiente forma:

Code: Select all

FUNCTION EnvioCorreo( cPdf, cCliente, cCorreo, cFactura )
*********************************************************

Local cSubject,cTo,cOther,cBody
Local oOutlook,oMailItem,cCC

cTo      := cCorreo
cOther   := ""
cCC      := ""
cSubject := "FACTURA NUMERO " + cFactura
cBody    := "Estimado Cliente," + chr(13) +;
            chr(13)+;
            "Adjunto le enviamos factura correspondiente a la mercancia que ha recibido o recibirá en los próximos días." + chr(13)+;
            chr(13)+;
            "Reciba un cordial saludo."

oOutLook  := TOleAuto():New("Outlook.Application")
oMailItem := oOutLook:Invoke("CreateItem", 0)

oMailitem:to := cTo
oMailItem:Recipients:Add( cOther )
oMailitem:CC:= cCC
oMailItem:Subject := cSubject
oMailItem:Body := cBody

if !empty( cPdf )
  oMailItem:Attachments:Add( cPdf )
endif

oMailItem:display(.T.)
oMailItem:Invoke("Send")
sysrefresh()

msgInfo( "E-mail Enviado a " + chr(13) +;
         cCliente + chr(13) +;
         cTo, "Información" )

return .T.
El problema viene cuando el cliente tiene varias cuentas de correo y necesito enviar el mensaje con una cuenta que no es la predeterminada.
Existe alguna forma de hacerlo?

Saludos
Juanjo