Supermailer verändert HTML-Code
Der HTML-Editor ist eine Funktion des Internet Explorers, da man diese ganz im Gegensatz zu Firefox&Co auch in eigene Anwendungen einbauen kann. Der Internet Explorer hat an der Stelle mit dem align und valign einen Fehler aber das sind nicht die einzigen Fehler, viele andere werden schon intern vom SuperMailer korrigiert. Genauso werden die Anführungszeichen vom Internet Explorer weggelassen, falls dieser der Meinung ist, dass diese unnötig sind. Der Code selbst wird auch überall korrekt dargestellt, entsprechend kann man die Anführungszeichen weglassen. Im Outlook vor 2007 ohne Word als Editor wird genauso der Internet Explorer vom Outlook verwendet, der HTML-Code ist damit fast identisch.
Vielen Dank für diese Hinweise. Da war ich wohl ein wenig blind.
Allerdings dürfen die Anführungszeichen eigentlich nur dann weggelassen werden, wenn die Attributwerte ausschließlich alphanumerische Zeichen enthalten (zumindest sagt das der Validator von SelfHTML (http://validator.de.selfhtml.org/validate)).
Supermailer entfernt die die Anführungzeichen aber auch, wenn die Attributwerte Zeichen enthalten, die nicht alphanumerisch sind (z.B. \"#\" und \"/\").
Nur aus Interesse: Gibt es irgendeinen Grund, warum der Editor das Align-Attribut umtauscht? Und was hat das mit dem Internet-Explorer zu tun?
Allerdings dürfen die Anführungszeichen eigentlich nur dann weggelassen werden, wenn die Attributwerte ausschließlich alphanumerische Zeichen enthalten (zumindest sagt das der Validator von SelfHTML (http://validator.de.selfhtml.org/validate)).
Supermailer entfernt die die Anführungzeichen aber auch, wenn die Attributwerte Zeichen enthalten, die nicht alphanumerisch sind (z.B. \"#\" und \"/\").
Nur aus Interesse: Gibt es irgendeinen Grund, warum der Editor das Align-Attribut umtauscht? Und was hat das mit dem Internet-Explorer zu tun?
ALIGN=MIDDLE ist ein bekannter Fehler, siehe dazu thread.php?id=7165
Die Anführungszeichen müssen nicht gesetzt werden, wenn die Werte keine Leerzeichen enthalten. Z.B. ein Dateiname mt Leerzeichen muss in Anführungszeichen stehen, alles andere kann. Wenn man die Anführungszeichen unbedingt will, dann kann man unter Menü Extras - Optionen, Registerkarte Erweitert unten bei den Optionen zur HTML-Code-Erzeugung die Kleinschreibung und Anführungszeichen aktivieren. Aber aufpassen, damit wird die E-Mail viel größer, hängt natürlich von der Menge HTML-Code ab.
Die Anführungszeichen müssen nicht gesetzt werden, wenn die Werte keine Leerzeichen enthalten. Z.B. ein Dateiname mt Leerzeichen muss in Anführungszeichen stehen, alles andere kann. Wenn man die Anführungszeichen unbedingt will, dann kann man unter Menü Extras - Optionen, Registerkarte Erweitert unten bei den Optionen zur HTML-Code-Erzeugung die Kleinschreibung und Anführungszeichen aktivieren. Aber aufpassen, damit wird die E-Mail viel größer, hängt natürlich von der Menge HTML-Code ab.
Wenn im Supermailer der HTML-Code gespeichert wird, nimmt Supermailer folgende Ersetzungen vor:
- Angaben wie <body> werden durch <body> ersetzt, also Anführungszeichen entfernt.
- Angaben wie <TD> werden durch <TD> ersetzt.
Wenn ich dann die Serienmailvorschau oder die versendet Serienmail im Firefox über den HTML-Validator erhalte ich eine Reihe von Fehlermeldungen, die genau diese Ersetzungen anmosern:
- An attribute value must be a literal unless it contains only name characters
- value of attribute \"ALIGN\" cannot be \"MIDDLE\"; must be one of \"LEFT\", \"CENTER\", \"RIGHT\", \"JUSTIFY\", \"CHAR\"
Irgendwann habe ich auch mal gelernt, dass HTML Anführungszeichen haben will und dass die in Tabellen mit Center zentriert wird.
Also: Warum ersetzt Supermailer dies Konstrukte? (Er macht das übrigens auch, wenn die Option „HTML-Code-Optimierung vor dem E-Mail-Versand durchführen“ ausgeschaltet ist.
Oder liegt es an der DTD? Ich verwende
<DOCTYPE>
- Angaben wie <body> werden durch <body> ersetzt, also Anführungszeichen entfernt.
- Angaben wie <TD> werden durch <TD> ersetzt.
Wenn ich dann die Serienmailvorschau oder die versendet Serienmail im Firefox über den HTML-Validator erhalte ich eine Reihe von Fehlermeldungen, die genau diese Ersetzungen anmosern:
- An attribute value must be a literal unless it contains only name characters
- value of attribute \"ALIGN\" cannot be \"MIDDLE\"; must be one of \"LEFT\", \"CENTER\", \"RIGHT\", \"JUSTIFY\", \"CHAR\"
Irgendwann habe ich auch mal gelernt, dass HTML Anführungszeichen haben will und dass die in Tabellen mit Center zentriert wird.
Also: Warum ersetzt Supermailer dies Konstrukte? (Er macht das übrigens auch, wenn die Option „HTML-Code-Optimierung vor dem E-Mail-Versand durchführen“ ausgeschaltet ist.
Oder liegt es an der DTD? Ich verwende
<DOCTYPE>