Saber si un mensaje fue leido (con POP3)

Ares
24 de Octubre del 2003
Necesito saber si se puede hacer y como se hace para
verificar si un mail fue leido (o respondido) accediendolo con
un componente IdPOP3 (Cliente)
Si alguien me puede dar una mano se lo agradeceré.
Saludos, Ares

mfercor
24 de Octubre del 2003
En un servidor POP3 no se queda almacenazo si un correo determinado ya fue leido. Por eso todos los clientes de correo mas usados, Outlook, Netscape, IncredyMail ... lo que hacen es conectar al servidor y descargar todos los correos a un archivo (mailbox) local y una vez descargados eliminar (si no se dice lo contrario) todos los correos descargados. Una vez que los correos pasan al mailbox local (el formato de este mailbox cambia según el cliente) se tratan iniciando el correo recien descargado como no leido.
Lo que necesitas entonces es un formato de mailbox local, por ejemplo un archivo llamado inbox.mbx que tendra un formato similar a este:

<Begin Message Message-ID>
Message-ID= //Identificador del correo en servidor POP3 que es único y te servira para identificarlo
Readed=False //Al inicio el correo no esta leído
From=
To=
CC=
Subject=
Date=
Body=
...
<End Message Message-ID>

Así almacenarías cada uno de los correos que se decargan del servidor en el momento que se chekea si hay correo y una vez finalizado lees ese mailbox para mostrar los correos que tiene. SI no se eliminan los correos del servidor te los descargará otra vez y tendrás duplicados, para eso necesitas comparar los Message-ID de los correos que hay en el servidor y los que hay en el mailbox local. Un saludo ;)