E-Mail kommt bei TB in HTML an, woanders in Reintext

  • Hallo Community,


    ich habe ein eigenes kleines Skript in PHP, womit meine Kunde eine eMail erhalten, sobald diese sich Registriert haben.
    Wenn ich mich Testweise Registriere, erhalte ich die eMail bei Thunderbird im kompletten HTML Format und bei meinem Webmail Programm im Reintext (wie es sein sollte eigentlich). Da wollte ich gerne nach Fragen, woran dies liegen könnte?
    Denn andere eMails von anderen Webseiten erhalte ich auch im Reintext bei Thunderbird, nur bei meinem eigenen Skript nicht.


    Hier kann man sich auch die eingegangene eMail von beiden Programmen einsehen.


    Thunderbird Eingang
    Webmail Roundcube Eingang




    * Thunderbird-Version: 31.6.0
    * Betriebssystem + Version: Win 8.1
    * Kontenart (POP / IMAP): POP
    * Postfachanbieter (z.B. GMX): "Eigener"
    * Eingesetzte Antivirensoftware: -/-
    * Firewall (Betriebssystem-intern/Externe Software): -/-


    Ich hoffe, man kann mir weiterhelfen :)


    *****
    EDIT:
    Ich habe es eben mit meinem GMail Konto ausprobiert (auch mit Thunderbird verbunden), und dort funktioniert es z. B.
    Nur bei meinem eigenen Konto nicht (kein GMX, GMail o. Ä.)

    Mit freundlichen Grüßen,
    Justin Dittmer

    Einmal editiert, zuletzt von JND_3004 ()

  • Hallo und willkommen im Forum,
    wenn man es nicht anders eingestellt hat, versendet Thunderbird ja die Mails in Hybridform also HTML + Reintext.
    Überprüfe doch mal den Quelltext (Strg+U) einer Mail, dort kannst du das gut erkennen.
    Ich meine mich zu erinnern , dass man bei einigen Mailanbietern auf der Webseite die Auswahl hat, wie angezeigt werden soll. Das gleiche ist ja in Thunderbird auch so.
    Im GMX Webmailer finde ich aber keinen Schalter um HTML auszustellen.


    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 und willkommen im Forum,
    wenn man es nicht anders eingestellt hat, versendet Thunderbird ja die Mails in Hybridform also HTML + Reintext.
    Überprüfe doch mal den Quelltext (Strg+U) einer Mail, dort kannst du das gut erkennen.
    Ich meine mich zu erinnern , dass man bei einigen Mailanbietern auf der Webseite die Auswahl hat, wie angezeigt werden soll. Das gleiche ist ja in Thunderbird auch so.


    Gruß

    Wie gesagt, ich habe z. B. in Thunderbird ein GMail Konto und eines das nicht bei GMail, GMX o. ä. ist.
    Nachrichten die an GMail gehen, kommen im Reintext wunderbar an. Beim anderen kommt die Mail in HTML an.
    Und der Quelltext sagt darüber auch nicht sonder viel .. Quelltext - Thunderbird

    Mit freundlichen Grüßen,
    Justin Dittmer

  • Hallo,


    ich verstehe das nicht:


    du schreibst:

    Zitat

    Wenn ich mich Testweise Registriere, erhalte ich die eMail bei Thunderbird im kompletten HTML Format und bei meinem Webmail Programm im Reintext (wie es sein sollte eigentlich).

    Daraus lese ich, dass du gerne eine E-Mail im Reintext-Format versenden möchtest.


    Dein Script beeinhaltet aber einen HTML-Body???


    Was für eine E-Mail soll den versendet werden?
    Eine E-Mail, die ausschließlich Text enthält, oder eine, die auch HTML-Befehle enthält, oder eine, die beides enthält, oder oder?


    Grüße, Ulrich

  • Edit: Vollzitat gelöscht! Bitte zum Antworten nur das unbedingt Notwendige aufführen! S-Mod. graba



    Das ganze soll als HTML versendet werden von meinem Skript aus. Aber wenn die eMail ankommt, dann soll Sie Klar zu lesen sein.
    Bei mir möchte Thunderbird die eMails aber nicht im Klartext anzeigen. Sobald ich aber die eMail Adresse zu meinem GMail Konto angebe und dort die eMail verschickt wird, wird die eMail im Klartext angezeigt.


    Und ich weiß nicht, wie ich das beheben kann ..

    Mit freundlichen Grüßen,
    Justin Dittmer

    Einmal editiert, zuletzt von graba ()

  • Hallo,


    ah, kann es sein, dass Thunderbird dir den HTML-Quelltext anzeigt? Also es werden auch die Tags/HTML-Befehle (wie z.B. <br><br>) angeizeigt?


    mrb wird sich sicherlich (und hoffentlich wieder melden), er kennt sich - soweit ich das in Erinnerung habe - sehr viel besser aus in diesen Dingen.


    So viel kann ich sagen: wenn das hier der Quelltext ist: Dein Link zum TB-Quelltext dann sind da zwei Leerzeilen zu viel:

    Das müssten - soweit ich weiß - drei Zeilen anstatt fünf sein, also keine Leerzeilen im Header.


    Ändere mal das in deinen PHP-Code:

    PHP
    1. // Always set content-type when sending HTML email
    2. $headers = "MIME-Version: 1.0" . "\n";
    3. $headers .= "Content-type:text/html;charset=UTF-8" . "\n";

    Also nur LF anstatt CR+LF.



    Evtl. sogar den letzten LF weglassen:

    PHP
    1. // Always set content-type when sending HTML email
    2. $headers = "MIME-Version: 1.0" . "\n";
    3. $headers .= "Content-type:text/html;charset=UTF-8";


    Wie sieht es dann aus?


    Grüße, Ulrich

  • Daran kann es eigentlich nicht liegen.
    Denn wenn ich es an einen anderen Empfänger schicke (befindet sich auf dem gleichem Mail-Server), dann wird diese eMail auch im Klartext angezeigt, genauso wie bei meinem GMail Account.


    Daran kann es also nicht liegen .. Und beide Mail Accounts sind gleich eingerichtet.

    Mit freundlichen Grüßen,
    Justin Dittmer

  • Hallo,


    also, das finde ich irgendwie frustrierend, wenn ich mir hier Mühe gebe, und du einfach nur sagst, daran könne es nicht liegen!


    Ich kann dir gerne beschreiben, was alles für meine Theorie spricht:
    1. sind im E-Mailheader keine Leerzeilen erlaubt (!), denn eine Leerzeile bedeutet: "hier beginnt der Body" (Wikipedia)
    2. An deinem Link hier sieht man, dass alles nach der ersten Leerzeile von Thunderbird als E-Mailinhalt interpretiert wird (so wie vorgeschrieben).
    3. Ich habe deinen Quellcode in eine Datei kopiert und meinem Thunderbird damit gefüttert. Und habe das selbe Ergebnis wie du.
    4. Wenn ich die Leerzeilen lösche, dann kommen wir dem Ergebnis schon näher (html-tags werden nicht angezeigt, sondern interpretiert).
    5. Jeder E-Mailclient ist unterschiedlich in seiner Fehlertoleranz bzw. geht mit fehlerhaften E-Mails unterschiedlich um. Das bedeutet, dass manche Clients sich an Fehlern mehr stören, als andere. Eine Leerzeile in einem Header ist nach meinem Verständnis von RFC5322 ein Fehler. Dass nun der GMail-Webmail-Client, Thunderbird, Outlook, KMail, Web.de-Webmail-Client, TheBat, usw. mit diesem Fehler unterschiedlich umgehen, ist klar! Also bitte nicht mit dem Argument kommen "XXX zeigt das aber anders an".


    Du musst dich zunächst darum kümmern, dass deine E-Mail formal richtig ist!


    In einem muss ich dir aber Recht geben, eine Headerzeile muss mit CR+LF enden. Daher würde ich folgenden PHP-code testen:

    PHP
    1. // Always set content-type when sending HTML email
    2. $headers = "MIME-Version: 1.0" . "\r\n";
    3. $headers .= "Content-type:text/html;charset=UTF-8";

    Damit sollte zumindest die eine überzählige Leerzeile entfernt sein.


    Fragt sich noch, wie du die zweite Leerzeile im Header los wirst.
    Da ich kein PHP verwende und auch zu faul bin mir für dich (der du ebenfalls ein wenig träge zu sein scheinst) eine Testumgebung ("xampp"-Server oder ähnliches) aufzubauen, kann und will ich das nicht für dich testen.



    Grüße, Ulrich

  • Ich finde es ja auch Klasse das du mir Hilfst, aber am Header kann es ja nicht liegen, denn wie im vorherigen Beitrag beschrieben, habe ich zwei verschiedene eMail Adressen auf dem gleichen Mail-Server liegen (xxx@chaosdidi.de und xxx@jdittmer.com).
    Wenn ich jetzt xxx@chaosdidi.de als eMail Adresse angebe, dann erhalte ich die eMail vollkommen richtig als Klartext. Wenn ich aber die eMail Adresse xxx@jdittmer.com verwende, dann kommt diese als HTML an und nicht als Klartext.
    Am Skript selber kann es also nicht großartig liegen, da beide verschiedenen eMail Adressen auf dem gleichen Mail-Server bei mir liegen.


    Außerdem erfolgt dieses Ergebnis mit Klartext und HTML auch mit anderen Skripts. Ich habe nämlich auch schon bereits andere einmal ausprobiert.


    Trotzdem vielen Dank für deine Hilfe, nur bringt mir diese nicht viel weiter.

    Mit freundlichen Grüßen,
    Justin Dittmer

  • Hallo,


    wenn du dir die beiden Quelltexte der E-Mails von xxx@chaosdidi.de und xxx@jdittmer.com ansiehst, sind diese dann vom Aufbau her identisch?


    Welche E-Mailclients zeigen dir denn die E-Mails an? Benutzt du für beide Ansichten den selben Client mit den selben Einstellungen?


    Grüße, Ulrich

  • Was ich aber nicht verstehe, wenn du alle Konten in Thunderbird so einstellst, dass kein HTML verwendet wird, darf auch kein HTML gesendet werden.
    Wenn du ein Skript verwendest, verwendet Thunderbird immer das Standardkonto (in den Konteneinstellungen an oberster Stelle und fett. Dort ist ebenfalls HTML nicht angehakt?
    Nur der Quelltext (Strg+U) kann hier Aufschluss bringen, steht Reintext und HTML, entscheidet der jeweilige Mailklient des Empfängers, ob HTML oder Reintext.
    Aufgrund der für mich etwas unklaren Situation und dass ich sie hier nicht nachvollziehen und testen kann, kann ich leider keine Lösung 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 mrb,


    ich verstehe Justin so, dass er das im ersten Post zitierte PHP-Script (auf einem Server, also ohne Thunderbird) zum Versenden benutzt und Thunderbird sowie andere Clients zum Empfangen / Betrachten.


    Grüße, Ulrich

  • und Thunderbird sowie andere Clients zum Empfangen / Betrachten.


    Dann wäre es aber eine reine Einstellungsfrage in Thunderbird. Also Ansicht > Nachrichteninhalt. Das lässt sich dann nicht vorschreiben, wie der Empfänger eine Mail lesen muss, darauf hat der Versender keinen Einfluss.


    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,


    ich bin überzeugt davon, dass sein Script (oder das Zusammenspiel aus Script, PHP-Version und Betriebssystem auf dem PHP läuft) zwei Leerzeilen im Header zu viel erzeugt. Er hat den Quelltext einer mit Thunderbird empfangengen E-Mail hier verlinkt. Dadurch wird alles ab der ersten Leerzeile als E-Mailbody interpretiert und er bekommt die HTML-Befehle / -Tags in Thunderbird sowohl bei der Einstellung
    Ansicht => Nachrichteninhalt => Reiner Text
    als auch bei der Einstellung
    Ansicht => Nachrichteninhalt => Original HTML
    zu Gesicht. So wird auch mir das angezeigt, wenn ich seinen Quelltext in eine Mbox kopiere.
    Das hat er hier versucht darzustellen (ein Screenshot wäre eindeutiger gewesen).


    So verstehe ich das Problem.


    Grüße, Ulrich

  • Aber der TE hat bisher noch nicht bestätigt, dass der HTML-Code im Nachrichtentext zu erkennen ist (also nicht im Quelltext), oder?
    Außerdem fällt mir bei seinem Screenshot auf, dass der Plaintext-Teil vollkommen fehlt. Entweder er xexistiert dort nicht oder der Screenshot zeigt ihn nicht, weil zu klein.


    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,


    hmm, ich sehe hier eher eine Begriffsverwechslung durch den TE

    Wenn ich mich Testweise Registriere, erhalte ich die eMail bei Thunderbird im kompletten HTML Format und bei meinem Webmail Programm im Reintext (wie es sein sollte eigentlich).

    Klickt man auf Webmail Roundcube Eingang, so sieht man die Mail m.E. in ausgeführtem HTML, was der TE als ReinText bezeichnet, während er bei Thunderbird Eingang den HTML-Quelltext sieht, den er als HTML bezeichnet.


    @JND_3004: was passiert denn, wenn du in TB auf Ansicht>Nachrichteninhalt>HTML gehst?

  • Tut mir Leid, das ich jetzt erst wieder Antworte. Der @losgehts hat soweit richtig verstanden mein Problem :)
    Bei mir ist es so folgendermaßen Standardmäßig Eingestellt:


    Mit freundlichen Grüßen,
    Justin Dittmer

  • Hallo Justin,


    den Einstellungen im Screenshot nach läuft alles ganz genau so, wie du es wolltest: eintreffende HTML-Mails werden auch als HTML-Mail angezeigt.


    Und generell stellt sich mir die Frage, wieso du HTML-Mails generierst (und auch explizit als HTML anzeigen lässt), wenn du sie doch eigentlich garnicht als (formatierte) HTML-Mail angezeigt haben willst, sondern in (unformatierter) reiner Textdarstellung.


    MfG
    Drachen

  • Ich habe ja eben geschrieben, das dies meine Standard Einstellung sei, so.
    Dann habe ich in Thunderbird mehrere eMail Adressen laufen, wo unteranderem zwei verschiedene eMail Adressen auf dem gleichen Mail-Server liegen.
    Diese beiden eMail Adressen lauten xxx@chaosdidi.de und xxx@jdittmer.com.
    Zu beiden eMail Adressen, habe ich jeweils eine Registrierung abgesendet, wodurch beide eine eMail erhalten haben. Bei eMail Adresse xxx@jdittmer.com erhalte ich die eMail als HTML (s. Vorschau 1) und bei eMail Adresse xxx@chaosdidi.de erhalte ich diese als Reintext (s. Vorschau 2).
    Beide haben die gleiche Ansichts-Einstellung, dennoch sind beide eMails unterschiedlich, nur habe ich keine Ahnung warum das so ist.


    Vorschau 1


    Vorschau 2

    Mit freundlichen Grüßen,
    Justin Dittmer