Tenho um bd que gera boleto através do modulo CobrebemX funcionar normalmente a forma de impressão, porém preciso configurar para enviar por email, o fornecedor passou a dica, porém não consegui adaptar o código para que funcione, segue abaixo o código atual:
Public Function GeraBoleto1()
Dim cbx As CobreBemX.ContaCorrente
'Cria instância do objeto CobreBemX
Set cbx = CreateObject("CobreBemX.ContaCorrente")
'Monta arquivo de licença de teste para banco 001 carteira 18
cbx.ArquivoLicenca = DLookup("licenca", "qrytblConfigBoletoCaixa")
Dim cs As Recordset
Set cs = DBEngine.Workspaces(0).Databases(0).OpenRecordset("ControleNossoNumero")
'Monta dados da conta corrente
cbx.CodigoAgencia = DLookup("agencia", "qrytblConfigBoletoCaixa")
cbx.NumeroContaCorrente = DLookup("conta", "qrytblConfigBoletoCaixa")
cbx.CodigoCedente = DLookup("cedente", "qrytblConfigBoletoCaixa")
cbx.OutroDadoConfiguracao1 = DLookup("configura", "qrytblConfigBoletoCaixa")
cbx.InicioNossoNumero = cs("Inicio")
cbx.FimNossoNumero = cs("Fim")
cbx.ProximoNossoNumero = cs("Proximo")
cbx.PadroesBoleto.PadroesBoletoImpresso.ArquivoLogotipo = DLookup("logo", "qrytblConfigBoletoCaixa")
cbx.PadroesBoleto.PadroesBoletoImpresso.CaminhoImagensCodigoBarras = DLookup("imagens", "qrytblConfigBoletoCaixa")
cbx.PadroesBoleto.PadroesBoletoImpresso.LayoutBoleto = "Padrao"
Dim ds As Recordset
Set ds = DBEngine.Workspaces(0).Databases(0).OpenRecordset("contasrboleta")
Dim contasrboleta As CobreBemX.IDocumentoCobranca
While Not ds.EOF
' Cria documento de cobrança
Set contasrboleta = cbx.DocumentosCobranca.Add
' Monta dados do sacado
contasrboleta.NomeSacado = ds("cliente_fornecedor")
contasrboleta.EnderecoSacado = ds("Endereço")
contasrboleta.BairroSacado = ds("bairro")
contasrboleta.CidadeSacado = ds("Cidade")
contasrboleta.EstadoSacado = ds("estado")
contasrboleta.CepSacado = ds("CEP")
contasrboleta.NossoNumero = ds("ID")
contasrboleta.CNPJSacado = ds("SeuCampo_CPF_CNPJ")
contasrboleta.NumeroDocumento = ds("ID")
contasrboleta.dataVencimento = Format(ds("venc"), "dd/mm/yyyy")
contasrboleta.PadroesBoleto.InstrucoesCaixa = "Após o vencimento cobrar atualização monetária pelo (IGPM), juros de " & ds("juros") & "% pro rata dia e multa de " & ds("multa") & "% sobre o total." & "
" & DLookup("mensagem1", "qrytblConfigBoletoCaixa")
contasrboleta.PadroesBoleto.Demonstrativo = ds("conta2") & Format(ds("valor2"), " R$###,###,##0.00") & "
" & ds("conta3") & Format(ds("valor3"), " R$###,###,##0.00") & "
" & ds("conta") & Format(ds("valor1"), " R$###,###,##0.00") & "
" & ds("conta4") & Format(ds("valor4"), " R$###,###,##0.00") & "
" & ds("conta5") & Format(ds("valor5"), " R$###,###,##0.00") & "
" & ds("conta6") & Format(ds("valor6"), " R$###,###,##0.00") & "
" & ds("conta7") & Format(ds("valor7"), " R$###,###,##0.00") & "
" & ds("conta8") & Format(ds("valor8"), " R$###,###,##0.00") & "
" & ds("conta9") & Format(ds("valor9"), " R$###,###,##0.00") & "
" & ds("conta10") & Format(ds("valor10"), " R$###,###,##0.00") & "
" & "OBSERVAÇÕES: " & ds("anotacp")
' Monta dados do documento de cobrança
contasrboleta.ValorDocumento = ds("valorcr")
ds.MoveNext
Wend
cbx.ImprimeBoletos
'cbx.EnviaBoletosPorEmail
'cbx.ExportAsFixedFormat OutputFileName:=CurrentProject.path & "teste" & ".pdf", ExportFormat:=wdExportFormatPDF
cs.Edit
cs("Proximo") = cbx.ProximoNossoNumero
cs.Update
'Dim gera As CobreBemX.IDocumentoCobranca
'Dim docWord As Object
Dim I As Integer
For I = 0 To cbx.DocumentosCobranca.Count - 1
Next I
'Libera instãncia do objeto CobreBemX
Set cbx = Nothing
End Function
SEGUE TAMBÉM A MENSAGEM DO FORNECEDOR PARA CONFIGURAR O BOLETO PARA ENVIO POR EMAIL
Primeiramente, configure as propriedades "Servidor", "Porta", "Usuario" e "Senha", do objeto 'ISMTP'.
Após, no objeto 'IPadroesBoletoEmail', utilize as propriedades "Assunto", "Mensagem" e no objeto 'IEmail', para definir quem está enviando o email, use as propriedades "Endereco" e "Nome".
Feito isso, na propriedade "IFormaEnvio", defina o valor 0 para enviar o boleto no corpo da mensagem ou o 1 para enviar em anexo, ambos no formato HTML.
No objeto 'IContaCorrente', utilize o método "EnviaBoletosPorEmail" e sua aplicação estará pronta para o envio. Exemplo:
CobreBemX.PadroesBoleto.PadroesBoletoEmail.URLImagensCodigoBarras := 'http://cobrebem.com/imagenscbe/';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.URLLogotipo := 'http://cobrebem.com/imagenscbe/001.jpg';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Servidor := 'SMTP.SEUSERVIDOR.COM';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Porta := 25;
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Usuario := 'USUARIO@SEUSERVIDOR.COM';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Senha := 'SUA_SENHA';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Assunto := 'Assunto';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Mensagem := 'Mensagem';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Email.Endereco := 'Endereço_Remetente';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Email.Nome := 'Nome_Remetente';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.FormaEnvio := 0;
...
Boleto := CobreBemX.DocumentosCobranca.Add;
...
Email := Boleto.EnderecosEmailSacado.Add;
Email.Nome := Boleto.NomeSacado;
Email.Endereco := 'Endereco_Destinatário';
...
CobreBemX.EnviaBoletosPorEmail;
Public Function GeraBoleto1()
Dim cbx As CobreBemX.ContaCorrente
'Cria instância do objeto CobreBemX
Set cbx = CreateObject("CobreBemX.ContaCorrente")
'Monta arquivo de licença de teste para banco 001 carteira 18
cbx.ArquivoLicenca = DLookup("licenca", "qrytblConfigBoletoCaixa")
Dim cs As Recordset
Set cs = DBEngine.Workspaces(0).Databases(0).OpenRecordset("ControleNossoNumero")
'Monta dados da conta corrente
cbx.CodigoAgencia = DLookup("agencia", "qrytblConfigBoletoCaixa")
cbx.NumeroContaCorrente = DLookup("conta", "qrytblConfigBoletoCaixa")
cbx.CodigoCedente = DLookup("cedente", "qrytblConfigBoletoCaixa")
cbx.OutroDadoConfiguracao1 = DLookup("configura", "qrytblConfigBoletoCaixa")
cbx.InicioNossoNumero = cs("Inicio")
cbx.FimNossoNumero = cs("Fim")
cbx.ProximoNossoNumero = cs("Proximo")
cbx.PadroesBoleto.PadroesBoletoImpresso.ArquivoLogotipo = DLookup("logo", "qrytblConfigBoletoCaixa")
cbx.PadroesBoleto.PadroesBoletoImpresso.CaminhoImagensCodigoBarras = DLookup("imagens", "qrytblConfigBoletoCaixa")
cbx.PadroesBoleto.PadroesBoletoImpresso.LayoutBoleto = "Padrao"
Dim ds As Recordset
Set ds = DBEngine.Workspaces(0).Databases(0).OpenRecordset("contasrboleta")
Dim contasrboleta As CobreBemX.IDocumentoCobranca
While Not ds.EOF
' Cria documento de cobrança
Set contasrboleta = cbx.DocumentosCobranca.Add
' Monta dados do sacado
contasrboleta.NomeSacado = ds("cliente_fornecedor")
contasrboleta.EnderecoSacado = ds("Endereço")
contasrboleta.BairroSacado = ds("bairro")
contasrboleta.CidadeSacado = ds("Cidade")
contasrboleta.EstadoSacado = ds("estado")
contasrboleta.CepSacado = ds("CEP")
contasrboleta.NossoNumero = ds("ID")
contasrboleta.CNPJSacado = ds("SeuCampo_CPF_CNPJ")
contasrboleta.NumeroDocumento = ds("ID")
contasrboleta.dataVencimento = Format(ds("venc"), "dd/mm/yyyy")
contasrboleta.PadroesBoleto.InstrucoesCaixa = "Após o vencimento cobrar atualização monetária pelo (IGPM), juros de " & ds("juros") & "% pro rata dia e multa de " & ds("multa") & "% sobre o total." & "
" & DLookup("mensagem1", "qrytblConfigBoletoCaixa")
contasrboleta.PadroesBoleto.Demonstrativo = ds("conta2") & Format(ds("valor2"), " R$###,###,##0.00") & "
" & ds("conta3") & Format(ds("valor3"), " R$###,###,##0.00") & "
" & ds("conta") & Format(ds("valor1"), " R$###,###,##0.00") & "
" & ds("conta4") & Format(ds("valor4"), " R$###,###,##0.00") & "
" & ds("conta5") & Format(ds("valor5"), " R$###,###,##0.00") & "
" & ds("conta6") & Format(ds("valor6"), " R$###,###,##0.00") & "
" & ds("conta7") & Format(ds("valor7"), " R$###,###,##0.00") & "
" & ds("conta8") & Format(ds("valor8"), " R$###,###,##0.00") & "
" & ds("conta9") & Format(ds("valor9"), " R$###,###,##0.00") & "
" & ds("conta10") & Format(ds("valor10"), " R$###,###,##0.00") & "
" & "OBSERVAÇÕES: " & ds("anotacp")
' Monta dados do documento de cobrança
contasrboleta.ValorDocumento = ds("valorcr")
ds.MoveNext
Wend
cbx.ImprimeBoletos
'cbx.EnviaBoletosPorEmail
'cbx.ExportAsFixedFormat OutputFileName:=CurrentProject.path & "teste" & ".pdf", ExportFormat:=wdExportFormatPDF
cs.Edit
cs("Proximo") = cbx.ProximoNossoNumero
cs.Update
'Dim gera As CobreBemX.IDocumentoCobranca
'Dim docWord As Object
Dim I As Integer
For I = 0 To cbx.DocumentosCobranca.Count - 1
Next I
'Libera instãncia do objeto CobreBemX
Set cbx = Nothing
End Function
SEGUE TAMBÉM A MENSAGEM DO FORNECEDOR PARA CONFIGURAR O BOLETO PARA ENVIO POR EMAIL
Primeiramente, configure as propriedades "Servidor", "Porta", "Usuario" e "Senha", do objeto 'ISMTP'.
Após, no objeto 'IPadroesBoletoEmail', utilize as propriedades "Assunto", "Mensagem" e no objeto 'IEmail', para definir quem está enviando o email, use as propriedades "Endereco" e "Nome".
Feito isso, na propriedade "IFormaEnvio", defina o valor 0 para enviar o boleto no corpo da mensagem ou o 1 para enviar em anexo, ambos no formato HTML.
No objeto 'IContaCorrente', utilize o método "EnviaBoletosPorEmail" e sua aplicação estará pronta para o envio. Exemplo:
CobreBemX.PadroesBoleto.PadroesBoletoEmail.URLImagensCodigoBarras := 'http://cobrebem.com/imagenscbe/';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.URLLogotipo := 'http://cobrebem.com/imagenscbe/001.jpg';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Servidor := 'SMTP.SEUSERVIDOR.COM';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Porta := 25;
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Usuario := 'USUARIO@SEUSERVIDOR.COM';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.SMTP.Senha := 'SUA_SENHA';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Assunto := 'Assunto';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Mensagem := 'Mensagem';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Email.Endereco := 'Endereço_Remetente';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.Email.Nome := 'Nome_Remetente';
CobreBemX.PadroesBoleto.PadroesBoletoEmail.PadroesEmail.FormaEnvio := 0;
...
Boleto := CobreBemX.DocumentosCobranca.Add;
...
Email := Boleto.EnderecosEmailSacado.Add;
Email.Nome := Boleto.NomeSacado;
Email.Endereco := 'Endereco_Destinatário';
...
CobreBemX.EnviaBoletosPorEmail;