2016-04-12 5 views
1

Ich versuche, E-Mails auf meinem Pi zu empfangen, bis jetzt empfange ich die E-Mails aus meinem Posteingang von Google Mail, aber ich versuche, sie ohne alle hinzugefügten Inhalte wie die Nachrichten-ID und Inhaltstyp zu erhalten. Ich suche nach reinem E-Mail-Text. Ich habe dies so weit gekommen ....Empfangen von E-Mails in Python

import imaplib 

mail = imaplib.IMAP4_SSL('imap.gmail.com') 

mail.login('xxxxxxx', 'xxxxxx') 

mail.list 

mail.select("inbox") 


obj, data = mail.search(None, 'ALL') 

for num in data [0].split(): 

typ, data = mail.fetch(num, '(RFC822)') 

print 'Message %s\n%s\n' % (num, data[0][1]) 

mail.close() 

Antwort

1

Versuche 'BODY[1]' als String übergeben zu '(RFC822)' gegenüber.

Was 'BODY[1]' tut ist, dass es angibt, dass Sie nur den Text/einfachen Teil der E-Mail möchten. Sie können in diesem Dokument RFC 3501 finden, die im Detail FETCH-Befehle unter Abschnitt 6.4.5 oder Seite 53 erklärt.

Hoffe, das hilft!

+0

Ich habe viele Fehler mit dieser :( File "email.py", Zeile 9 in Typ, data = mail.fetch (num, 'KÖRPER [1]') und ein paar andere Fehler in Zeile 455 und 1087 – JimmyJ

+0

Welche Art von Fehlern bekommst du? Ich habe meine Antwort bearbeitet, um weniger spezifisch zu sein (Ich habe nicht so viel Erfahrung mit Python 2.x, meist Python 3.4 verwenden.) Allerdings sollte die String-Spezifikation –

+0

Ich bekomme einen Abrufbefehl Fehler: BAD ['Befehl konnte nicht parsen'], aber es mag auch nicht den BODY [1] bearbeiten – JimmyJ

0

Also habe ich den Anfängerfehler gemacht, meine Datei email.py zu benennen und auch keine E-Mails zu importieren!

Vielen Dank.