Probleme beim Öffnen von angehängten eml Dateien mit Base64 Kodierung


    • Programm + Version: Thunderbird 52.3.0
    • Betriebssystem + Version: alle
    • Kontenart (POP / IMAP): IMAP
    • Postfachanbieter (z.B. GMX): eigener Server


    Hallo,


    ich bin aktuell einem Problem auf der Spur, welches ich auf allen TB Installationen bei uns und auch z.B. auf Linux Maschinen reproduzieren kann. Die Situation wurde bereits öfters im Forum beschrieben, eine konkrete Lösung habe ich aber noch nicht gefunden. Würde euch bitten mir bei der Ermittlung des Fehlers unter die Arme zu greifen, damit man dann vielleicht einen Bug Report öffnen könnte welcher genügend Infos bereithält.


    Problem:

    In gewissen Situationen (z.B. von gewissen E-Mail Clients und Webclients) erhalte ich E-Mails, welche als Dateianhang eine .eml Datei besitzen. Diese Dateien lassen sich normalerweise per Klick auf den Anhang ohne Probleme öffnen und werden durch Thunderbird auch vorzeitig "entpackt" wenn "Ansicht -> Anhänge eingebunden anzeigen" aktiviert ist. In gewissen Situationen lassen sich die Dateien aber nicht öffnen, es wird die Meldung


    "Dieser Anhang scheint keinen Inhalt zu haben.

    Bitte klären Sie dies mit dem Absender.

    Firewall- oder Antivirenprogramme in Firmen sind häufig der Grund für gelöschte Anhänge."


    angezeigt, obwohl die Anlage sicher nicht leer ist und auch eine Dateigröße neben dem Dateinamen bei den Anhängen stehen hat.


    Habe diese Fälle genauer angesehen und bemerkt, dass in diesem Moment im Mail Quelltext die angehängte .eml Datei mit diesem Header in die empfangene Mail eingebunden ist:

    Code
    1. Content-Type: message/rfc822
    2. Content-Transfer-Encoding: base64
    3. Content-Disposition: attachment; filename="modifiziert.EML"

    Danach folgt dann ein Base64 kodierter Block.

    Nun habe ich versucht in den RFCs nachzusehen und zumindest laut RFC 2046 ist für angehängte Mails zwar der Content-Type message/RFC822 vorgesehen, aber als Encoding darf nicht base64 angewendet werden. Ändere ich den Header der angehängten Datei um indem ich Content-Transfer-Encoding auf 8bit stelle und dann noch den Inhalt der .eml in Klartext einbaue, öffnet Thunderbird die angehängte .eml ohne Problem.

    Auch lässt sich die eml Datei öffnen indem man über das Menü "Nachricht -> Als neu bearbeiten" auswählt - dort kann man dann per Doppelklick auf die angehängte eml Datei zugreifen und sie öffnen.


    Nun möchte ich mich aber nicht einfach auf das RFC berufen und behaupten TB macht alles richtig - immerhin ist dies eher ein Problem welches Thunderbird der Kompatibilität wegen vielleicht anzugehen ist (Aussagen wie "bei meinem Outlook klappt das aber").


    Details:

    Ich habe daher über die Debugfunktion von TB die zuständige Funktion in der Datei msgHdrViewOverlay.js ausfindig gemacht (denke ich) und habe den Ablauf verfolgt. Es scheint so als würde Thunderbird nicht mit dieser Situation umgehen können (schon die Bytelänge des Attachments wird dort in Zeile 1944 als 0 erkannt statt die richtige Länge zurück zu geben...


    Ist das nun tatsächlich eine Sache die Thunderbird nicht zu verarbeiten schafft (mangelns Dekodierung von base64 Inhalten) oder kommt das aus einem anderen Grund?

    Vielleicht könntet ihr versuchen diesen Fall nachzuvollziehen? Ich hänge auch ein Beispiel an, welches bei mir das Problem aufweist.


    bg cschla

    Dateien

    • mail.zip

      (5,47 kB, 9 Mal heruntergeladen, zuletzt: )
  • Hallo und willkommen im Forum!

    Eine eml-Datei darf nicht als base64 kodiert werden, da es eine reine Textdatei ist.

    Diese gesamte Deklarierung ist wohl nicht normgerecht, bzw versteht sie Thunderbird nicht.

    So sollte es im Quelltext (Strg+U) aussehen:


    Content-Type: message/rfc822;

    name="000F0CDD-00000005.eml"

    Content-Transfer-Encoding: 8bit

    Content-Disposition: attachment;

    filename="000F0CDD-00000005.eml"


    8-bit bedeutet: unkodiert.


    Du musst den Versender bitten, dies zu korrigieren (ein Normaluser wird das aber wohl nicht können). Die Fehler werden von wenigen Webseiten und älteren Mailprogrammen verursacht.

    Um an den Anhang zu kommen, musst du diesen in Klartext konvertieren und dann mit einem Texteditor oder auch Thunderbird öffnen. Im Netz gibt es Webseiten, die das kostenlos anbieten.


    Gruß

    Konversationen ohne vorherige Anforderung werden ignoriert..
    Windows 10, 64-bit, immer die aktuelle Thunderbird-Version und ältere Testversionen. Testprofile vorhanden.
    Testkonten bei den meisten größeren Mailanbietern wie GMX, Web.de usw

  • Hallo,


    vielen Dank für die Rückmeldung!

    Demnach ist diese Form der Deklarierung tatsächlich komplett falsch oder gibt es da verschiedene RFCs die es vielleicht auch mal erlauben?

    Ich frage da bei einer Online Recherche dieses Problem auch von Benutzern beschrieben wurde, welche Mails von Outlook bekommen haben. Ich weiß, dass Outlook sich (speziell früher) nicht unbedingt um Standards geschert hat, aber vielleicht tritt dieses Problem doch öfter auf?


    Genau deinen Ansatz habe ich auch so versucht und bin eben dadurch zum Ergebnis gekommen, dass base64 nicht korrekt sein kann. Stutzig machte mich nur dann die Möglichkeit die Mail "als neu bearbeiten" zu können, wo sich das angehängte eml dann öffnen lässt. Prinzipiell scheint Thunderbird also in gewissen Momenten die dekodierung selbst vorzunehmen - oder?


    bg cschla

  • Hallo cschla,


    aus dem Bauch heraus habe ich da einen Verdacht. Heißt dieser erhaltene Anhang vielleicht winmail.dat? Wenn ja, dann verweise ich auf meinen Beitrag hier: Thunderbird ruft winmail.dat ab. Outlook aber die korrekte Datei pdf od. docx.


    Aktualisierung bezüglich des Add-ons: LookOut (fix version).


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier

  • Hallo Feuerdrache,


    vielen Dank, aber leider handelt es sich nicht um die winmail.dat, es geht tatsächlich nur um eml Dateien. Dabei ist es auch so, dass ich diese eml Dateien selbst erstellen kann und sie mir per Thunderbird mailen kann - dann funktioniert alles korrekt. Wenn ich dann aber einen Webmailer verwende, dann bekomme ich eine base64 kodierte Datei...


    Sieht natürlich tatsächlich so aus wie mrb es beschrieben hat (alte Webmailer usw.) aber eben frage ich mich ob das nicht eventuell durch Thunderbird "toleriert" werden könnte und die base64 kodierte eml einfach dekodiert werden könnte... :)


    bg cschla

  • Hallo cschla,


    vielen Dank für Deine Rückmeldung.


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier

  • cschla ,


    du wirst es nicht glauben, ich hatte auch daran gedacht und sofort mit Outlook einen Test gemacht, der aber positiv ausgefallen ist, die Deklarierung ist genau so wie in Thunderbird. Es sei denn Outlook hat eine Einstellung dafür. Das möchte ich aber nicht weiter vertiefen. Das ganze könnte aber auch an einem veralteten Betriebssystem (des Versenders) liegen.


    Gruß

    Konversationen ohne vorherige Anforderung werden ignoriert..
    Windows 10, 64-bit, immer die aktuelle Thunderbird-Version und ältere Testversionen. Testprofile vorhanden.
    Testkonten bei den meisten größeren Mailanbietern wie GMX, Web.de usw

  • Noch etwas:

    du kannst im Quelltext (Strg+U) der Mail im Header (X-Mailer:) erkennen welches der Mailclient der Absenders ist und oft auch dessen Betriebssystem.

    Bsp.:

    Code
    1. X-mailer: Pegasus Mail for Windows (4.51, DE v4.51 R1)


    Früher war es häufig, dass Mails von Linux oder Mac andere Deklarierungen verwendeten, die dann auf Windows-System zu Problemen führten.


    Gruß

    Konversationen ohne vorherige Anforderung werden ignoriert..
    Windows 10, 64-bit, immer die aktuelle Thunderbird-Version und ältere Testversionen. Testprofile vorhanden.
    Testkonten bei den meisten größeren Mailanbietern wie GMX, Web.de usw