Wie zum Lesen von E-Mails mit Python 3

Nun bin ich hier

 import imaplib
 mail = imaplib.IMAP4_SSL('imap.gmail.com')
 mail.login('[email protected]', 'password')
 mail.list()
 # Out: list of "folders" aka labels in gmail.
 mail.select("inbox") # connect to inbox.
 #Get an email
 result, data = mail.uid('fetch', b'1', '(RFC822)')
    raw_email = data[0][1]
    email_message = email.message_from_bytes(raw_email)
    maintype = email_message.get_content_maintype()
    #HERE COMES TROUBLES - if hmtl will be base64 string
    if maintype == 'multipart':
        for part in email_message.get_payload():
            print(part.get_content_maintype())
            if part.get_content_maintype() == 'text':
                html = str(part.get_payload())
    elif maintype == 'text':
        html = str(email_message.get_payload())

    #Now I Can parse HTML
    if html is not None:
        soup = BeautifulSoup(html, 'html.parser')

einige Buchstaben kommen mit base64-Kodierung. wie entschlüsseln?
base64.b64encode(some_string) - nicht helfen,

raw_email = data[0][1].. Sie waren fast da.yuji.wordpress.com/2011/06/22/...
Danke! Ich war ab diesem tutorial. Aber ich denke ich bekomme Byte-string, so ist es ein bisschen anders. Können Sie mir zeigen, der endgültige code?
Können Sie fügen Sie, was es ist die Ausgabe von raw_email? Fügen Sie diese Zeile am Ende des Skripts ......print(raw_email)
Ich begann zu verstehen, aber wie funktioniert das .get_payload() arbeiten, in einfachen Worten?
E-Mail.get_payload() gibt eine Liste von Message-Objekten docs.python.org/2/library/...

InformationsquelleAutor | 2015-07-29

Schreibe einen Kommentar