2010-07-16 4 views
9

Ich versuche, Nachrichten in der gesendeten zu suchen (eigentlich interessiere ich mich für beide), aber ich bekomme nur eingehende Nachrichten. Für die ZeitIch kann keine gesendeten E-Mails in Gmail mit Python suchen

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

, die gleichwertige Ergebnisse mit diesem

imap_conn.select('INBOX') 

gibt Wenn ich INBOX mit ALL ersetzen oder SENT erhalte ich: Befehl SEARCH illegal im Zustand AUTH, nur in Staaten erlaubt AUSGEWÄHLTE

Antwort

22

Mann, die Fehlermeldung ist so irreführend. Was es wirklich sagt ist, dass Sie versucht haben, einen ungültigen Ordnernamen auszuwählen, daher schlägt die Suchoperation fehl.

die aktuell gültigen Ordner überprüfen/Check/Etiketten so etwas wie:

print imap_conn.list() 

Nachdem ich was Ordnernamen sehen konnte, es erwartet hatte, war alles gut.

+0

Dieser Kommentar hat mir viel Zeit gespart - danke w--. –

4
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

Es funktionierte nicht auf Gmail für mich, also habe ich verwendet: imap_conn.select ('[Gmail]/Gesendete Mail') – PanosJee

+1

'Gesendet' wählen Sie Mails aus 'Imap/Gesendet' Ordner & nicht aus 'Gmail/Gesendete Mail'-Ordner. Wenn Sie Ihr Google Mail-Konto in Thunderbird konfigurieren, erstellt es automatisch den Ordner "Imap/Gesendet", um die Kopie der gesendeten E-Mail in diesem Ordner abzulegen. Wenn Sie E-Mails aus dem Ordner "Gmail/Gesendete E-Mails" auswählen möchten, ist Ihr Code in Ordnung. – Avadhesh

4

Sie müssen verwenden: imap_conn.select ('[Google Mail]/Gesendete Nachrichten')

Ich wollte dies nur für zukünftige Benutzer zeigen, die dies sehen. Es ist in den Kommentaren versteckt.

+1

Nur ein Hinweis: Der Name des Ordners ändert sich je nach Sprache. Zum Beispiel funktioniert '[Gmail]/Gesendete Mail' nicht, aber' [Gmail]/L & AOQ-hetetyt viestit' funktioniert (und umgekehrt, wenn ich die Anzeigesprache von Gmail von Finnisch auf Englisch ändere). –

0

Notwendigkeit, Drucken imap_conn.list() zu verwenden. Tags sind sprachbasiert. Zum Beispiel in Spanisch ist [Gmail]/Todos