2011-05-11 1 views
5

J'utilise le protocole POP3 pour récupérer mes emails dans mon application .NET. Je n'ai besoin de lire que les nouveaux emails mais j'ai trouvé dans de nombreux blogs qu'il n'est pas possible de récupérer uniquement les mails "invisibles" ou "nouveaux" en utilisant POP3. Est-ce vrai? Si oui, pourriez-vous s'il vous plaît m'aider à comprendre comment Outlook Express parvient à obtenir de nouveaux mails en utilisant POP3?Comment récupérer uniquement les nouveaux emails en utilisant le protocole POP3

Y at-il un moyen que je peux signaler les mails vus dans le serveur de messagerie lui-même? Ou s'il vous plaît aidez-moi à trouver un moyen de récupérer de nouveaux mails en utilisant le protocole POP3.

Répondre

7

Vous devez stocker les UIDL de chaque e-mail dans une base de données locale. Quand vous voulez vérifier le nouveau courrier, vous récupérez les UIDL s sur le serveur et vous voyez si vous avez déjà dans votre base de données locale; sinon, c'est un nouveau mail.

Outlook utilise la même stratégie, BTW (voir this KB article).

+1

si un message supprimé sur le serveur, ce qui signifie ancien UIDL sera utilisé à nouveau, et si utilisé pour un nouveau message, il ne sera pas récupéré, des poignées pour résoudre ce problème? – Mhmd

0

Tant que votre boîte aux lettres ne conserve pas une copie des e-mails sur le serveur, alors vous allez bien et n'avez pas à coder pour cela.

Normalement, lorsqu'un client de messagerie accède aux courriels d'une boîte POP3, ils sont téléchargés et supprimés du serveur.

L'échange est entièrement différent.

Vive

Questions connexes