Я не могу искать отправленные письма в Gmail с помощью Python - PullRequest
10 голосов
/ 16 июля 2010

Я пытаюсь найти сообщения в Отправленных (на самом деле я забочусь об обоих), но я получаю только входящие сообщения. В настоящее время у меня есть

imap_conn.select()
str_after = after.strftime('%d-%b-%Y')
typ, msg_ids = imap_conn.search('UTF-8','SINCE',str_after)

Что дает эквивалентные результаты с этим

imap_conn.select('INBOX')

Когда я заменяю INBOX на ALL или SENT, я получаю: Команда SEARCH недопустима в состоянии AUTH, разрешена только в состояниях SELECTED

Ответы [ 5 ]

23 голосов
/ 25 сентября 2012

Человек, сообщение об ошибке вводит в заблуждение. На самом деле он говорит, что вы пытались выбрать неверное имя папки, поэтому операция поиска не удалась.

Чтобы проверить / проверить текущие действительные папки / метки, сделайте что-то вроде:

Использование ImapClient

from imapclient import IMAPClient
## Connect, login and select the INBOX
imap_conn = IMAPClient('imap.gmail.com', use_uid=True, ssl=ssl)
imap_conn.login(USERNAME, PASSWORD)

print(imap_conn.list_folders())

Использование imaplib

import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('myusername@gmail.com', 'mypassword')
print(mail.list())

После того, как я увидел, какие имена папок он ожидал, все было хорошо.

4 голосов
/ 23 декабря 2011

Вам необходимо использовать: imap_conn.select ('[Gmail] / Sent Mail')

Просто хотел указать на это будущим пользователям, которые увидят это.Это скрыто в комментариях.

4 голосов
/ 27 сентября 2010
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com',993)
obj.login('userid','password')
obj.select('Sent')  # <-- response like ('OK', ['74']) --> total no. of mail in sent folder
obj.uid('SEARCH',None,'All') # <-- Returns the list of uids of the sent folder.
1 голос
/ 07 июня 2018

Убедитесь, что вы используете дополнительные кавычки в вашей строке:

imap_conn.select('"[Gmail]/Sent Mail"')  

Это сработало для меня.

0 голосов
/ 18 февраля 2016

Нужно использовать печать imap_conn.list(). Теги основаны на языке. например на испанском языке это [Gmail]/Todos

...