detlevk: Probleme mit HTML-Mail bei gmx

Ich verschicke Mails als Auftragsbestätigung, die als Tabelle eine Vorab-Rechnung enthalten. Wegen dieser Tabelle ist eine HTML-Formatierung sinnvoll.
Für den Header wird daher angegeben:

...

$header = "From: ".$vorname." ".$nachname." <".$email.">"."\r\n";  
$header .= "MIME-Version: 1.0\r\n";  
$header .= "Content-Type: text/html\r\n";

...

Bei den meisten Mail-Dienstleistern funktioniert das einwandfrei. Lediglich bei gmx wird die Nachricht weitgehend unleserlich, weil unformatierter Text mit ausgeschriebenen HTML-Tags ankommt.
Das habe ich auch auf einem eigenen gmx-Account ausprobiert. Trotzdem erhalte ich auf diesem Account auch HTML-formatierte Mails.
Ich gehe davon aus, dass da noch mehr Feinheiten im Header notwendig sind als nur MIME-Version und Content-Type.

  1. Moin Moin!

    Ich verschicke Mails als Auftragsbestätigung, die als Tabelle eine Vorab-Rechnung enthalten. Wegen dieser Tabelle ist eine HTML-Formatierung sinnvoll.

    Verpack die Rechnung in ein HTML-Attachment. Das läßt sich dann auch bequemer abspeichern und getrennt vom sonstigen Mail-Zeugs drucken.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hallo,

    Bei den meisten Mail-Dienstleistern funktioniert das einwandfrei. Lediglich bei gmx wird die Nachricht weitgehend unleserlich, weil unformatierter Text mit ausgeschriebenen HTML-Tags ankommt.
    Das habe ich auch auf einem eigenen gmx-Account ausprobiert. Trotzdem erhalte ich auf diesem Account auch HTML-formatierte Mails.

    Hast Du mal in den Quelltext dieser funktionierenden Mails gesehen? Das sind höchstwahrscheinlich Multipart Mails ->http://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions.

    Beispiel für einen Quelltext (ab Header From:):
    -Zeilenwechsel = CRLF
    -leere Zeilen nach dem Header Content-type: ... sind wichtig
    -das Bild ist stark vereinfacht, um den base64-Code klein zu halten

    From: absender@example.com
    To: empfaenger@example.com
    Subject: Der Betreff der Nachricht
    MIME-Version: 1.0
    Content-type: multipart/alternative; boundary="--0101011"

    ----0101011
    Content-type: text/plain

    Hier der Text für Clients, die kein HTML unterstuetzen.

    ----0101011
    Content-type: text/html

    <html>
    <head>
    <title>HTML-Mail</title>
    </head>
    <body>
    <h1>Hier steht der HTML-Teil.</h1>

    <img src="cid:pic_1" width=100 height=100>

    <table border=1>
    <tr><td>Zelle11</td><td>Zelle12</td><td>Zelle13</td></tr>
    <tr><td>Zelle21</td><td>Zelle22</td><td>Zelle23</td></tr>
    </table>

    </body>
    </html>

    ----0101011
    Content-type: image/jpeg
    Content-ID: <pic_1>
    Content-Transfer-Encoding: base64

    /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
    CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
    FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAKAA0DASIA
    AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
    AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
    ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
    p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
    AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
    BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
    U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
    uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyXwf4
    QvfGHxV0SD7frPhoXUEAtJbSGOV5XJ8pAoMqKC0sAQMW2jBLH5cV23jvxRe6vqkVl/wlOreKNP0t
    GtLPUtWnMk06b2ZpCWCth2ZmUPllUohZtgNbXwtjQeC/E1wFAngjZIpcfNGslpdrIFPUBgqhgOoU
    Z6V523QH/PQV+tZPgqWHlOnHVU3ZXs7fhfay36dL2PxjiTM8Rjowr1LKVX3pWurvz1tbmbltpdLp
    c//Z
    ----0101011--

    viele Grüße

    Axel

    1. Hallo Axel,

      Hast Du mal in den Quelltext dieser funktionierenden Mails gesehen? Das sind höchstwahrscheinlich Multipart Mails ->http://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions.

      sollten sie zumindest sein. Es wird empfohlen, HTML-Mails *immer* auch mit einem alternativen Plaintext-Inhalt zu verschicken, so dass Clients, die HTML nicht unterstützten (können|wollen|dürfen), auch etwas Sinnvolles anzeigen.

      Beispiel für einen Quelltext (ab Header From:):

      Dein Beipsiel ist nicht ganz korrekt - sagen wir mal, es ist zu stark vereinfacht und dadurch falsch geworden. Deine Struktur sieht, anders dargestellt, so aus:

      begin multipart/alternative
         begin part 1: text/plain
         end part 1
         begin part 2: text/html
         end part 2
         begin part 3: image/jpeg
         end part 3
      end multipart/alternative

      Fällt dir was auf? Du stellst a) den Plaintext-Inhalt, b) den HTML-Inhalt und c) das Bild als alternative, einander gleichwertige Teile dar. Richtig wäre aber, den HTML-Teil und das Bild nochmals zusammenzufassen:

      begin multipart/alternative
         begin part 1: text/plain
         end part 1
         begin part 2: multipart/mixed
            begin part 2.1: text/html
            end part 2.1
            begin part 2.2: image/jpeg
            end part 2.2
         end multipart/mixed
      end multipart/alternative

      So long,
       Martin

      --
      Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
        (alte Schülererkenntnis)
      1. Hallo Ihrseda,

        begin multipart/alternative
           begin part 1: text/plain
           end part 1
           begin part 2: multipart/mixed
              begin part 2.1: text/html
              end part 2.1
              begin part 2.2: image/jpeg
              end part 2.2
           end multipart/mixed
        end multipart/alternative

        da das auch immer wieder ein Problembrennpunkt in diesem Forum ist, will ich auch noch meinen Senf dazugeben:
        Die Angabe eines Charsets vermeidet Probleme bei der anzeige.

        Content-Type: type/subtype; charset=charset

        Für gewöhnlich sollte dies bei Type html oder auch text hierzulande dann iso-8859-1, sio-8859-15 oder UTF-8 sein.

        Gruß aus Berlin!
        eddi

        --
        VEB Opel, Geruchsproben und Stasi 2.0, Zensur...
        IHR WOLLTET MERKEL!
  3. Hallo,

    wenn schon von GMX die Rede ist, möchte ich mich mal mit einem etwas anderen Themenschwerpunkt anhängen.

    Ich habe einen GMX-Account, bei dem ich 8 der möglichen 10 Mailadressen auch tatsächlich reserviert habe und fallweise verwende. Den Spamfilter, den GMX serverseitig bietet, habe ich allerdings in meinen Benutzereinstellungen komplett deaktiviert, nur die persönliche Blacklist habe ich als Ausschlusskriterium für regelmäßige Spammer, die schwer von Begriff sind.
    Stattdessen läuft bei mir ein lokaler Spamfilter, der SPAM-Mails nicht einfach nur aussortiert, sondern nebenher auch noch eine Statistik führt (welche Adressen werden am meisten bespammt, welche Schlagworte kommen vor, welche Wege haben die ankommenden Mails hinter sich).

    Seit einigen Tagen, genauer: seit 24.05.2009, werden aber entgegen meiner persönlichen Einstellungen wieder Mails von GMX aussortiert, die anhand bestimmter Headerzeilen als SPAM identifiziert werden. In der täglichen Spamreport-Infomail sind die immer mit [H] gekennzeichnet.

    Ich habe mich nach einigen Tagen an den GMX-Support gewendet und gefragt, warum denn der serverseitige Spamfilter plötzlich wieder aktiv wird, obwohl ich ihn ausdrücklich abgestellt habe. Der Support-Mitarbeiter bat mich daraufhin, ich möge ihm doch die Headerzeilen der betreffenden Mails zuschicken. Welche, dachte ich mir im stillen, etwa die der Spam-Mails, die mir nicht zugestellt werden? Kann ja nicht sein. Also wohl die der regelmäßigen Spamreports. Ich habe drei davon ausgewählt und die Header dieser Mails an den Supportler geschickt. Nein, antwortete der, das sei ein Missverständnis, er brauche selbstverständlich die Header der beanstandeten Spam-Mails. Ich habe ihm daraufhin nochmal erklärt, dass ich a) diese Mails nicht bekomme, das sei ja gerade der Gegenstand meiner Anfrage, und dass ich b) nicht verstehen könne, warum er irgendwelche Mail-Header braucht, nur um die Einstellungen eines Benutzer-Accounts zu überprüfen. Nein, er blieb hartnäckig, ohne diese Headerzeilen könne er nichts weiter untersuchen.

    Ich habe daraufhin den Kontakt beendet, ich fühlte mich veräppelt. Sind die Jungs wirklich so blöd? Können die nur nach vorgeschriebenen Schemata arbeiten, ohne wirklich auf die Fragen der Kunden einzugehen?

    Hat jemand von euch schon ähnliche Erfahrungen gemacht? - Bei mir ist das nämlich nicht das erste Mal; ich hatte schon öfters das Gefühl, dass die Jungs beim Support von GMX nicht lesen können, weil sie auf das eigentliche Problem gar nicht eingehen.

    So long,
     Martin

    --
    Zwei Politiker auf dem Weg zum Sitzungssaal: "Was sagten Sie in ihrer Rede neulich noch zur Rentenreform?" - "Nichts." - "Ja, schon klar. Aber wie haben Sie es formuliert?"
    1. Hi,

      Sind die Jungs wirklich so blöd? Können die nur nach vorgeschriebenen Schemata arbeiten, ohne wirklich auf die Fragen der Kunden einzugehen?

      Leute mit Ahnung von Details sind für First-Level-Support einfach zu teuer.
      Deshalb sitzen da Leute ohne - und wenn die dir nicht an Hand ihrer Checklisten, die alltägliche Probleme abdecken, weiterhelfen können, dann wird zur Aufnahme von Informationen nach festgelegten Schemata übergegangen, die an den nächsten Level weitergeleitet werden.

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
    2. Moin Moin!

      Hat jemand von euch schon ähnliche Erfahrungen gemacht? - Bei mir ist das nämlich nicht das erste Mal; ich hatte schon öfters das Gefühl, dass die Jungs beim Support [...] nicht lesen können, weil sie auf das eigentliche Problem gar nicht eingehen.

      Willkommen im Supportcenter, wo hochbezahlte und hochmotivierte Mitarbeiter nur darauf warten, Dein individuelles Problem in Rekordzeit, notfalls unter Zuhilfenahme von Magie, lösen und ganz nebenbei auch noch Lebensberatung machen.

      Ooops, sorry, das war der Werbeprospekt.

      Support kostet Geld und schmälert damit den Gewinn. Ganz ohne geht es leider nicht. Also arbeitet man mit angelernten Hilfskräften, gerne auch Studenten und Langzeit-Arbeitslosen, denen man nur wenig zahlen muß, und legt ihnen als Werkzeuge Ablaufpläne mit vorgegebenen Fragen und Textbaustein-Assembler hin. Als Maßnahme zur Effizienzsteigerung bekommen sie Prämien abhängig von den abgewimmelten Fällen.

      Das ist nicht immer so, aber leider immer öfter. Schöne Grüße vom "Shareholder Value".

      Ein wirklich kundenorientierter Service / Support wird immer seltener. Positiv überrascht war ich z.B. von Miele, die nicht nur bei ihren Produkten auf Qualität achten, sondern auch beim Support. Das ist ihre Strategie, und die funktioniert. Zugegeben, ich wäre bei den Preisen auch ziemlich angefressen, wenn ich mich vom Support anpöbeln lassen müßte. Auch beeindruckend war (leider Vergangenheitsform!) IBMs PC-Download-Ecke, wo man auch für 25 Jahre alte Hardware noch SÄMTLICHE Unterlagen und Software bekam. Seit Lenovo sieht das deutlich schlechter aus.

      Bei 1&1, Telekom und Hansenet ist sehr entscheidend, ob man Privatkunde oder Businesskunde ist. Als Businesskunde (bzw. dessen Angestellter) wird man deutlich besser behandelt und die Supporter sind deutlich mehr darauf getrimmt, dem Kunden zu helfen statt die Leitung wieder frei zu bekommen.

      Bei Hansenet kann man mit gründlicher Argumentation und gerade noch höflichen Faxen wenigstens ab und zu eine Gutschrift rausschinden. Spaß macht das aber nicht. In der Anfangszeit, als Hansenet noch auf Hamburg beschränkt war, war der Kundenservice deutlich besser. Das Wachstum hat dem Service von Hansenet nicht gut getan, und ich schätze, der anstehende Verkauf wird die Lage nicht verbessern.

      Gründlich vergeigt haben bei mir die Bayerische Beamtenversicherung und die örtliche Citroën-Niederlassung. Erstere forderte völlig unnötig ein schweineteures Gutachten an, auf dessen Kosten ich wohl voraussichtlich sitzen bleiben werde, letztere hat mehrfach versucht, mehr Geld als nötig zu kassieren.  Das hat die Citroën Deutschland AG übrigens genauso gesehen und wohl sehr nachhaltig mit der Niederlassung "kommuniziert", was in einem sehr kleinlauten Schreiben der Niederlassung an mich endete. Mein Auto fahre ich (bzw. der ADAC-Transporter) zur freundlichen, auf Franzosen spezialisierte Hinterhofwerkstatt. Da stimmt der Service UND der Preis.

      Den Vertrag mit der BBV werde ich schnellstmöglich kündigen und mir eine andere Versicherung suchen.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".