Le protocole POP3 est documenté dans RFC 1939 - Post Office Protocol. Il ne supporte pas le concept de dossiers.
En fait, ils mentionnent à l'article 8:
Bien sûr, les autres capacités de IMAP, tels que l'interrogation d'une connexion existante pour les nouveaux arrivés messages et prenant en charge plusieurs dossiers sur le serveur, ne sont pas présents dans POP3.
D'autre part, IMAP fait, et est probablement ce que vous cherchez. Il est bien documenté dans http://www.faqs.org/rfcs/rfc3501.html La commande dans IMAP pour choisir un dossier s'appelle 'SELECT'. Le protocole ressemble à ceci:
C: A142 SELECT INBOX
S: * 172 EXISTS
S: * 1 RECENT
S: * OK [UNSEEN 12] Message 12 is first unseen
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * OK [UIDNEXT 4392] Predicted next UID
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
S: A142 OK [READ-WRITE] SELECT completed
Si vous faites cela comme un exercice intellectuel, vous allez avoir besoin de réécrire votre code de réseau pour mettre en œuvre IMAP au lieu de POP. Toutefois, si vous faites cela dans le cadre d'un endevaur commericial, je recommande de ne pas écrire un client de messagerie à partir de zéro - c'est un problème résolu avec beaucoup de source librement disponible là-bas. Vous voudrez peut-être regarder le UW-IMAP toolkit, une bibliothèque C libre ou une bibliothèque C++ VMIME. Les deux devraient être en mesure de travailler sur la plate-forme iOS sans trop de tracas.
Je travaille également sur ce genre de projet. Vous avez besoin de votre aide pour cela. Pourriez-vous me fournir un exemple de code à travers lequel je peux récupérer des mails depuis n'importe quel compte mail pop3/smtp? comme gmail, yahoomail etc. Merci –
le partage du code source n'est pas possible grâce à ce média. Vous pouvez utiliser la fonction CFStreamCreatePairWithSocketToHost pour vous connecter au serveur, puis ouvrir le flux de lecture et d'écriture et lire la réponse dans le flux (void): (NSStream *) stream handleEvent: (NSStreamEvent) méthode eventCode. Plus tard, vous devez envoyer toutes les demandes une par une au serveur et lire la réponse en conséquence. – Naved