Problemas con la lectura de correos
Hola a todos
Tengo un problema al leer correos con Indy de una cuenta de Gmail, resulta que hice mis pruebas en mi maquina y otras funciona todo bien, pero en las maquinas del cliente no y la veradad nose que puede ser. Este es mi codigo:
En mi archivo Log aparece muchas veces "No se ha podido conectar con el servidor POP." , osea que ha habido problemas al leer el correo, pense que era problema de la bliblioteca OpenSSL, pero no, he probado con la ultima versión y nada, el problema sigue, despues pense que era problema de conexion o que el puerto estaba bloqueado, pero nada, despues de hacer pruebas resulta que si lee algunas veces y me guarda en BD, pero la mayoría de las veces no le y se sigue guardando "No se ha podido conectar con el servidor POP" en mi archivo Log. Esto solo ocurre con las maquinas del cliente, en las otras que yo he probado, no he tenido ningún problema me lee los correos, la unica ves que vi que no lo hizo fue porque la conexión a Internet se me ha desconectado, pero despues todo bien. Debi haber añadido el mensaje de error en mi excepción, pero se me ha ido, con esto de las exepciones no soy muy buena. ¿Mi pregunta, que creen que pueda estar pasando, que mas puedo probar, me pueden ayudar por favor, por favor? Nota.- Voy a continuar mi mensaje abajo. Saluditos y muchísimas gracias por adelantado |
Continuando..........
Lo ultimo que hice y que no he probado todavía en las maquinas del cliente, es aumentar mas excepciones y guardarme el error, me gustaría que por favor me lo revisen para decirme si he puesto bien mis excepciones por favor.
Saluditos y muchas gracias de nuevo |
Hola Caro.
Te puedo comentar del tema de las excepciones, si quieres que pruebe algo de la conexión me puedes enviar un proyecto de prueba, creo que tengo alguna cuenta de GMail por ahí, aunque no la uso normalmente, y lo pruebo gustoso. En cuanto a las excepciones, lo único que yo cambiaría es que después de hacer el AddLog colocaría un Exit (o un raise), porque sino como ya has capturado la excepción, el programa intentará continuar. Y eso creo que no te interesa. Es decir; Si falla la conexión en la línea:
Como ya capturas la excepción correctamente en:
El programa intentará continuar con la siguiente línea; Es decir:
Y supongo que como la conexión ya no se ha hecho bien, volverá a dar error. Lo que yo haría es salir con un Exit, depues de capturar cada error y añadirlo al log. En este caso no creo que te interese propagar la excepción con raise. Un saludo. |
Yo además le agregaría el nombre de la clase del error:
Esto después te puede servir para no hacer lo mismo cada que pase algo. Algo como: De esta forma podrías tratar cada error de manera especial. Si falló la conexión te sales, si fue alguna otra cosa, podrías hacer otra cosa. o como recomiendan en la ayuda de delphi:
Además, de esta forma podrías poner todo tu código en un solo bloque Try..Except. No tendrías necesidad de poner try..except a cada instrucción. Si todos los errores son de la misma clase, se deberían poder identificar por número con Error.ErrNum, con lo que también podrías darle un manejo distinto a cada uno. |
Mil gracias por responder amiguito, estoy de acuerdo con el exit, entonces mi código quedaría así y la execpción que engloba las demas ya no sería necesarío verdad.
Saluditos |
No había visto tu mensaje contraveneno, muchas gracias por responder, aumentare lo del Error.ClassName por ahora, pero tomare en cuenta lo demas que me has explicado para despues.
Saluditos |
Se me había olvidado, el proyecto de prueba lo he subido aquí http://rapidshare.com/files/21420000...orreo.zip.html , trabajo con Indy 10.
Saluditos |
Holitas, muchas gracias de nuevo Neftali, sobre mi primera pregunta de la conexión ya esta solucionado, era problema de la biblioteca OpenSSL que no estaba bien instalada, lo volví a instalar y me ha funcionado bien, gracias también a ti ContraVeneno.
Saluditos |
Cita:
Me alegro de que finalmente se haya solucionado. |
Instalar biblioteca OpenSSL
Cita:
Te quería preguntar como fue la reinstalación que hiciste del OpenSSL que al final te resultó, porque estoy intentado recibir mail desde cuentas de gmail o hotmail usando Indy y no puedo. Me sale el famoso mensaje "Could not load SSL library"... Seguramente que me está pasando lo mismo que te pasó a vos. Desde ya muchas gracias |
La franja horaria es GMT +2. Ahora son las 00:49:50. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi