Estou tentando emviar e mail via CDO e não estou conseguindo e fiz uma comparação com o ACBRmonitorPlus, explico:
No CDO não tem uma configuração que apenas marcada no ACBR funciona o envio que é o TLS sem estar marcado o SSL. Observei isso e fiz um teste com CDO:
aFiles :={"C:\teste.txt"}
cSubject :="Sem assunto"
aQuem :="ladinilson@hotmail.com"
cMsg :="Corpo da Mensagem"
cServerIp:="smtp-mail.outlook.com"
cFrom :="ladinilson@hotmail.com"
cUser :="ladinilson@hotmail.com"
cPass :=vsenha
vPORTSMTP:= 25 // ou 587
aCC :="" //"copia@hotmail.com"
aBCC :="" //"copia_oculta@hotmail.com"
lCONF :=.F.
lSSL :=.T.
CONFIG_MAIL(aFiles,cSubject,aQuem,cMsg,cServerIp,cFrom,cUser,cPass,vPORTSMTP,aCC,aBCC,lCONF,lSSL)
As configurações e envio:
**********************************************************************************************************************
FUNCTION CONFIG_MAIL(aFiles,cSubject,aQuem,cMsg,cServerIp,cFrom,cUser,cPass,vPORTSMTP,aCC,aBCC,vEMAIL_CONF,wSSL_EMAIL)
**********************************************************************************************************************
local lRet := .f.
local oCfg, oError
local lAut := .t.
TRY
oCfg := CREATEOBJECT( "CDO.Configuration" )
WITH OBJECT oCfg:Fields
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cServerIp
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := vPORTSMTP
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut
:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := wSSL_EMAIL
:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := alltrim(cUser)
:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := alltrim(cPass)
//:Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" ):Value := 30
:Update()
END WITH
lRet := .t.
CATCH oError
MsgInfo( "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, "Atenção" )
END
//--> FIM DAS CONFIGURAÇOES.
if lRet
lRet := Envia_Mail(oCfg,cFrom,aQuem,aFiles,cSubject,cMsg,aCC,aBCC)
endif
Return lRet
********************************************************************************
FUNCTION ENVIA_MAIL(oCfg,cFrom,cDest,aFiles,cSubject,cMsg,aCC,aBCC,vEMAIL_CONF)
********************************************************************************
local aTo := {}
local lRet := .f.
local nEle, oError
aTo := { cDest } //--> PARA
nEle := 1
for i:=1 to len(aTo)
TRY
oMsg := CREATEOBJECT ( "CDO.Message" )
WITH OBJECT oMsg
:Configuration = oCfg
:From = cFrom
:To = aTo[i]
:Cc = aCC
:BCC = aBCC
:Subject = cSubject
:TextBody = cMsg
For x := 1 To Len( aFiles )
:AddAttachment(AllTrim(aFiles[x]))
Next
IF vEMAIL_CONF=.T.
:Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom
:Fields:update()
ENDIF
:Send()
END WITH
lRet := .t.
CATCH oError
MsgInfo("Não Foi PossÃvel Enviar," +HB_OsNewLine()+;
"a Mensagem: " +HB_OsNewLine()+;
cSubject +HB_OsNewLine()+;
"p/ o eMail: " + aTo[i] +HB_OsNewLine()+;
" - Erro: " + + oError:Description , "Atenção" )
lRet := .f.
END
next
Return lRet
Pesquisei sobre o TLS e descobri que esta configuração NÃO EXISTE no CDO pelo próprio site da Microsoft.
No ACBR...
free image uploading
No ACBR usei a porta 587 e também usei a 25 (no caso para hotmail) e funciona no ACBR a 587 e smtp do jeito que esta e funciona!
A mensagem é a de sempre...DISP_E_MENBERNOTFOUND
Pergunto se alguém tem a solução ou se tem a rotina para enviar via ACBR?
Obrigado