Путь к папке входящих сообщений Gmail?

Я работаю над приложением для iOS, которое должно читать и отправлять почту. Для доступа к папке «Входящие» я использовал «INBOX». Это хорошо работало для Yahoo и AOL, но не для Gmail. Кто-то сказал мне попробовать «[Gmail]», «[Gmail]/Все письма», «Gmail/[Все письма]». Я пробовал все это, но ни один из них не работает. И что важно, если я пишу «[Gmail]/Спам» или «[Gmail]/Корзина», все работает нормально. Итак, дело в том, что я могу получить доступ к почте всех папок, кроме папки «Входящие». Как я могу получить доступ к папке входящих сообщений gmail?


person Sikander    schedule 14.08.2012    source источник
comment
Когда я пишу [Gmail]/All Mails, приложение вылетает, когда я пытаюсь получить доступ к почтовому ящику gmail.   -  person Sikander    schedule 14.08.2012


Ответы (2)


Использование "Inbox" у меня работает для доступа к GMail с помощью python3 и imaplib. Вот как вы можете получить список всех допустимых имен папок и убедиться:

import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('username', 'password')
print(mail.list())

Для меня некоторые из возвращаемых значений: "INBOX" (входящие), "PERSONAL" (метка), "[Gmail]/Drafts" (черновики GMail), "[Gmail]/Sent Mail" (отправленные элементы GMail).

После входа в систему просто выберите папку «Входящие» и выполните поиск содержимого папки с помощью запроса. Например, это вернет список тем для электронных писем в папке "Inbox":

# mail is the imap object from the previous listing
mail.select('"INBOX"')
result, data = mail.search(None, "ALL")

for e_id in data[0].split()[-10:]:
    _, response = mail.fetch(e_id, '(body[header.fields (subject)])')
    print(response[0][1][9:])

Причина, по которой "[Gmail]/Drafts" может быть успешной, а "[Gmail]/Sent Mail" не работает для вас, заключается в том, что вы не заключаете в кавычки имена папок, которые имеют пробелы, с окружающими двойными кавычками. Вот как вы можете сделать это в python3:

# mail is the imap object from the previous listing
mail.select('"[Gmail]/Sent Mail"') # notice the double quotes as a part of the folder name
result, data = mail.search(None, "ALL")
person Ivan Zuzak    schedule 17.09.2012

Решил проблему с

"[Gmail]/All Mail"
person Sikander    schedule 18.09.2012