22 Jan 2016 09:01
cMensagem:=AzulHTML +"Log de confirmação de atualização de sistema em: "+;
HB_DtoC(Date(), "DD/MM/YYYY")+" "+Time()+" "+QuebraHTML+;
VermelhoHTML+"Feito pelo Monitor AsaPrev Versão 3." + QuebraHTML + cImagem + QuebraHTML
Envia_Email({hb_DirBase()+"ASAPREV.NEW"},, cMensagem, "asaprev1.png", .F.)
FUNCTION Envia_Email(aArquivo, cAssunto, cMensagem, cImagem, lInformaEnvio)
LOCAL lOk := .T.
hb_Default(@aArquivo,{})
hb_Default(@cAssunto, "Log de atualização de sistema em: "+hb_DtoC(Date(), "DD/MM/YYYY"))
hb_Default(@cMensagem, "Log de erro de sistema em: "+hb_DtoC(Date(), "DD/MM/YYYY"))
hb_Default(@cImagem, "")
hb_Default(@lInformaEnvio, .T.)
aFiles := aArquivo // pode ser uma matriz com vários endereços
cSubject := cAssunto
aQuem := "Alexandre Simões <asimoesluz@gmail.com>"
cMsg := cMensagem
cServerIp:= "smtp.gmail.com" // servidor smtp
cFrom := "Sistema AsaPrev <origem@gmail.com>"
cUser := "origem@gmail.com" //"xhbsistemas"
cPass := senha"
vPORTSMTP:= 465
aCC := "Alexandre Simões <copia@yahoo.com.br>"
aBCC := "" // caracteres entre aspas
lConf := .F.
lSSL := .T.
lOk := Config_Mail(aFiles,;
cSubject,;
aQuem,;
cMsg,;
cServerIp,;
cFrom,;
cUser,;
cPass,;
vPORTSMTP,;
aCC,;
aBCC,;
lConf,;
lSSL,;
cImagem,;
lInformaEnvio)
RETURN lOk
FUNCTION Config_Mail(aFiles, cSubject, aQuem, cMsg, cServerIp, cFrom, cUser, cPass, vPORTSMTP, aCC, aBCC, lConf, lSSL, cImagem, lInformaEnvio)
LOCAL lRet
LOCAL oCfg, oErroMail
LOCAL lAut := .T. //cdpar000->mauth
hb_Default(@cImagem, "")
hb_Default(@lInformaEnvio, .T.)
TRY
oCfg := win_OleCreateObject( "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 := lSSL
:Item("http://schemas.microsoft.com/cdo/configuration/sendusername"):Value := AllTrim(cUser)
:Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"):Value := AllTrim(cPass)
:Update()
END WITH
lRet := .T.
CATCH oErroMail
IF lInformaEnvio
MsgStop("Não foi possível enviar o e-mail!" +hb_EOL()+ ;
"Error: " + Transform(oErroMail:GenCode, nil) + ";" +hb_EOL()+ ;
"SubC: " + Transform(oErroMail:SubCode, nil) + ";" +hb_EOL()+ ;
"OSCode: " + Transform(oErroMail:OsCode, nil) + ";" +hb_EOL()+ ;
"SubSystem: " + Transform(oErroMail:SubSystem, nil) + ";" +hb_EOL()+ ;
"Mensagem: " + oErroMail:Description, "Atenção", 150, 10000, 2, .T.)
ENDIF
lRet := .F.
END
//--> FIM DAS CONFIGURAÇOES.
IF lRet
lRet := Envia_Mail(oCfg,;
cFrom,;
aQuem,;
aFiles,;
cSubject,;
cMsg,;
aCC,;
aBCC,;
lConf,;
lAut,;
lSSL,;
cServerIp,;
cImagem,;
lInformaEnvio)
ENDIF
RETURN lRet
FUNCTION Envia_Mail(oCfg, cFrom, cDest, aFiles, cSubject, cMsg, aCC, aBCC, vEmaiL_Conf, lAut, lSSL, cServerIp, cImagem, lInformaEnvio )
LOCAL aTo
LOCAL lRet
LOCAL nEle, oErroMail
LOCAL cImagem1:='<img src="asaprev1.png" alt="AsaPrev">'
hb_Default(@cImagem, "")
hb_Default(@lInformaEnvio, .T.)
IF !Empty(cImagem)
cImagem1:='<img src="'+cImagem+'" alt="AsaPrev">'
ENDIF
aTo:= { cDest } //--> PARA
nEle := 1
FOR I:=1 TO Len(aTo)
TRY
Notificar("Aguarde, processando o envio do email.", "Monitor AsaPrev")
oMsg := win_OleCreateObject( "CDO.Message" )
WITH OBJECT oMsg
:Configuration := oCfg
:From := cFrom
:To := aTo[i]
:Cc := aCC
:BCC := aBCC
:Subject := cSubject
* ---------------------------------------------------------
* Aqui adiciona a imagem ao corpo da mensagem
* ---------------------------------------------------------
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 X := 1 TO Len( aFiles )
:AddAttachment(AllTrim(aFiles[x]))
DO EVENTS
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()
DO EVENTS
:Send()
END WITH
IF lInformaEnvio
MsgInfo("E-mail enviado com sucesso", "Atenção")
ENDIF
lRet := .T.
CATCH oErroMail
IF lInformaEnvio
MsgStop("Não foi possível enviar a mensagem: "+cSubject+hb_EOL()+;
"para o email: " + aTo[i]+"." +hb_EOL()+;
"Erro: " +oErroMail:Description , "Atenção")
ENDIF
lRet := .F.
END
NEXT
oCfg := Nil
oMsg := Nil
RETURN lRet
22 Jan 2016 09:16
22 Jan 2016 10:37
29 Fev 2016 17:57
29 Fev 2016 18:37
29 Fev 2016 20:35
29 Fev 2016 20:57
libeay32.dll
msvcr120.dll
ssleay32.dll
Precisa das libs:
hbssl.hbc
hbtip.hbc
AzulHTML := '<span style="color:#0000FF">'
VermelhoHTML := '<span style="color:#FF0000">'
QuebraHTML := "
"
cImagem:='<img src="asaprev1.jpg" alt="Monitor AsaPrev">'
cMensagem:=AzulHTML +"Log de confirma‡Æo de atualiza‡Æo de sistema em: "+hb_DtoC(Date(),"DD/MM/YYYY")+QuebraHTML+;
VermelhoHTML+"Feito pelo Monitor AsaPrev."+QuebraHTML+;
cImagem
Envia_Email({hb_DirBase()+"ASAPREV.NEW"},,cMensagem,.F.) //Envia email para mim informando que foi feito a atualização.
29 Fev 2016 21:07
01 Mar 2016 11:00
17 Dez 2019 09:48