Sollten wir beim Erstellen von HTML-E-Mails HTML-, Kopf- und Body-Tags verwenden?

112

In meinen E-Mail-Ansichten mache ich normalerweise nur so etwas wie ...

<dl>
   <dt>Name</dt>
   <dd>Value</dd>
</dl>

Soll ich das so machen?

<html>
  <head></head>
  <body>
    <dl>
       <dt>Name</dt>
       <dd>Value</dd>
    </dl>
  </body>
</html>

Mit anderen Worten, als würde ich ein eigenständiges Dokument markieren?

Ich denke, ich kann davon ausgehen, dass jeder webbasierte E-Mail-Client es entfernen wird.

Was ist der richtige Weg?

Alex
quelle
Für was es wert ist , gibt die Thunderbird html, headund bodyTags in ihren Nachrichten.
Palswim

Antworten:

43

Der richtige Weg ist, dem HTML- Standard zu folgen . Sie können Ihre HTML - Seite validieren hier .

Ihr Mail-Client sollte ihm folgen und wegwerfen, was nicht unterstützt wird oder was unsicher ist wie Javascript.

UPDATE: Nach mehreren Abstimmungen von Leuten, die wütend werden, wenn Sie ihnen sagen, dass sie Standards befolgen sollen, werde ich einige Gründe aufzeigen, warum das Befolgen von Standards hier von Vorteil sein kann:

  1. Eine Webmail, die bereit ist, Ihre E-Mails als ganze Seite anzuzeigen, kann Ihr Format beibehalten.
  2. Ein Webmail entfernt einfach die Tags und Attribute, die es nicht möchte. Aber man kann nie wissen, welche.
  3. Es ist einfacher, (serverseitige) Komponenten zu finden, die Formatstandards entsprechen und daher weniger fehleranfällig sind. Parser, die nicht den Standards entsprechen, können möglicherweise brechen und Ihre E-Mail wird nicht angezeigt.
mschonaker
quelle
54
-1 Der richtige Weg ist, es in den relevanten Clients zu testen. Während Mail-Clients den Standards folgen sollten , tut dies praktisch keiner von ihnen.
Dan bläst
27
mschonaker ist richtig. Wenn jeder anfängt, den Standards zu folgen, wird die Verwendung ... gut ... standardisiert. Andernfalls müssen alle Entwickler Hacks für den Geschmack des Tages implementieren (denken Sie an Sie, IE6!). Der richtige Weg ist, den Standards zu folgen.
Cjcela
4
Es gibt keinen Standard für "HTML-E-Mails". Sie zeigen auf den Standard für HTML.
rds
2
Ich bin mit dieser Antwort einverstanden, während viele Clients ungültiges HTML rendern. Das zuverlässigste Format, das für die meisten Clients gerendert wird, ist gültiges HTML!
Markmnl
3
Dies ist die richtige Antwort. Der MIME-Typ des Teils oder Körpers ist Text / HTML. Unabhängig vom Kontext sollte dieser Typ standardmäßig eingehalten werden, unabhängig davon, ob es sich um einen Webbrowser oder einen E-Mail-Client handelt. @cjcela hat die richtige Idee, wenn wir alle IE8 nicht unterstützen würden, würde sich das Web nicht weiterentwickeln. Wenn wir uns nicht an Standards halten, wie wird HTML in E-Mails weiterentwickelt? Was Sie tun sollten, ist sich an die Standards zu halten, aber zu erkennen, dass Dinge wie Stylesheets in heads möglicherweise ignoriert werden und einen anmutigen Fallback haben.
Brett Ryan
33

Ob Sie die HTML- / Head- / Body-Tags einschließen oder nicht, spielt keine Rolle. Sie sind immer optional und haben keinerlei Einfluss auf das Rendern des Dokuments.

Am wichtigsten ist, ob der Mackenmodus aktiviert ist oder nicht. Leider können Sie dies in einer Webmail-Einstellung nicht steuern. Tabellen und Inline-Stile sind deine Freunde. Am besten testen Sie so viele Webmail- und Desktop-Clients wie möglich.

Josh Lee
quelle
4
"Sie sind immer optional und wirken sich nicht auf das Rendern des Dokuments aus." Das ist einfach nicht wahr. Viele Renderings sind weniger fehlertolerant und können zu Recht entscheiden, das ungültige HTML nicht zu rendern.
Markmnl
Was passiert, wenn der E-Mail-Client den Link "Diese E-Mail im Browser anzeigen" hat? Es liegt am Standardbrowser, den ungültigen HTML-Code zu rendern.
Sergey
12

Viele der Beiträge in diesem Thread sind ziemlich alt und daher nicht mehr korrekt.

