m_mattia

Wie kann ich in Python ein neues Ungelesenes Mail von meinem Postfach öffnen?

Oct 12th, 2020 (edited)
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.91 KB | None | 0 0
  1. Hallo Zusammen,
  2.  
  3. (Ich suche nach einer Lösung in Python, da mein bisheriges Script damit geschrieben ist.)
  4. Ich bekomme immer wieder Statusmeldungen von meinem NAS (ca. 5 - 10 pro Tag), da ich nicht möchte, dass mein Postfach zugespamt wird, habe ich jetzt ein ein eigenes Email-Postfach eingerichtet auf das die Statusmeldungen gesendet werden. Da ich aber wichtige Meldungen nicht verpassen möchte, möchte ich diese an meine Persönliche Emailadresse weiterleiten. Ich habe jetzt schon viel im Internet gesucht, aber ich fand nur Informationen wie ich ein Mail versenden kann (was bei mir schon funktioniert) und nicht wie ich mich bei meinem Postfach anmelden kann und auf neuen Mails zu überprüfen. Ebenfalls möchte ich bei diesen neuen Mails den Betreff und den Inhalt auslesen können und diesen überprüfen.
  5.  
  6.  
  7. Bei mir funktioniert das öffneten der neuen Mails und das auslesen des Betreffs, weiss jemand aber wie ich den Inhalt der Mail auslese und auf die Variable "body" speichere?
  8.  
  9. (
  10. body
  11. Beispiel: Inhalt der Mail:
  12. Hallo zusammen,
  13. Ich hätte da mal eine Frage ...
  14. LG Mattia
  15. )
  16.  
  17. Danke für eure Antworten.
  18.  
  19. Python 3.8.3
  20.  
  21. # Connection settings
  22.             HOST = 'imap.hosting'
  23.             USERNAME = 'sender@mail.com'
  24.             PASSWORD = 'password'
  25.  
  26.             m = imaplib.IMAP4_SSL(HOST, 993)
  27.             m.login(USERNAME, PASSWORD)
  28.             m.select('INBOX')
  29.  
  30.             result, data = m.uid('search', None, "UNSEEN")
  31.             if result == 'OK':
  32.                   for num in data[0].split()[:5]:
  33.                         result, data = m.uid('fetch', num, '(RFC822)')
  34.                         if result == 'OK':
  35.                               email_message_raw = email.message_from_bytes(data[0][1])
  36.                               email_from = str(make_header(decode_header(email_message_raw['From'])))
  37.                               # von Edward Chapman -> https://stackoverflow.com/questions/7314942/python-imaplib-to-get-gmail-inbox-subjects-titles-and-sender-name
  38.                               subject = str(email.header.make_header(email.header.decode_header(email_message_raw['Subject'])))
  39.                               content = email_message_raw.get_payload(decode=True)
  40.                               body = email_message_raw['body']
  41.                              
  42.             m.close()
  43.             m.logout()
  44.  
  45.             txt = body
  46.             regarding = subject
  47.             print("###########################################################")
  48.             print(regarding)
  49.             print("###########################################################")
  50.             print(txt)
  51.             print("###########################################################")
  52.  
  53.  
  54. **log:**
  55.  
  56. ###########################################################
  57. Betreff funktioniert
  58. ###########################################################
  59. None
  60. ###########################################################
  61. send Mail
  62.  
Add Comment
Please, Sign In to add comment