eMail Header mit mehreren Received Einträgen
Verfasst: Dienstag 2. April 2019, 09:52
Guten Morgen an alle,
ich arbeite seit ca. 4 Mon. mit python in der Vers. 3.7 und bin folglich weit weg von Professionalität. Veranlassung mich in python einzuarbeiten war, das wir i.d.Firma an die 100 eMails pro Tag erhalten, die ich mittels eines Python Scripts empfange und die Anhänge zur Weiterverarbeitung in die entsprechenden Ordner speichere und auch die eMails in entsprechende Postfach-Ordner verschiebe.
So weit läuft auch alles, nur habe ich folgendes Problem: Obwohl die eMail-Konten, die ich bearbeite nirgends veröffentlicht werden und bis heute noch nie "Fremdmails oder Spam" in den Postfächern war prüfe ich dennoch die Absender-IP. Jetzt kommt es aber vor, das in einer eMail mehrere "Received"-Einträge vorhanden sind. Auch habe ich gelesen das es kein Problem ist in eine Spam-Mail einen falschen Received-Eintrag einzufügen, weshalb ich alle Received-Einträge auf fremde IP-Adressen überprüfen möchte.
Das Problem ist jedoch das bei gleichen Keys immer nur der Inhalt des ersten Keys ausgegeben wird. Folgendes habe ich ausprobiert:
also dachte ich wenn ich über Nachricht iteriere müsste eigentlich auch der jeweilige Inhalt ausgegeben werden, was leider nicht funktioniert, ich erhalte immer nur den Inhalt des ersten Received-Eintrags.
wie lese ich bei mehreren Keys mit dem Namen "Received" die nachfolgenden gezielt aus?
Vielen Dank im Voraus
ich arbeite seit ca. 4 Mon. mit python in der Vers. 3.7 und bin folglich weit weg von Professionalität. Veranlassung mich in python einzuarbeiten war, das wir i.d.Firma an die 100 eMails pro Tag erhalten, die ich mittels eines Python Scripts empfange und die Anhänge zur Weiterverarbeitung in die entsprechenden Ordner speichere und auch die eMails in entsprechende Postfach-Ordner verschiebe.
So weit läuft auch alles, nur habe ich folgendes Problem: Obwohl die eMail-Konten, die ich bearbeite nirgends veröffentlicht werden und bis heute noch nie "Fremdmails oder Spam" in den Postfächern war prüfe ich dennoch die Absender-IP. Jetzt kommt es aber vor, das in einer eMail mehrere "Received"-Einträge vorhanden sind. Auch habe ich gelesen das es kein Problem ist in eine Spam-Mail einen falschen Received-Eintrag einzufügen, weshalb ich alle Received-Einträge auf fremde IP-Adressen überprüfen möchte.
Das Problem ist jedoch das bei gleichen Keys immer nur der Inhalt des ersten Keys ausgegeben wird. Folgendes habe ich ausprobiert:
Code: Alles auswählen
...
nachricht = email.message_from_string(raw_data)
>>> print(nachricht.keys())
['Return-Path', 'Received', 'Received', 'Received', 'Date', 'From', 'To', 'Message-ID', 'Subject', 'MIME-Version', 'Content-Type', 'Envelope-To', 'X-Spam-Flag', 'X-UI-Filterresults']
>>> for wert in nachricht:
print(wert)
Return-Path
Received
Received
Received
Date
From
To
Message-ID
Subject
MIME-Version
Content-Type
Envelope-To
X-Spam-Flag
X-UI-Filterresults
Code: Alles auswählen
...
>>> for wert in nachricht:
if wert == "Received":
print(nachricht[wert])
from rsp-mx0.xxx.eu ([xx.xx.xxx.xx]) by mx.kundenserver.de
(mxeue010 [xxx.xxx.15.41]) with ESMTPS (Nemesis) id 1MibLj-1ggqAx0o7T-00fXcT
for <postfach@firma.de>; Tue, 02 Apr 2019 08:46:08 +0200
from rsp-mx0.xxx.eu ([xx.xx.xxx.xx]) by mx.kundenserver.de
(mxeue010 [xxx.xxx.15.41]) with ESMTPS (Nemesis) id 1MibLj-1ggqAx0o7T-00fXcT
for <postfach@firma.de>; Tue, 02 Apr 2019 08:46:08 +0200
from rsp-mx0.xxx.eu ([xx.xx.xxx.xx]) by mx.kundenserver.de
(mxeue010 [xxx.xxx.15.41]) with ESMTPS (Nemesis) id 1MibLj-1ggqAx0o7T-00fXcT
for <postfach@firma.de>; Tue, 02 Apr 2019 08:46:08 +0200
Vielen Dank im Voraus