Tema: smtp
Ver Mensaje Individual
  #4  
Antiguo 25-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 30
jachguate Va por buen camino
Para ser exactos... si ocurre un error distinto de EIdSocketError tampoco se desconectaría... puesto que la excepción sigue saltantose el stack...

lo correcto, sería:

Código:
try
  smtp.Connect();
  try
    smtp.Send(msg);
  finally
    smtp.Disconnect; // no es necesario chequear si está conectado... pues se ejecuta
                        // solo si fue posible conectarse (y siempre que se haya conectado)
  end;
except
  // Aqui capturas las excepciones, osea los errores que te da,
  // por ejemplo:
  // capturará todas las excepciones, ocurridas durante la conexión, el envio del
  // mensaje y la desconección.
  on E: EIdSocketError do begin
     Showmessage('No se ha podido enviar el email.'+ #13 +
                         'Ha ocurrido el error de socket No. ' + IntToStr(e.LastError));
     // esto debido a que el error de sockets no puede darse solo porque 
     // el host sea desconocido o incorrecto.
     // mas info siguiendo este enlace
end
Hasta luego.


Última edición por jachguate fecha: 25-02-2004 a las 03:48:19. Razón: resaltar el código
Responder Con Cita