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