Heutzutage sollten HTML-E-Mails eine Doctype-, HTML- und Body-Deklaration enthalten, wenn Sie überhaupt etwas Besonderes tun möchten.

Zu diesem Thema gibt es eine Vielzahl von Anleitungen, mit denen Sie lernen können, wie Sie HTML-E-Mails richtig codieren. Die meisten von ihnen ignorieren jedoch die Besonderheiten eines Doctype. So bin ich auf Ihre Frage gestoßen.

Ich schlage vor, Sie lesen die folgenden 2 Beiträge von seriösen Teams, die mit den verschiedenen Problemen vertraut sind:

Kampagnenmonitor nehmen

E-Mail auf Säure nehmen

Kamelkev
quelle
Witzig ... du sagst, die Beiträge hier sind alt und du hast einen Link in deine Antwort auf einen Blog-Beitrag eingefügt, der 7 Jahre alt ist!
Alexis Wilke
2
Ich habe es getan, aber die ausgewählten Blog-Beiträge wurden aufgrund ihres maßgeblichen Charakters sorgfältig ausgewählt und waren zu dieser Zeit eher zukunftsweisend. Die Meinungen, die sie geäußert haben, waren damals ziemlich ungewöhnlich, besonders wenn man die datierten Behauptungen gegenüberstellt, die von den anderen Antworten hier geteilt werden.
Kamelkev
@AlexisWilke und einen der Links wurde auch hier erwähnt 3 Jahre vor! Aber zumindest ist es jetzt eine Antwort, damit ich versuchen kann, sie mit einer positiven
Bewertung
11

Hängt vollständig vom E-Mail-Client ab, der ihn empfängt. Nach meiner Erfahrung ist es den meisten E-Mail-Clients, die HTML interpretieren, egal, ob Sie Ganzkörper- / Kopf- / HTML-Tags usw. haben. Tatsächlich benötigen Sie diese Tags für die meisten Browser nicht einmal. Sie benötigen die Head-Tags, um Stil / Titel usw. einzuschließen. Andernfalls sind sie per se nicht wirklich erforderlich. Ich habe nie gesehen, dass sie notwendig sind.

Explosionspillen
quelle
3
Die HTML / Head / Body-Tags sind immer optional.
Josh Lee
10

Es gibt eine Sache, von der ich weiß, dass sie wahr ist: Die Verwendung von HTML-Tags zum Öffnen und Schließen hilft bei der allgemeinen Spam-Bewertung, da viele solcher Appliance-basierten Filter und Software-Firewalls einer E-Mail, die HTML verwendet, aber keinen verwendet, einen Punkt hinzufügen die öffnenden und schließenden Tags.

Greg
quelle
11
Haben Sie Beweise für diese Behauptung?
Alex
10
Ich habe genau dieses Verhalten in den letzten Tagen beobachtet, indem ich einfach das Original in Google Mail "angezeigt" habe. Dort konnte ich eine Spam-Bewertung für eine E-Mail ohne öffnende schließende Tags sehen: zB X-Spam-Level: * | X-Spam-Bericht: Punktzahl = 1,6 Tests = HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY | X-Spam-Score: 1 - zB Siehe wiki.apache.org/spamassassin/Rules/HTML_MIME_NO_HTML_TAG
Richard Hollis
1
Ich habe dies auch gesehen, und einige Unternehmen haben einen so niedrigen Schwellenwert für die Spam-Quarantäne, dass das Fehlen der HTML-Tags ausreichen kann, um zu verhindern, dass Ihre E-Mails durchkommen. Diese Seite listet nicht die genauen verfügbaren Einstellungen auf, aber ich habe gesehen, dass die Software eine Nachricht über die Regel "HTML_MIME_NO_HTML_TAG" mit der Beschreibung "Nur HTML-Nachricht, aber kein HTML-Tag" hinterlassen hat. techlib.barracuda.com/BSF/SpamScoring
JHS
3

Ich glaube nicht, dass es einen richtigen Weg gibt, aber ich versuche, die E-Mail in so vielen E-Mail-Lesern wie möglich sichtbar zu machen.

Normalerweise überprüfe ich die E-Mails in Thunderbird, weil Outlook mehr vergibt.

In Thunderbird ist dies der HTML-Code für eine E-Mail (ich habe eine Erweiterung, die das HTML anzeigt)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
        This is the body text<br>
<div class="moz-signature"><i><br>
<br>
Regards<br>
Alex<br>
</i></div>
</body>
</html>

Übrigens verwende ich jedes Mal, wenn ich kann, Klartext-E-Mails für alle meine Webformulare. Ich hatte viele Probleme mit Blackberry-E-Mails mit HTML + Nur-Text-E-Mails.

Alex Angelico
quelle