Eduardo Bilato Posted April 4, 2018 Report Share Posted April 4, 2018 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.