Jump to content
Fivewin Brasil

Envio de email pelo COBREBEM


Eduardo Bilato

Recommended Posts

Olá a todos.
 
Gostaria de saber se alguém ainda consegue, hoje em 2018, utilizar o CobreBem para envio de boleto POR EMAIL.
Vi vários exemplos na internet, converti, testei, etc, mas não gera erro e nem envia e-mail.
Tentei com contas do Google, Microsoft e e-mail interno, mas nada funcionou.
Vi várias postagens mais antigas, coisa de 2010, que funcionava muito bem essa funcionalidade, mas estou tentando pôr no sistema isso hoje, mas não tive sucesso.
 
Detalhe: Tenho um programa específico para envio de e-mail, e utilizo minha conta Google com a porta 465, mas se utilizo essa mesma conta no CobreBem com a porta 465, gera erro no método EnviaBoletosPorEmail(). Se eu uso a porta 587, não gera erro, mas também não envia o e-mail.
 
Segue abaixo o código que estou usando:
*
*
* ECO 04/04/2018
*
FUNCTION Teste(nNRBC,cCART)
 
LOCAL cSQL
LOCAL cDll := '\DLL\CobreBemX.dll'
LOCAL cCNPJ
LOCAL cArqLicenca
 
LOCAL aSQL
 
LOCAL hOldDll
LOCAL hDll
 
LOCAL oCbx
LOCAL oBoleto
LOCAL oEmailSacado
 
LOCAL lErro:=.F.
 
IF EMPTY(nNRBC) .OR. EMPTY(cCART)
   RETURN
ENDIF
 
IF !FILE(cDll)
   MSGSTOP('A DLL '+cDll+' não foi encontrada. Não é possível gerar preview do boleto...','ATENÇÃO')
   RETURN
ENDIF
 
hOldDll:=GetResources()
hDll   :=LoadLib32(cDll)
 
**************
BEGIN SEQUENCE
**************
   IF hDll <= 32
      MSGSTOP('Não foi possível inicializar a DLL '+cDll+'. Não é possível gerar preview do boleto...','ATENÇÃO')
      BREAK
   ENDIF
 
   cSQL:='SELECT CNPJ DO CLIENTE'
   aSQL:=sqlArray(cSQL)
   IF EMPTY(aSQL)
      MSGALERT('Erro ao obter dados da empresa logada, verifique !','ATENÇÃO')
      BREAK
   ENDIF
   cCNPJ:=STRZERO(VAL(aSQL[01,01]),14)
 
   cArqLicenca:='\Licenca\' + cCNPJ + '-' + STRZERO(nNRBC,3) + '-' + ALLTRIM(cCART)+'.conf'
 
   IF !FILE(cArqLicenca)
      MSGALERT("Arquivo de Licença para a carteira '"+ALLTRIM(cCART)+"' do banco '"+STRZERO(nNRBC,3)+"' não foi encontrado!","ATENÇÃO")
      BREAK
   ENDIF
 
   oCbx:=TOleAuto():New('CobreBemX.ContaCorrente')
 
   IF VALTYPE(oCbx) != 'O'
      MSGINFO('Erro ao tentar inicializar componente.','ATENÇÃO')
      BREAK
   ENDIF
 
   oCbx:ArquivoLicenca:=cArqLicenca
 
   oCbx:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := '\VSIS\'+SIGLC+'\COBREBEM\Imagens\'
   oCbx:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto:='Padrao'
 
   oCbx:PadroesBoleto:Demonstrativo := "DEMONSTRATIVO TESTE"
 
   oCbx:LocalPagamento := 'LOCAL DE PAGAMENTO'
 
   oBoleto:=oCbx:DocumentosCobranca:Add()
 
   oBoleto:DataDocumento                 := DTOC(DATE_SYS())
   oBoleto:DataVencimento                := DTOC(DATE_SYS()+30)
   oBoleto:NumeroDocumento               := '12345'
   oBoleto:ValorDocumento                := 19.00
   oBoleto:TipoDocumentoCobranca         := 'DMI'
   oBoleto:NossoNumero                   := '10000000'
   oBoleto:CNPJSacado                    := ALLTRIM(DSP(99999999999999,"C","J"))
   oBoleto:NomeSacado                    := "NOME DO SACADO"
   oBoleto:EnderecoSacado                := "ENDERECO DO SACADO"
   oBoleto:BairroSacado                  := "BAIRRO DO SACADO"
   oBoleto:CidadeSacado                  := "CIDADE DO SACADO"
   oBoleto:EstadoSacado                  := "UF"
   oBoleto:CepSacado                     := 99999999
   oBoleto:SacadorAvalista               := "SACADOR/AVALISTA"
 
   oBoleto:PadroesBoleto:InstrucoesCaixa = "<br><br>Não cobrar juros e multa após o vencimento"
 
   oCbx:PadroesBoleto:PadroesBoletoEmail:LayoutBoletoEmail:='PadraoImpressao'
 
   oCbx:PadroesBoleto:PadroesBoletoEmail:URLLogotipo:='http://www.cobrebem.com/imagenscbe/341.jpg'
   oCbx:PadroesBoleto:PadroesBoletoEmail:URLImagensCodigoBarras:='http://www.cobrebem.com/imagenscbe/'
 
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:CopiaFrom:=.T.
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:CopiaReply:=.F.
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:FormaEnvio:=1//feeSMTPBoletoHTML $00000000
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:Mensagem:='Corpo do e-mail'
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:Assunto:='Assunto'
 
   oCbx:PadroesBoleto:PadroesBoletoEmail:PadroesEmail:EmailFrom:Endereco:='email@email.com'
 
   oCbx:PadroesBoleto:PadroesBoletoEmail:SMTP:Servidor:='smtp.gmail.com'
   oCbx:PadroesBoleto:PadroesBoletoEmail:SMTP:Porta:=465//465
   oCbx:PadroesBoleto:PadroesBoletoEmail:SMTP:Usuario:='email@email.com'
   oCbx:PadroesBoleto:PadroesBoletoEmail:SMTP:Senha:='senha'
 
   oEmailSacado:=oBoleto:EnderecosEmailSacado:Add()
   oEmailSacado:Nome:='Zé'
   oEmailSacado:Endereco:='destino@gmail.com'
 
   lErro:=.F.
   
   ***
   TRY
   ***
      oCbx:EnviaBoletosPorEmail()
   **********
   CATCH oErr
   **********
      //F_ERRO(oErr,.T.)
      lErro:=.T.
   **********
   END
   **********
 
   IF lErro
      ?'Erro'
   ELSE
      ?'Sucesso'  
   ENDIF
************
END SEQUENCE
************
 
FreeLib32(hDll)
SetResources(hOldDll)
 
RETURN

 

 
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...