Detectando Novas Mensagens de E‑mail no Servidor POP3

Com contas POP3, você pode deixar as mensagens no servidor ao baixá‑las e lê‑las. Deixar e‑mails no servidor significa que eles ficam disponíveis para outras aplicações e pessoas, por exemplo, usuários que acessam seu e‑mail a partir de vários dispositivos. Ou você pode querer baixar somente mensagens que atendam a critérios especiais, por exemplo, mensagens com um assunto específico. Para gerenciar e‑mail, você pode;

  • Leia todas as mensagens do servidor POP3 usando Aspose.Email.
  • Baixe as mensagens para seu banco de dados local.

As mensagens não são excluídas, permanecendo no servidor. Na primeira execução, esse processo funciona bem. Todas as mensagens necessárias são baixadas para o banco de dados. Mas na segunda execução, as mesmas mensagens são baixadas novamente porque ainda estão no servidor de e‑mail. Isso gera registros duplicados. Para resolver esse problema, use o Pop3MessageInfo.UniqueID propriedade para verificar se uma mensagem já foi baixada. O ID único da mensagem deve ser armazenado no banco de dados: ele é a chave de pesquisa para detectar novas mensagens.

Detectando Novas Mensagens

Para identificar novos e‑mails a partir de uma lista de e‑mails em um servidor POP3:

  1. Conectar ao servidor.
  2. Obter uma lista de e‑mails.
  3. Conectar ao banco de dados.
  4. Obter uma lista de e‑mails.
  5. Comparar as listas.
  6. Salvar novos e‑mails no banco de dados.

O processo é mais rápido quando você:

  1. Buscar todos os IDs únicos das mensagens para uma tabela hash.
  2. Pesquisar a tabela hash em vez do banco de dados para cada mensagem de e‑mail em um loop foreach(…) .

Ao invés de consultar o banco de dados para cada mensagem, exigindo muitas chamadas, este método requer apenas uma chamada. O trecho de código a seguir mostra como detectar novas mensagens de e‑mail no servidor POP3.