bin noch ziemlich neu in Python und versuche gerade ein Programm zu scripten das Emails auswertet und mir eine Liste erstellt.
Und zwar habe ich leider das Problem das ich nicht rausfinde wie man statt nach einer EMail Adresse zu suchen die Betreffe durchsucht.
Code: Alles auswählen
def g_body(msg):
if msg.is_multipart():
return g_body(msg.get_payload(0))
else:
return msg.get_payload(None, True)
def search(key,value,con):
result, data = con.search(None,key,'"{}"'.format(value))
return data
def g_emails(result_bytes):
msgs = []
for num in result_bytes[0].split():
typ, data = conne.fetch(num, '(RFC822)')
msgs.append(data)
return msgs
conne = imaplib.IMAP4_SSL(imap_url)
conne.login(user, password)
conne.select('INBOX')
result, data = conne.fetch(b'1', '(RFC822)')
raw = email.message_from_bytes(data[0][1])
msgs = g_emails(search('FROM', 'mail', conne)) #bei 'mail' gesuchte email eingeben
for msg in msgs:
print(g_body(email.message_from_bytes(msg[0][1])))
Ich habe das ganze mir aus dem Internet zusammen gebaut und habe leider nicht ganz verstanden wofür das 'RFC822' bei einem .fetch ist.
Freue mich wenn mir jemand helfen kann und mir vielleicht auch erklären kann wofür die RFC822 ist.
Danke