Ir para conteúdo
  • Cadastre-se

dev botao

Novo Componente Acbrmail


Jean Patrick
  • Este tópico foi criado há 3512 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Esta é a primeira vez que participo do projeto ACBr. A oportunidade surgiu quando comecei a trabalhar para DJSystem.

Com a supervisão e sugestões do Daniel Simões, foi desenvolvido o componente ACBrMail que, como o nome já sugere, é para o envio de e-mails. Funciona no Lazarus (Windows e Linux) e no Delphi.

 

O componente ACBrMail usa as classes da biblioteca Synapse  para montar e enviar os e-mails. No desenvolvimento do código, tomou-se por base: os conceitos e exemplos apresentados no site do projeto Synapse , o projeto xmailer do Sílvio Clécio e os métodos e propriedades do projeto PHPmailer.
 

 

FUNCIONALIDADES:

Cliente SMTP com suporte a SSL e TLS;
Suporte ao envio de múltiplos e-mails;
Suporte a envios TO, CC, BCC e Reply-To;
Confirmação de leitura;
Suporte a Charset;
Mensagens em texto puro, HTML ou ambos;
Mensagens com múltiplos anexos;
Anexos por arquivo ou Stream;
Imagens anexadas em linha para usar em mensagens html;
Três eventos para acompanhar o processo de envio;

O componente já está no svn do projeto, faz parte do pacote ACBrTCP e acompanha exemplo de uso (um exemplo mais elaborado está sendo produzido).

  • Curtir 11
Consultor SAC ACBr Jean Patrick Figueiredo dos Santos
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

                    DJPDV - Um frente de caixa SIMPLES e COMPLETO

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Pequeno exemplo da forma de envio... (extraído do Demo atual)

  ACBrMail1.From := 'seu_email';
  ACBrMail1.FromName := 'seu_nome_opcional';
  ACBrMail1.Host := 'smtp.gmail.com'; // troque pelo seu servidor smtp
  ACBrMail1.Username := 'seu_usuario';
  ACBrMail1.Password := 'sua_senha';
  ACBrMail1.Port := '465'; // troque pela porta do seu servidor smtp
  ACBrMail1.AddAddress('um_email','um_nome_opcional');
  ACBrMail1.AddCC('um_email'); // opcional
  ACBrMail1.AddReplyTo('um_email'); // opcional
  ACBrMail1.AddBCC('um_email'); // opcional
  ACBrMail1.Subject := 'Teste de Envio'; // assunto
  ACBrMail1.IsHTML := True; // define que a mensagem é html
  // mensagem principal do e-mail. pode ser html ou texto puro
  ACBrMail1.Body.Text :=
  '<html>'+#13+#10+
  '<head>'+#13+#10+#13+#10+
  '  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">'+#13+#10+
  '</head>'+#13+#10+
  '<body text="#000000" bgcolor="#FFFFFF">'+#13+#10+
  '<h1>Texto em HTML.</h1><br>'+#13+#10+
  '</body>'+#13+#10+
  '</html>'+#13+#10;
  ACBrMail1.AltBody.Text := 'Texto puro alternativo.';
  ACBrMail1.AddAttachment('um_arquivo','um_nome_opcional');
  ACBrMail1.Send;

Lembrando que para o suporte a TLS ou SSL funcionar é necessária a presença das já conhecidas DLLs do OpenSSL: libeay32.dll e ssleay32.dll

  • Curtir 4
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Opá, parabéns Jepafi, pelo excelente trabalho.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Boa Tarde,

 

Existe a possibilidade de integrar este componente ao ACBrNFeMonitor ??

 

Abraço;

 

Toninho Silva

 

SIM, está nos nossos planos modificar o componente ACBrNFe2 e ACBrBoleto (e demais) para que eles possam se conectar ao componente ACBrMail... ou seja, haverá uma nova propriedade nesses componentes do tipo TACBrMail

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Parabens pela criação deste componente, gostaria apenas de perguntar, caso exista favor desconsiderar.

 

eu uso um arquivo retirado dos fontes do acbr pra envio de email que funciona dentro de uma Thread, gostaria de saber se o componente em questão utiliza tb, e caso não utilize se seria possível que a procedure envia(send) trabalhasse dentro de uma thread pra evitar travamentos.

 

Att. Solivan

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

Parabens pela criação deste componente, gostaria apenas de perguntar, caso exista favor desconsiderar.

 

eu uso um arquivo retirado dos fontes do acbr pra envio de email que funciona dentro de uma Thread, gostaria de saber se o componente em questão utiliza tb, e caso não utilize se seria possível que a procedure envia(send) trabalhasse dentro de uma thread pra evitar travamentos.

 

Att. Solivan

 

A versão atual do componente não usa thread, mas não há nenhum problema em usar o componente dentro de uma thread.

Consultor SAC ACBr Jean Patrick Figueiredo dos Santos
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

                    DJPDV - Um frente de caixa SIMPLES e COMPLETO

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Parabéns pela iniciativa!

 

Gostaria de saber se há algum pacote específico para instalação? Pois só encontrei uma unit na pasta /Fontes/...

É só recompilar os pacotes que ele vai instalar 

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Parabéns pela iniciativa!

 

Gostaria de saber se há algum pacote específico para instalação? Pois só encontrei uma unit na pasta /Fontes/...

Como o Ítalo disse é so compilar os pacotes, em especial o pacote ACBrTCP.dpk, que o componente se instala na paleta de ferramentas :cool: .

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

Eu testei este componente mas não consegui utilizar, acho que é pq não tentei bastante, rs.

 

mas estou enviando normalmente email utilizando a unit extraida dos fontes da Suite ACBr

 

Unit em anexo.

