Ich habe ein Python-Skript, das E-Mails auf Gmail IMAP-Server überprüft, es zeigt die neueste E-Mail auf dem Server. Die E-Mail-Adresse empfängt jedoch E-Mails von mehreren verschiedenen Konten. Was würde ich tun, um dieses Skript anzusehen und NUR Nachrichten anzeigen zu lassen, die an einen bestimmten Absender gerichtet sind? Zum Beispiel wird nur eine E-Mail an "[email protected]" gesendet.Python - imaplib - Nachricht an bestimmten Absender anzeigen
import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('[email protected]', 'password123')
mail.list()
# Out: list of "folders" aka labels in gmail.
mail.select("inbox") # connect to inbox.
result, data = mail.search(None, "ALL")
ids = data[0] # data is a list.
id_list = ids.split() # ids is a space separated string
latest_email_id = id_list[-1] # get the latest
result, data = mail.fetch(latest_email_id, "(RFC822)") # fetch the email body (RFC822) for the given ID
raw_email = data[0][1] # here's the body, which is raw text of the whole email
# including headers and alternate payloads
Vielen Dank im Voraus! :)
Was passiert, wenn Sie sich für die Nachrichten suchen Sie wollen, anstelle von "ALL", in mail.search()? – Dave