2010-05-08 8 views
0

Je me demandais si quelqu'un pouvait m'aider (pas avec du code, bien que cela serait apprécié), avec la logique derrière la vérification et la récupération des messages d'un serveur de messagerie POP3.Processus de transmission POP3

I.e.

Establish connection 
Validate credentials 
Enumerate message list 
Check each message to see if it's "new" 
Download "new" message(s). 

Est-ce que ce serait le bon moyen de le faire?

Merci

Répondre

1

La meilleure façon de regarder quelque chose comme ceci est d'avoir un coup d'oeil ce que quelque chose d'autre. Exécutez Wireshark ou un autre logiciel de capture de paquets, et utilisez un client de messagerie pour vérifier. Quoi qu'il en soit, les bases d'une session POP3 sont les suivants:

USER username 
PASS password 
LIST    <-- Shows the size of each waiting message 
UIDL    <-- Shows a unique ID for each waiting message 
RETR 1    <-- Retrieves message with index 1 
DELE 1    <-- Deletes the message you just retrieved 
QUIT 

Le premier caractère de toutes les réponses sauf RETR sera un + (succès) ou - (échec).

Si vous supprimez des messages du serveur après les avoir récupérés, vous n'avez pas besoin de vous préoccuper de l'UIDL. Si vous les quittez, vous pouvez utiliser UIDL pour obtenir un identifiant unique pour chaque message que vous stockez localement pour montrer que vous avez déjà récupéré ce message.

Pour plus de détails, voir le RFC. Wikipedia répertorie également un exemple plus détaillé, montrant la réponse du serveur.

+0

+1 pour le lien RFC – Oddthinking

+0

Merci, Richard. Exactement ce que je cherchais. –