• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Via PHP generierte HTML-Email auf Android-Geräten und Co.

leicht-debil

Neu angemeldet

Registriert
13 Aug. 2013
Beiträge
57
Ort
Kassel
Hallo Community!

Ich bin entsetzt.
Erst jetzt merke ich, dass es offensichtlich nicht bzw. nur erschwert möglich ist, HTML-Emails via PHP zu generieren, die auf Android-Geräten und bei manchen E-Mail-Providern (z.B. GMX) vernünftig dargestellt werden.
Ich lasse eine Email generieren, die einen Aktivierungslink enthält.

Vereinfachtes Beispiel zur Verdeutlichung:

[src=php]<?php
foobar = md5( rand(100,999) . (time());
$foolink = 'http://www.confirm-domain.xy/confirm/' . $foobar;
$mail_header = 'MIME-Version: 1.0' . "\r\n";
$mail_header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$mail_header .= 'From: Max Mustermann<max@mustermann.xy>' . "\r\n";
// Meine Mail
$inhalt = '<!DOCTYPE html><html><head><meta charset="utf-8" /></head><body>';
$inhalt .= 'Klick für Aktivierung: <a href="' . $foolink . '">' . $foolink . '</a>';
$inhalt .= '</body></html>';
$betreff = 'Bestätige Deine Mailadresse';
mail($empfaenger,$betreff,$inhalt,$mail_header);
?>
[/src]

In Thunderbird, Outlook und bei Google-Mail funktioniert es, bei GMX z.B. nicht (andere Dienste konnte ich bislang nicht testen).
Ganz katastrophal sieht es hingegen bei meinem Android Smartphone aus (Huawai, Android 4.x, Standard-Mail-Anwendung). Hier wird alles falsch dargestellt und angegeben, was falsch dargestellt werden kann. Konkret:

  • Umlaute werden nicht UTF-8 kodiert
  • HTML-Tags werden einfach als Text angezeigt
  • Das Absendedatum wird auf den 01.01.1970 gesetzt, was bedeutet, dass die Mails unter allen anderen Mails angezeigt werden, da sie vermeidlich uralt sind

Habe zwar inzwischen gelesen, dass man bei Android-Geräten die Größe der zu empfangenden Mails auf "max" setzen muss - das ganze kann natürlich keine Lösung sein. Ich kann dem User nicht mitteilten, dass er die Einstellungen seinen Handys ändern soll, und von GMX zu Gmail wechseln soll ;-)

Ich weiß, dass HTML-Mails immer heikel sind und reine Textmails zu bevorzugen sind. Aber - und da machen wir uns nichts vor - HTML-Mails wirken (wenn sie dann mal korrekt dargestellt werden) eleganter.
Gibt es hier eine elegante Möglichkeit, die möglichst Viele Geräte, Dienste und Szenarien abdeckt?
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Nein. Das ist ein riesiger Aufwand. Wir machen das ständig und es ist de facto unmöglich alle E-Mail Clients abzudecken. Du kannst ein paar Dinge machen, um bessere Erfolge zu bekommen z. B. Tabellen und so alte CSS-Standards nutzen wie es nur geht.
 

leicht-debil

Neu angemeldet

Registriert
13 Aug. 2013
Beiträge
57
Ort
Kassel
  • Thread Starter Thread Starter
  • #3
Das ist schon klar, dass es keine All-In-One-Lösung gibt.
Das Merkwürdige ist, dass via Thunderbird verfasste HTML-Mails auf meinem Smartphone korrekt und in HTML angezeigt werden, die via PHP generierten nicht. Also muss es doch am Coding liegen.
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Das Problem ist wohl zumindest unter anderem, dass deine E-Mail keine gültige MIME-E-Mail ist. Insbesondere sind auch bei MIME-E-Mails die Header (u.a. der Subject-Header, den PHPs mail() aus dem angegebenen Betreff erzeugt) auf 7-Bit-ASCII-Zeichen beschränkt, Sonderzeichen müssen entsprechend QP-codiert werden. Auch musst du berücksichtigen, dass u.U. kein 8-Bit-Transfer-Encoding zur Verfügung steht, so dass du auch den Body entsprechend codieren musst. Zumindest müsstest du das 8-Bit-Transfer-Encoding aber mittels eines entsprechenden Headers ausweisen. Auch eine alternative Plain-Text-Version für E-Mail-Clients ohne oder mit deaktivierter HTML-Unterstützung wäre sehr sinnvoll.

Da es keineswegs trivial ist, gültige MIME-E-Mails zu erzeugen, würde ich stark zur Verwendung einer E-Mail-Bibliothek wie z.B. Swift Mailer raten. Damit kannst du sehr leicht gültige Multipart-E-Mails mit Text- und HTML-Alternativinhalten erzeugen; siehe etwa http://swiftmailer.org/docs/messages.html und http://swiftmailer.org/docs/sending.html.
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Kugelfisch, woher nimmst du die ganzen Bibliotheken und Frameworks immer? :D
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Swift Mailer gehört zu den Bibliotheken, die ich für diverse eigene Projekte einsetze. Speziell bei deutschsprachigen Projekten muss man in der Regel davon ausgehen, dass auch Umlaute in den E-Mail-Headern oder -Bodies enthalten sein werden; deshalb müssen MIME-E-Mails erzeugt werden. Da das alles andere als trivial ist und man sehr leicht Fehler machen kann, welche nicht sofort auffallen, aber zu zurückgewiesenen E-Mails, Spam-Scoring oder fehlerhafter Darstellung in bestimmten E-Mail-Clients führen, setze auch ich dazu eine fertige Bibliothek ein, welche das in der Vergangenheit sehr gut geleistet hat.
 

manlo

Neu angemeldet

Registriert
9 Feb. 2014
Beiträge
1
Hatte das gleiche Problem.

Du solltest mal: [src=php]$mail_header = 'MIME-Version: 1.0' . "\r";
$mail_header .= 'Content-type: text/html; charset=UTF-8' . "\r";
$mail_header .= 'From: Max Mustermann<max@mustermann.xy>' . "\r";[/src]
versuchen. Der Android Client erkennt nach 2 Zeilenumbrüchen den Header nicht mehr. Auch GMX spielt jetzt mit, aber nur mit css2 :'(
 
Zuletzt bearbeitet:
Oben