Ich versuche, E-Mails mit Anhängen zu filtern, aber in dem von mir verwendeten System habe ich nur Zugriff auf die Header (zum Filtern). Gibt es eine konsistente Methode, um festzustellen, ob eine E-Mail Anhänge enthält, indem nur Kopfzeilen verwendet werden? (Vielleicht prüfen, ob der Inhaltstyp mehrteilig ist?)
7
Antworten:
Sie können Ihr gewünschtes Ziel nicht erreichen , wenn Sie Zugang haben nur den Header. Die Informationen sind möglicherweise als nicht standardmäßiger Header vorhanden, aber darauf können Sie sich offensichtlich nicht verlassen. Entweder Zugang zum Körper bekommen oder die Idee aufgeben.
quelle
E-Mails ohne Anhänge können vom Inhaltstyp sein: auch mehrteilig, wie solche mit Text- und HTML-Versionen des Inhalts. Was Sie überprüfen müssten, ist ct: multipart und dann für Teile, die nicht vom Inhaltstyp sind: text / *, aber dafür benötigen Sie Zugriff auf den Body :(
quelle
Bei Mime-Anhängen enthalten E-Mails mit einem
Content-Type: multipart/mixed
häufig Anhänge (müssen dies aber nicht). E-Mails mit einemContent-Type:
anderen alsmultipart/*
ohne Anhänge. Alles andere (multipart/alternative
am häufigsten) kann Anhänge haben.Und das hängt auf jeden Fall davon ab, was unter Anhaftung zu verstehen ist. Wenn Sie unter Anhang nur die MIME-Teile verstehen, die ein haben
attachment
Content-Disposition
, werden Sie dies nicht im E-Mail-Header, sondern nur in den entsprechenden MIME-Headern des Teils herausfinden.Dinge, die Sie möglicherweise nicht als Anhänge berücksichtigen möchten, sind beispielsweise E-Mail-Signaturen, Teile einer
multipart/related
Nachricht, die beispielsweise Bilder sind, die in die Signatur einer HTML-Nachricht eingebettet sind ...quelle
Ich habe einen E-Mail-Header mit dem folgenden Code erhalten:
Dann können Sie entscheiden, welchen Header diese Mail anhängen soll oder nicht, ohne get body.
Sie können die Header-Informationen von hier aus überprüfen. Ich hoffe, dies hilft Ihnen.
quelle