Fórum Menssagem de Socket Erro me dando trabalho #427429

28/10/2012

0

Olá meus caros colegas,

estou com sérios problemas quanto aquela velha conhecida menssagem chata de Socket Erro que aparece toda vez que não há conecção de internet, ou quando a conecção fica oscilando e a aplicação não consegue enviar o email. Já andei pesquisando muito sobre isso e ate então não consegui sanar o problema.

Li que tinha que tratar exeções, até segui algumas dicas, mas sem sucesso. Alguém poderia me dar uma dica ao menos para amenizar a exibição dessas mensagens, agradeço muito.

Meu código naquela parte que envia está da seguinte forma >>


IdSMTP1.Connect; //Conecta  ao servidor

try
IdSMTP1.Send(IdMessage1); //Envia
finally
IdSMTP1.Disconnect; //Disconecta
end;
end;
end;
end.


Luiz Eduardo

Luiz Eduardo

Responder

Posts

28/10/2012

Luiz Eduardo

Olá meus caros colegas,

estou com sérios problemas quanto aquela velha conhecida menssagem chata de Socket Erro que aparece toda vez que não há conecção de internet, ou quando a conecção fica oscilando e a aplicação não consegue enviar o email. Já andei pesquisando muito sobre isso e ate então não consegui sanar o problema.

Li que tinha que tratar exeções, até segui algumas dicas, mas sem sucesso. Alguém poderia me dar uma dica ao menos para amenizar a exibição dessas mensagens, agradeço muito.

Meu código naquela parte que envia está da seguinte forma >>


IdSMTP1.Connect; //Conecta  ao servidor

try
IdSMTP1.Send(IdMessage1); //Envia
finally
IdSMTP1.Disconnect; //Disconecta
end;
end;
end;
end.





OBS: Será que não existe alguma coisa tipo sei lá >>


IdSMTP1.Connect; //Conecta  ao servidor

try
IdSMTP1.Send(IdMessage1); //Envia
exept
MessageBox.Hidden
finally
IdSMTP1.Disconnect; //Disconecta
end;
end;
end;
end.



???
Responder

Gostei + 0

28/10/2012

Claudia Nogueira

É com tratamento de exceção mesmo.
Pode colocar todo o código no mesmo bloco do try except e tratar a mensagem.
Se estiver compilando, a exceção vai mostrar de qualquer forma, a não ser que você marque a opção para ignorar exceção.
Executando normal, por fora do Delphi, irá mostrar somente a mensagem tratada.
Responder

Gostei + 0

29/10/2012

Singular Ti

Eduardo tente fazer assim:
para se conetar ao servidor smtp:
try
      IdSMTP.Connect(2000); // tenta se conectar no servidor de email (smtp) aguarda 2 segundos antes de tentar novamente
    except
      raise Exception.Create('Atenção, problemas ao conectar-se com o seu servidor SMTP');
    end;


Depois na hora de enviar o e-mail tu pode fazer assim:
 try
        IdSMTP.Send(IdMessage);
      except
        raise Exception.Create('Atenção, falha ao enviar a mensagem de e-mail');
      end;

Espero ter ajudado...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar