UTF-8 string aus e-Mail als Text anzeigen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Dksksm.

    UTF-8 string aus e-Mail als Text anzeigen

    Hi,

    Ich möchte den Header von Spam e-Mails auswerten.

    Aus Sicherheitsgründen öffne ich solche Mails nicht, sondern extrahiere nur den Quelltext, insbesondere den Header. Also muss ich bestimmte Strings selbst konvertieren. Mit dem folgenden String komme ich leider nicht klar:

    Quellcode

    1. From: "=?utf-8?B?wrvwnZia8J2YsfCdmKLwnZiz8J2YrPCdmKLwnZi08J2YtPCdmKbwnZivIPCdmJrwnZiq8J2YpPCdmKnwnZim8J2Ys/CdmKnwnZim8J2YqvCdmLXwnZi08J2Yu/CdmKbwnZiv8J2YtfCdmLPwnZii8J2YrfCdmKbCqw==?="


    Die "Fragezeichen" sind wohl Delimiter . . . das "Gleichheitszeichen" am Ende des Strings ist wohl ein Fortsetzungszeichen der e-Mail.

    Der kryptische Text in der Mitte scheint dann wohl UTF-8 zu sein.

    So habe ich versucht das zu dekodieren:

    VB.NET-Quellcode

    1. Dim input =
    2. "wrvwnZia8J2YsfCdmKLwnZiz8J2YrPCdmKLwnZi08J2YtPCdmKbwnZivIPCdmJrwnZiq8J2YpPCdmKnwnZim8J2Ys"
    3. Dim utf8 As Encoding = Encoding.UTF8
    4. Dim bytes As Byte() = utf8.GetBytes(input)
    5. Dim output = System.Text.Encoding.UTF8.GetString(bytes)


    Das klappt aber nicht so richtig ... input und output sind identisch.

    Irgendwie verhaspele ich mich da grundlegend.

    Weiß jemand wie man das richtig macht ?

    LG
    Peter
    Microsoft hat da was nettes zum Analysen von Headern: mha.azurewebsites.net/
    Bei dem Fitzel da oben kommt raus: Sparkassen Sicherheitszentrale (den Original Text kann ich hier nicht anzeigen lassen).
    Als Nicht-Sparkassenkunde bekomme ich oft Mitteilungen über mein gesperrtes Konto bei denen. Alos alles Phishing Mist.
    Jau, das Tool von Microsoft ist nett ! Danke für den Link.

    Das "Fitzel" hat tatsächlich den Inhalt: Sparkassen Sicherheitszentrale - das hat mir schon mein Firefox angezeigt ...

    Aber mir geht es darum ganz generell den Inhalt solcher Strings anzeigen zu können, nicht nur im Header der Mail - denn manchmal sind die im html text eingebaut ... und da würde ich auch gern wissen, was die Leute vor meinen wissbegierigen Blicken verbergen möchten ... :)

    Also wenn das Tool von Microsoft ebenso wie Firefox das "Fitzel" entschlüsseln können, dann sollte mein bescheidenes VB Programm das doch auch hinbekommen.

    Weiß jemand wie man das macht ?

    LG
    Peter
    =?utf-8?B? Das B sagt, dass es Base64 codiert ist, was dann folgt. Stände da ein Q wäre es Quoted Pritable.

    VB.NET-Quellcode

    1. Dim data As Byte() = Convert.FromBase64String("wrvwnZia8J2YsfCdmKLwnZiz8J2YrPCdmKLwnZi08J2YtPCdmKbwnZivIPCdmJrwnZiq8J2YpPCdmKnwnZim8J2Ys/CdmKnwnZim8J2YqvCdmLXwnZi08J2Yu/CdmKbwnZiv8J2YtfCdmLPwnZii8J2YrfCdmKbCqw==")
    2. Dim decodedString As String = Encoding.UTF8.GetString(data)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dksksm“ ()

    wow ... das war es, was ich gesucht hatte !

    Jetzt verstehe ich auch die Angabe zur Encodierung ... und ich kriege die Display Darstellung des encodierten Strings !

    Schade, dass ich dir (wie so vielen anderen Ratgebern) kein Bier ausgeben kann, sondern nur ein "hilfreich" ...

    Eine kurze Nachfrage (interessehalber) ... wie sähe das denn aus, wenn statt des "B" ein "Q" vermerkt wäre ?

    LG
    Peter