2010-06-10 4 views
1

J'ai une application qui lit les courriels d'un compte pop3. Lorsque je me connecte au compte, je télécharge tous les nouveaux courriels et le corps du processus et les pièces jointes.Re traitement des courriels sur les erreurs du compte pop3

En cas d'erreur lors du traitement d'un e-mail, je souhaite le télécharger la prochaine fois que je me connecte mais comme je reçois uniquement des nouveaux e-mails et que l'e-mail a déjà été téléchargé, je ne comprends pas. essayez de le traiter à nouveau. Est-ce que je peux le faire avec n'importe quelle commande pop3 ou dois-je stocker des emails échoués localement?

Répondre

1

Tant que vous ne supprimez pas les messages après les avoir téléchargés, ils doivent rester sur le serveur pour pouvoir les récupérer à nouveau. En d'autres termes, cela devrait arriver par défaut. Voir RFC 1939 pour plus de détails.

Quelle bibliothèque client POP3 utilisez-vous?

Editer: Je suppose qu'il est possible que votre serveur POP3 supprime des messages après les avoir récupérés une fois, bien que cela soit plutôt grossier. Il peut être intéressant d'exécuter votre code client sur un serveur POP3 gratuit comme GMail pour voir s'il agit différemment.

Si vous n'utilisez pas le cryptage SSL de votre connexion POP3, il peut également être intéressant d'exécuter Wireshark pour voir ce qui se passe exactement sur le réseau entre votre client et le serveur. (POP3 est un protocole en clair et est très facile à comprendre en regardant une trace réseau.) Pour utiliser Wireshark, allez dans le menu Capture, choisissez Options, assurez-vous que votre interface est sélectionnée, entrez un filtre de capture de "tcp port 110 ", et appuyez sur Démarrer.

Si vous souhaitez publier votre code client, nous pouvons vous aider.

+0

Merci! J'utilise la bibliothèque de Lesnikowski. Mais pensez que le fait que vous ne supprimiez pas les emails du serveur ne signifie pas que vous les recevez encore et encore. Une fois que j'ai reçu un email OK, je ne le reçois plus du compte :-( – StackOverflower

+0

+1 Merci, j'utilise SSL (test contre GMAIL) Mon code client n'est pas très intéressant, comme je vous l'ai dit, J'utilise une bibliothèque tierce donc je fais simplement Connect() Login() GetAccountStat() GetMessage() Close() .La bibliothèque est http://www.lesnikowski.com/mail/. boîte de réception mais je ne les reçois pas encore une fois je les reçois une fois, le même comportement que n'importe quel client de messagerie comme Outlook – StackOverflower

+0

aucune solution à ce sujet? – Kiquenet

Questions connexes