Как мы можем получать почту из папки «Входящие», отправленной из папки, используя POP3 в задаче C - PullRequest
1 голос
/ 04 декабря 2010

Я использую CFNetwork для подключения к моей POP3 учетной записи на Yahoo .
Я написал код подключения и аутентификации, которая работаетотлично.
Я использовал CFStream , чтобы прочитать ответ сервера POP3.

У меня вопрос, как я могу получить доступ к определенной папке, такой как Входящие , отправленная папка или удалить папку моей учетной записи Yahoo, используя POP3 команда .
Я должен прочитать почту из папки и показать список в определенной папке на локальном IPhone.

Пожалуйста, помогите мне решить проблему.

Заранее спасибо.

1 Ответ

2 голосов
/ 04 декабря 2010

Протокол POP3 задокументирован в RFC 1939 - Протокол почтового отделения . Он не поддерживает концепцию папок.

На самом деле они упоминают в разделе 8:

Конечно, другие возможности IMAP, такие как опрос существующего соединения для вновь прибывших сообщения и поддерживающие несколько папок на сервере, не являются присутствует в POP3.

IMAP, с другой стороны, делает, и, вероятно, то, что вы ищете. Это хорошо задокументировано в http://www.faqs.org/rfcs/rfc3501.html Команда в IMAP для выбора папки называется «SELECT». Протокол выглядит так:

           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

Если вы делаете это как интеллектуальное упражнение, вам нужно будет переписать свой сетевой код для реализации IMAP вместо POP. Однако, если вы делаете это как часть коммерческого endevaur, я бы рекомендовал не писать почтовый клиент с нуля - это решенная проблема с большим количеством свободно доступных источников. Возможно, вы захотите взглянуть на UW-IMAP инструментарий , бесплатную библиотеку C или VMIME Библиотека C ++. Оба должны иметь возможность работать на платформе iOS без особых хлопот.

...