Seite 1 von 1

in Betreff nach MAÜ suchen

Verfasst: Sonntag 19. Februar 2023, 22:07
von adrig.04
Moin zusammen,
ich versuche mit meinem Code Email Anhänge zu speichern...
Jedoch kann ich das Wort "MAÜ" in den Anhängen nicht suchen. Wenn ich jedoch MAU eingebe, klappt es... Kann mir jemand helfen?

Code: Alles auswählen

# E-Mails mit dem gesuchten Betreff suchen
typ, data = imap.search(None, 'SUBJECT "MAÜ-Einsatzabschluss"')
for num in data[0].split():
    typ, data = imap.fetch(num, '(RFC822)')
    raw_email = data[0][1]
    email_message = email.message_from_bytes(raw_email)

    # Alle Anhänge in der E-Mail speichern
    for part in email_message.walk():
        if part.get_content_maintype() == 'multipart':
            continue
        if part.get('Content-Disposition') is None:
            continue
        filename = part.get_filename()
        if filename is not None:
            filepath = os.path.join(save_folder, filename)
            with open(filepath, 'wb') as f:
                f.write(part.get_payload(decode=True))
                print(f'Speichere Anhang "{filename}" in "{save_folder}"')

Re: in Betreff nach MAÜ suchen

Verfasst: Montag 20. Februar 2023, 11:56
von imonbln
Schei? Encoding

Das Ü wird sicher in der E-Mail anders Encoded als in deinen Suchstring. Daher wird es nicht gefunden. Zum Glück hat imap.search als ersten Parameter ein charset, hier musst du wahrscheinlich nur die richtige codierung eintragen und schon wird alles gefunden.

Generell, das Suchen nach Strings im Subjekt ist immer etwas fuzzy, automatische E-Mails haben meisten X-Header, welche sich besser zum automatischen Weiterverarbeitung eignen. Sieh dir am besten den „Quelltext“ der E-Mail mal ganz genau an, vielleicht findest du einen X-Header auf welchen du einfacher filtern kannst.