Hola ester!
Porque no intentas capturar el error cuando vas a conectar de esta manera :
Código:
try
smtp.Connect();
smtp.Send(msg);
smtp.Disconnect;
except
/// Aqui capturas las excepciones, osea los errores que te da,
por ejemplo:
on E: EIdSocketError do begin
Showmessage('No se ha podido enviar el email.'+ #13 +
'Host desconocido o incorrecto.');
end
Espero que te sirva de ayuda.
Saludos!