Detección de nuevos mensajes de correo electrónico en el servidor POP3

Con las cuentas POP3 puedes dejar mensajes en el servidor al descargarlos y leerlos. Dejar los correos electrónicos en el servidor significa que están disponibles para otras aplicaciones e individuos, por ejemplo, los usuarios que acceden a su correo electrónico desde varios dispositivos. O tal vez quieras descargar solo los mensajes que cumplan algunos criterios especiales, por ejemplo, los mensajes con un asunto determinado. Para administrar el correo electrónico, puedes:

  • Lea todos los mensajes del servidor de correo POP3 mediante Aspose.Email.
  • Descargue los mensajes a su base de datos local.

Los mensajes no se eliminan, sino que permanecen en el servidor. La primera vez que se ejecuta, este proceso funciona bien. Todos los mensajes necesarios se descargan a la base de datos. Pero la segunda vez que se ejecuta, se descargan los mismos mensajes porque siguen en el servidor de correo electrónico. Esto provoca registros duplicados. Para resolver este problema, utilice el Pop3MessageInfo.UniqueID propiedad para comprobar si un mensaje ya se ha descargado. El identificador único del mensaje debe almacenarse en la base de datos: es la clave de búsqueda para detectar nuevos mensajes.

Detección de mensajes nuevos

Para identificar nuevos correos electrónicos de una lista de correos electrónicos en un servidor POP3:

  1. Conéctese al servidor.
  2. Obtenga una lista de correos electrónicos.
  3. Conéctese a la base de datos.
  4. Obtenga una lista de correos electrónicos.
  5. Compara las listas.
  6. Guarde los correos electrónicos nuevos en la base de datos.

El proceso es más rápido cuando:

  1. Obtenga todos los ID únicos de los mensajes en una tabla hash.
  2. Busca en la tabla hash en lugar de en la base de datos para cada mensaje de correo electrónico en un bucle foreach (…).

En lugar de consultar la base de datos para cada mensaje, lo que requiere muchas llamadas a la base de datos, este método solo requiere una llamada. El siguiente fragmento de código muestra cómo detectar nuevos mensajes de correo electrónico en el servidor POP3.