![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
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
Saludos! |
|
#2
|
|||
|
|||
|
sólo una pequeña correción
Código:
try
smtp.Connect();
smtp.Send(msg);
// smtp.Disconnect; si se produciera un error no podrias volver a conectar
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
if smtp.connected then smtp.Disconnect; //
|
|
#3
|
||||
|
||||
|
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
![]() Última edición por jachguate fecha: 25-02-2004 a las 03:48:19. Razón: resaltar el código |
|
#4
|
||||
|
||||
|
Menos mal, siempre estaís ahí, para corregirme...
![]() |
|
#5
|
||||
|
||||
|
Bueno, he tenido el mismo problema (el email no se envía) y no aparece el error.
Uso el código: Código:
Try
If not(SMTP.Connected) then
SMTP.Connect;
SMTP.Send(Mensage);
SMTP.Disconnect;
Application.MessageBox('El Registro se Completo con exito','Atención',MB_Ok);
ModalResult := mrOk;
Except
Application.MessageBox('El Registro no pudo ser completado','Atención',MB_Ok);
End;
Mensage.From.Address := fromAddress.Text; En la que yo asignaba el valor dado por el usuario.
__________________
Sitrico |
|
#6
|
||||
|
||||
|
Strico como se si un mail es invalido.
Yo tengo un problema parecido, no me envia el mail y no se porque, ya eh provado capturando los errores incluso lo que dice jachgate lo de capturar el error en el socket, y na de na, te paso mi codigo haber si.... Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
IdSmtp1.Connect;
try
// Envio el mensaje.
IdSmtp1.Send(idMessage1);
finally
IdSmtp1.Disconnect;
end;
ShowMessage('Enviado Correctamente');
except
// Capturo algunas excepciones que pueden ocurrir
ON E: EIdProtocolReplyError do begin
ShowMessage('No se ha podido enviar el email.' + #13 +
'Incorrecto el email o el usuario o la password.');
end;
on E: EFOpenError do begin
ShowMessage('No se ha podido enviar el email.' + #13 +
'Fichero Adjunto desconocido o erróneo.');
end;
on E: EIdSocketError do begin
ShowMessage('No se ha podido enviar el email.'+ #13 +
'Host desconocido o incorrecto. Ha ocurrido el error en el sochet nº ' + IntToStr(e.LastError));
end
else begin
ShowMessage('Fallo en el envio de email');
Raise;
end;
end;
if IdSmtp1.Connected then IdSmtp1.Disconnect;
end;
Haber si de una vez consigo hacer funcionar este componente, gracias. |
|
#7
|
|||
|
|||
|
Hola Volare:
te falla la conexión Código:
try
IdSmtp1.Connect;//falla aquí
try
// Envio el mensaje.
IdSmtp1.Send(idMessage1);
finally
IdSmtp1.Disconnect;
end;
ShowMessage('Enviado Correctamente');
except
...
end;
Host: la dirección o el nombre de tu servidor de correo. ej tu_servidor.com User: la cuenta de usuario. ej tu_cuenta_de_correo Password: el pàssword del usuario. ej tu_password_de_correo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|