Ir para conteúdo
  • Cadastre-se

dev botao

Acbrmail Erro E Aplicação Presa


Ver Solução Respondido por joaoelson,
  • Este tópico foi criado há 2989 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

olá amigos.

 

Estou em dúvidas com uma situação. Migrei o envio de email para o ACBrMail. 

Consegui fazer enviar e-mail, está tudo ok, porém, quando dá um erro por algum motivo, seja lá no servidor smtp e etc, mesmo que eu feche a aplicação, a mesma fica presa em memória. Somente consigo encerrar totalmente pelo gerenciador de tarefas do windows. 

Já coloquei antes do comando que encerra a aplicação, o comando para eliminar o componente, mas nada resolveu:

FreeAndNil(DM.ACBrMail1);
Application.Terminate;

A aplicação fecha, mas continua presa em memória e só consigo encerrar totalmente pelo gerenciador de tarefas, Alguma dica para isso?

Só acontece com o ACBrMail.

 

 

 

  • Fundadores
Postado

Há um TimeOut definido no sistema operacional, para erros Socket...

 

A aplicação não é encerrada mesmo depois de um Tempo ?

 

Consegue reproduzir os problemas nos demos do ACBrMail ?

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.

  • Consultores
Postado

Você está utilizando o envio de e-mail por Thread?

[]'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.
Postado (editado)

Olá amigos.

 

Desculpa a demora para responder, desde já agradeço a ajuda.

Modifiquei algumas linhas na finalização do meu aplicativo. Analisando pausadamente a compilação do aplicativo, verifiquei algumas situações. 

A aplicação não está mais ficando presa permanentemente, agora, está demorando muito para encerrar totalmente.

Estudando o caso, verifiquei o que está causando lentidão ao destruir o componente. Dentro de "destructor TACBrMail.Destroy", tem o comando "Clear;". Dentro de "Clear;" ao chegar na linha "fSMTP.Reset;", está demorando muito para passar. A function TSMTPSend.Reset está levando 1 minuto contado para retornar. 

Percebi que esse problema só ocorre, quando anteriormente no envio pelo ACBrMail, o erro foi de SMTP. 

 

Respondendo a pergunta do amigo Daniel, No demo do ACBrMail, não ocorre esse erro, tentei reproduzir mas não ocorreu.   

A forma que utilizo para enviar e-mail é praticamente a cópia do demo do acbr, amigo EMBarbosa. 

 

Alguma sugestão caros amigos?

Editado por joaoelson
  • Solution
Postado

Amigos.

 

Depois de analisar alguns pontos, resolvi o problema.

Esse problema só ocorre quando a propriedade Host do componente ACBrMail estiver: em branco ou for um endereço ou IP inválido. A aplicação demorará 60 segundos para encerrar totalmente. Consegui reproduzir o problema com o demo do ACBrMail.

Um dos meus clientes me passou o endereço do seu servidor de e-mail errado, por isso estava ocorrendo o erro, só consegui resolver hoje, depois de entrar em contato com o serviço de hospedagem. 

Para maiores esclarecimentos, leia o post acima.

 

 

Obrigado.

João elson

  • Curtir 2
  • Consultores
Postado

Muito obrigado pelo retorno João. Tenho certeza que poderá ajudar outros.

A propósito, você pode marcar seu tópico como resolvido clicando no botão "Resolvido" que fica logo abaixo do post no qual você está a solução.

[]'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.
  • Fundadores
Postado

2.2 - Permaneça no assunto - Quando tiver uma dúvida diferente do assunto no tópico, poste em novo tópico. Não use algo equivalente a "aproveitando o gancho... [dúvida não relacionada com o tópico aqui]".

  • Curtir 1
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.

  • 1 ano depois...
Postado
Em 14/01/2015 at 12:43, Daniel Simoes disse:

2.2 - Permaneça no assunto - Quando tiver uma dúvida diferente do assunto no tópico, poste em novo tópico. Não use algo equivalente a "aproveitando o gancho... [dúvida não relacionada com o tópico aqui]".

 

Prezados,


Ao enviar um email a propriedade Reset trava em torno de 1 minuto. Em resumo trava o envio de email. 

É possível criar uma variável do tipo boolean no método Clear? Informado se deseja utilizar a propriedade Reset. Caso a variável seja false a propriedade Reset não é chamada. Dessa forma o envio de email não trava. 
Ex.:

O Default é true.

procedure TACBrMail.Clear(Reset: Boolean);
begin
  ClearAttachments;
  if Reset then
    fSMTP.Reset;
  Etc...  
end;

 

 

 

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.