uEnviarEmail.pas

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Para que possar tentar ajuda-los é fundamental descrever pelo menos o erro que aparece na tela...

 

Acredito que boa parte dos problema é erros na configuração do SMTP, ou a falta das DLLs do OpenSSL na pasta do .EXE

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

O erro que ocorre é: "SMTP ERROR: Unable to Login"

 

As configurações da conta são as seguintes:

Conta: Gmail

Host: smtp.gmail.com

Porta: 465

Tentei setar as propriedades setTLS e setSSL, uma de cada vez, mas estoura as três tentativas e não consegue conectar...

 

Passei todos os parâmetros na mesma ordem do exemplo no início deste tópico, e nada...

Link para o comentário
Compartilhar em outros sites

  • Moderadores

O erro que ocorre é: "SMTP ERROR: Unable to Login"

 

As configurações da conta são as seguintes:

Conta: Gmail

Host: smtp.gmail.com

Porta: 465

Tentei setar as propriedades setTLS e setSSL, uma de cada vez, mas estoura as três tentativas e não consegue conectar...

 

Passei todos os parâmetros na mesma ordem do exemplo no início deste tópico, e nada...

Este problema ele já está falando neste outro tópico

Favor se atentar as regras do fórum, obrigado

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Já está disponível no svn um novo exemplo de uso do ACBrMail. Este exemplo é bem completo e pode sanar algumas dúvidas dos que ainda estão com dificuldades em usar o novo componente.

 

O exemplo foi desenvolvido em Lazarus 1.3 com FreePascal 2.6.2. Não testei no Linux (ainda), mas deve funcionar sem alterações. Não esquecer das bibliotecas do OpenSSL:

 

Para Windows (incluir na pasta do executável): libeay32.dll e ssleay32.dll

Para Linux (Debian, Ubuntu, Mint e derivados): sudo apt-get install libssl-dev

 

Segue um resumo das funcionalidades do exemplo e dicas de uso:

 

Funcionalidades:

  • Interface visual moderna e intuitiva
  • Pesquisa e cadastro de contatos
  • Verifica duplicidade de contatos (mesmo nome e e-mail)
  • Valida sintaxe de e-mail
  • Pesquisa e cadastro de múltiplas contas de envio SMTP
  • Configurações SMTP predefinidas para GMail, Hotmail e Yahoo Mail
  • Teste de configurações SMTP
  • Multi inclusão de contatos nas listas de destino (Para:, CC:, CCO: e Responder a:)
  • Opções de confirmação de leitura, codificação, formato de entrega, prioridade e tentativas
  • Envia mensagens em texto puro, HTML ou ambos
  • Completo editor de código HTML com code folding e sintaxe highlighter para HTML, CSS e JavaScript
  • Permite incluir imagens em anexo no código HTML
  • Atalhos de teclado para as principais tags HTML e CSS
  • Gerenciamento de múltiplos anexos (incluir, renomear, excluir e, também, impede duplicidade)

 

Dicas de uso:

  • A ordem ascendente e descendente de todas as listagens pode ser altera clicando no título de uma coluna
  • Duplo clique na lista de e-mails de destino abre a pesquisa de contatos
  • Duplo clique na lista de anexos para incluir um anexo
  • Clicar com o botão direito do mouse na lista de anexos abre um menu com as opções: Anexar Arquivo, Renomear Anexo e Excluir Anexo
  • Estando o foco na lista de anexos, basta pressionar DELETE para excluir o anexo selecionado
  • Estando o foco no editor HTML,  pressionar Ctrl + H para mostrar as teclas de atalho do editor
  • Para incluir uma imagem junto com o HTML da mensagem, fazer assim: incluir a imagem como anexo e usar o nome do anexo (se você não alterou, será o mesmo nome do arquivo) em uma tag <img>. Por exemplo, se o nome do anexo é foto.png a tag poderia ser assim: <img src="cid:foto.png">. Note que o prefixo cid: é obrigatório.

post-14176-0-08121900-1382530883_thumb.j

  • Curtir 2
Consultor SAC ACBr Jean Patrick Figueiredo dos Santos
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

                    DJPDV - Um frente de caixa SIMPLES e COMPLETO

Link para o comentário
Compartilhar em outros sites

agora ta ocorrendo o seguinte:

 

se adiciono a linha:    ACBrMail1.AddAttachment('f:\clientes.csv')

 
o projeto fecha, mas nao envia o email com anexo, e se tento compilar novamente (F9), nao compila, so pisca o delphi e volta no mesmo lugar.
 
o antivirus ta excluindo o executavel (Norton 360) e nao deixa compilar
 
se nao coloco anexo, vai normal
 
assim nao envia:
   ACBrMail1.AddAttachment('f:\clientes.csv');
   ACBrMail1.Send;
 
assim envia normal:
   // ACBrMail1.AddAttachment('f:\clientes.csv');
   ACBrMail1.Send;
 
mas o antivirus exclui o executavel de qq forma
 
alguma dica? usei o exemplo q foi postado aqui neste post.
e onde esta o demo?
 
 
  • Curtir 1

Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

TW Speed Telecom

Link para o comentário
Compartilhar em outros sites

  • Consultores

Desabilita o antivírus?

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Compile com o modo de construção "Release" em vez de "Debug". Parece que alguma opção ativada pelo modo de construção "Debug", criado automaticamente pelo Lazarus, resulta em um falso positivo no Norton.

 

Editado:

Desculpe, agora que notei que você está usando o Delphi, mas desativar o "Debug" do Delphi pode resolver. Ou executar o aplicativo fora do Delphi.

  • Curtir 1
Consultor SAC ACBr Jean Patrick Figueiredo dos Santos
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

                    DJPDV - Um frente de caixa SIMPLES e COMPLETO

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3512 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...