Página 1 de 1
Enviar email com o objeto CDO.Message
Enviado: 05 Fev 2016 18:41
por asimoes
Pessoal,
Tem como enviar email usando o objeto CDO.Message para mais de 1 destinatário? em um único envio?
Enviar email com o objeto CDO.Message
Enviado: 05 Fev 2016 19:26
por sygecom
Chefe,
Eu uso conforme abaixo, veja se da para entender:
Código: Selecionar todos
*************************************************************************************
STATIC FUNCTION ENVIA_MAIL(oCfg,cFrom,cDest,aFiles,cSubject,cMsg,aCC,aBCC,lEMAIL_CONF,lHTML,lMOSTRAMSG)
*************************************************************************************
local aTo := {}, i:=0, X:=0
local lRet := .f.
local nEle, oError, oMsg
aTo := { cDest } //--> PARA
nEle := 1
for i:=1 to len(aTo) // varios destinatarios
TRY
oMsg := xhb_CreateObject("CDO.Message")
WITH OBJECT oMsg
:Configuration = oCfg
//:BodyPart:Charset := "iso-8859-2" // "iso-8859-1" "utf-8"
:From = cFrom
:To = aTo[i]
:Cc = aCC
:BCC = aBCC
:Subject = cSubject
if lHTML
:HTMLBody = cMsg
else
:TextBody = cMsg
endif
For x := 1 To Len( aFiles )
:AddAttachment(AllTrim(aFiles[x]))
Next
IF lEMAIL_CONF
:Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom
:Fields:update()
ENDIF
:Send()
END WITH
lRet := .t.
CATCH oError
IF lMOSTRAMSG
ShowMsg( "Não Foi possível Enviar o e-Mail!" + HB_OsNewLine() + ;
"Error: " + Transform(oError:GenCode, nil) + HB_OsNewLine() + ;
"SubC: " + Transform(oError:SubCode, nil) + HB_OsNewLine() + ;
"OSCode: " + Transform(oError:OsCode, nil) + HB_OsNewLine() + ;
"SubSystem: " + Transform(oError:SubSystem, nil) + HB_OsNewLine() + ;
"Mensaje: " + oError:Description )
ENDIF
lRet := .f.
END
next
oMsg:=Nil
Return lRet
Enviar email com o objeto CDO.Message
Enviado: 05 Fev 2016 19:45
por asimoes
Leonardo,
Consegui, tem que colocar uma virgula para os destinatários veja no FOR EACH:
aTo := {"Dest1 <
dest1@gmail.com>", "Des2 <
dest2@gmail.com>"}
aCC := {"Dest1 <
dest1@gmail.com>", "Des2 <
dest2@gmail.com>"}
Código: Selecionar todos
LOCAL oElemento, oElementoTo, oElementoCc, oElementoBCc
oMsg := win_OleCreateObject( "CDO.Message" )
WITH OBJECT oMsg
:Configuration := oCfg
:From := cFrom
FOR EACH oElementoTo IN aQuem
cDestinatario += oElementoTo + IF(!oElementoTo:__enumIsLast(),",","")
NEXT
FOR EACH oElementoCc IN aCC
cComCopia += oElementoCc + IF(!oElementoCc:__enumIsLast(),",","")
NEXT
:To := cDestinatario
:Cc := cComCopia
:Subject := cSubject
IF !Empty(cImagem)
:AddRelatedBodyPart(hb_DirBase()+"img"+hb_PS()+cImagem, cImagem, 1)
:Fields:Item("urn:schemas:mailheader:Content-ID"):Value := "<"+cImagem+">"
:Fields:Item("urn:schemas:mailheader:Content-Disposition"):Value := "inline"
:Fields:Update()
ENDIF
:HTMLBody := cMsg + QuebraHTML + IF(!Empty(cImagem), cImagem1, "")
FOR EACH oElemento IN aFiles
:AddAttachment(AllTrim(oElemento))
hwg_DoEvents()
NEXT
:Fields("urn:schemas:mailheader:disposition-notification-to"):Value := cFrom
:Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"):Value := lAut
:Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl"):Value := lSSL
:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver"):Value := cServerIp
:Fields:update()
:Send()
END WITH
Enviar email com o objeto CDO.Message
Enviado: 05 Fev 2016 20:02
por sygecom
Que nem diz o Eolo, CHIC.