![]() |
Recibir mail borrando la copia del servidor
Hola amigos, estoy realizando una aplicacion para enviar y recibir mails con archivos adjuntos con los componentes indy, pero me interesaria saber de que manera puedo borrar los mensajes en el servidor una vez recibidos. Para recibir utilizo el componente idPOP3 y delphi 7, inserto el código que utilizo
espero me den un dato como para saber donde seguir. Gracias Fede |
Hola,
Ojalá esté equivocado pero para mí tengo que depende del Servidor el mantener una copia del mensaje o no hacerlo. Desde el Cliente lo más que se puede hacer (y ojalá me equivoque, ya digo) es marcar un mensaje para ser borrado. Pero es el Servidor el que lo borra, efectivamente, o mantiene una copia del mismo... Ahora bien, ¿no es esto una contradicción? Porque si el Cliente pide borrar un mensaje... pero claro, también puede ser una "feature" por parte del Servidor. De hecho hay Servidores que borrarán el mensaje, y los hay como Gmail, por ejemplo, que permiten al usuario especificar en las opciones si han de mantenerse copias de los mensajes que se borren desde Clientes. |
A mi juicio es el cliente quien debe borrarlos.
Aquí te dejo un ejemplo que utilizo para borrar.
Yo particularmente dejo que sea el usuario quien realice este proceso, así me evito tener que guardar los mensajes leídos en ningún sitio, sino que permanecen en el servidor hasta que el usuario los borra. |
Cita:
Cita:
¿Cuando es accedido? y si el cliente tuvo un fallo de recepción ;) |
Hola,
A ver si nos estamos confundiendo... yo me refiero al "cliente" no como a quien usa el programa para gestionar su correo, sino al propio programa que gestiona el correo. Es el cliente (programa que gestiona el correo, y, obviamente, por petición del usuario) quien marca para borrar un determinado email y es el Servidor quien se encarga de su borrado. Ahora, si en el Servidor está configurada la opción de mantener una copia de los mensajes (si no recuerdo mal así lo hace Gmail), el Servidor no borrará los correos que se marquen para ser borrados desde un cliente "pop", en este caso. ¿Y porqué no aparecen una y otra vez los correos en el programa/cliente si estos no llegan a borrarse? Pues no estoy muy puesto en estos temas, pero, puede que el programa/cliente no descarge mensajes "marcados para ser borrados", simplemente. |
Quizá esto aclare un poco la situación:
Cita:
|
Cita:
Valga la aclaración Cita:
Cita:
|
Muchas gracias por contestar, pero no entiendo bien ya que soy novato en esto. A ver si es correcto, msgnums es un array con los nros de identificacion de los mensajes en el server?, si es asi, los obtengo con mail.msgid en mi caso? otra, que es fbussy?
Ademas para la discusión anterior, esto dice la ayuda de delphi sobre pop3.delete Cita:
|
Hola,
Cita:
Cita:
Cita:
Cita:
Cita:
|
Quizá estoy entendiendo mal pero según yo el protocolo es bastante claro:
El cliente manda el comando DELE al servidor para borrar un mensaje, el servidor lo marca como borrado y lo borra hasta que entra al estado UPDATE. Yo pienso que este estado se alcanza siempre en una transacción, está simplemente para no borrar de uno por uno. Pero no veo de dónde es una opción en el servidor la de borrar o no los mensajes. No veo porqué había de ser así, es una opción que fija el usuario via el cliente de POP3 y lo íunico que hace tal opción es instruir al cliente a mandar o no el comando DELE. Dicho de otra forma: es prerrogativa del cliente mandar o no el comando DELE. Y si se manda, el servidor lo borrará en cuanto pueda. // Saludos |
Cita:
// Saludos |
Componentes pop3
Hola a todos, estoy empeñado en hacer un cliente de correo, pero en mi delphi 7 no cuento con ningun componente para aplicaciones pop3 ni smtp. Alguien que me pueda ayudar con una liga para bajarlo o que me pueda hacer el favor de pasarmelo. Muchas gracias de ante mano!
|
Hola,
Cita:
Pero, aunque yo borrase el mensaje de correo desde el programa cliente, lo cierto es que dicho mensaje no se borra del Servidor de Gmail. Es decir, si entro a Gmail mediante un navegador Web puedo ver no sólo los últimos mensajes, sino los que he "borrado" desde el programa cliente de correo. Si se piensa un poco por mucho que haga el cliente es el Servidor quien tiene la última palabra. Ahora, ya no sé si Gmail se "salta" el protocolo o qué. Pero que lo que digo ocurre lo experimento a diario. Y la prueba es que el compañero que inició este Hilo hubo de encontrarse con esta circunstancia, intuyo, pues lo que pregunta es cómo borrar los mensajes de correo en el Servidor: porque él los borra desde el cliente de correo... pero los mensajes no se borran en el Servidor. |
Hola,
Cita:
|
GMail se comporta distinto porque no es un servidor pop3 aunque te permita acceder a él como si lo fuera a efectos de descargar el correo. Repito nuevamente, el protocolo es bastante claro.
// Saludos |
La franja horaria es GMT +2. Ahora son las 17:26:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi