HTML in Mails
Michael H
- html
Hi,
Bevor es einen Sturm der entrüstung gibt: Alles was ich wissen will verwende ich für HTML-Emails innerhalb eines abgeschotteten Intranet-Netzes.
Zur Frage: Ich erzeuge per PHP HTML-Mails als Reporting (die wollten das als HTML, kann man auch nix machen). Die Frage ist: Welche HTML-Codes funktionieren in Mails?
Ich habe z.B. Probleme mit internen Sprung-Links (das Zeugs mit <a name="...">). Zudem habe ich Probleme mit Grafiken. Muss man die verwendeten Grafiken denn als Attatchment anhängen?
Vielleicht gibt es ja irgendwo eine gute Seite, die sich mit HTML für Mails beschäftigt?
Merci,
Michael H.
Hi,
Die Frage ist: Welche HTML-Codes funktionieren in Mails?
Ich denke mal fast alle, die wichtigsten natürlich schon. Ich denk, das hängt vom Empfänger ab.
Ich habe z.B. Probleme mit internen Sprung-Links (das Zeugs mit <a name="...">).
Textmarken? Die gehen bei mir mit MS Outlook. Bei was anderm hab ichs nicht ausprobiert.
Zudem habe ich Probleme mit Grafiken. Muss man die verwendeten Grafiken denn als Attatchment anhängen?
Ich würde die Bilder im Net speichern und dann immer beim öffnen der Mail laden. Allerdings ist es dumm, wenn der Empfnger seine Mails offline nochmal durchschaut.
Wenn wir schon gerade dabei sind, wie hängt man Bilder an Mails an?
1. die die im Text angezeigt werden können
2. allgemein Anhänge
Vielleicht gibt es ja irgendwo eine gute Seite, die sich mit HTML für Mails beschäftigt?
Sicher irgendwo. Ich weiß grad nichts.
Halihallo Andy
Wenn wir schon gerade dabei sind, wie hängt man Bilder an Mails an?
- die die im Text angezeigt werden können
- allgemein Anhänge
http://pear.php.net/package/Mail_Mime
http://ch2.php.net/manual/en/function.mail.php (und die
dort verlinkten RFC's lesen).
Vielleicht noch eine Kurzzusammenfassung:
Normale Anhänge versenden:
Top-Entity (der ganze "Mailsource" selber) ist definiert als
MIME-Typ "multipart/mixed", welchem
a) ein Entity-Typ "text/plain" => der Mailtext und
b) ein oder mehrere andere Entit(y|ies) für das/die angehängte
Dokument(e)
angehängt werden.
HTML-Email mit plain/text-Fallback:
Top-Entity ist definiert als MIME-Typ "multipart/alternative",
welchem
a) ein Entity des Typs "text/plain" und
b) ein Entity des Typs "text/html"
angehängt werden.
HTML-Email mit eingefügten Bildern oder anderen Ressourcen:
Top-Entity ist definiert als MIME-Typ "multipart/relative", welchem
a) ein Entity des Typs "text/html" und
b) einem oder mehreren Entities der Ressourcen
angehängt werden.
Jedem "inline"-Ressourcen Entity (Bild/Sound/...), welches in den
HTML-Quelltext eingebettet werden soll, muss eine 'Content-Id' im
Header zugewiesen werden, welche im HTML-Source über z.B.
<img src="cid:<ressource15>">
referenziert wird.
HTML-Mail mit optionalem Text-Fallback mit "inline-Ressourcen":
Gleich, aber ein multipart/alternative "vorgeschalten", welchem noch
ein ganz normaler "text/plain" Part (die Alternative für z.B.
Textbasierte Mailclients) angefügt ist.
HTML-Mail mit opt. Text-fallback mit inline-Ressourcen und normalen
Attachments:
- Huch, das habe ich nie für Outlook zum Laufen gebracht, denn
Outlook zumindest (andere hab ich gar nicht mehr getestet)
scheint damit mächtig Probleme zu haben.
Viele Grüsse
Philipp
Halihallo Andy
Vielleicht noch ein kleines Design-Update: ;)
Normale Anhänge versenden:
Top-Entity (der ganze "Mailsource" selber) ist definiert als
MIME-Typ "multipart/mixed", welchem
a) ein Entity-Typ "text/plain" => der Mailtext und
b) ein oder mehrere andere Entit(y|ies) für das/die angehängte
Dokument(e)
angehängt werden.
multipart/mixed
|
+-- text/plain oder text/html
|
+-- mehrere Entities angehängter Dokumente
HTML-Email mit plain/text-Fallback:
Top-Entity ist definiert als MIME-Typ "multipart/alternative",
welchem
a) ein Entity des Typs "text/plain" und
b) ein Entity des Typs "text/html"
angehängt werden.
multipart/alternative
|
+-- text/plain
|
+-- text/html
der Mail-Client wählt dann dasjenige Entity aus, dessen MIME-Typ er
verarbeiten und darstellen kann.
HTML-Email mit eingefügten Bildern oder anderen Ressourcen:
Top-Entity ist definiert als MIME-Typ "multipart/related", welchem
a) ein Entity des Typs "text/html" und
b) einem oder mehreren Entities der Ressourcen
angehängt werden.
Jedem "inline"-Ressourcen Entity (Bild/Sound/...), welches in den
HTML-Quelltext eingebettet werden soll, muss eine 'Content-Id' im
Header zugewiesen werden, welche im HTML-Source über z.B.
<img src="cid:<ressource15>">
referenziert wird.
multipart/related
|
+-- text/html
| |
| +-- Quelltext: z.B. <img src="cid:<ressource16>">
|
+-- z.B. image/gif
| |
| +-- "Content-Id: <ressource15>" im Entity-Header
|
+-- z.B. image/jpeg
|
+-- "Content-Id: <ressource16>" im Entity-Header
HTML-Mail mit optionalem Text-Fallback mit "inline-Ressourcen":
Gleich, aber ein multipart/alternative "vorgeschalten", welchem noch
ein ganz normaler "text/plain" Part (die Alternative für z.B.
Textbasierte Mailclients) angefügt ist.
multipart/alternative
|
+-- text/plain
|
+-- multipart/related
|
+-- text/html
|
+-- image/gif
|
+-- ...
HTML-Mail mit opt. Text-fallback mit inline-Ressourcen und normalen
Attachments:- Huch, das habe ich nie für Outlook zum Laufen gebracht, denn
Outlook zumindest (andere hab ich gar nicht mehr getestet)
scheint damit mächtig Probleme zu haben.
Wie gesagt: Hier habe ich bereits mehreres versucht und bin bisher
immer gescheitert. HTML mit Text-Fallback + Inline-Ressourcen und
normalen Attachments sind anscheinend etwas "tricky".
Viele Grüsse
Philipp
Hi Philipp,
Ich kann nur sagen: WOW und vielen vielen Dank. Ich deiner Beschreibung habe ich so ziemlich Alles gefunden was ich gebraucht habe, v.a. der Tip mit der CID bei Bildern war Gold wert. Die MIME-Types lass ich eine nette Mail-Klasse (nicht PEAR) für mich setzen, da passt auch Alles (auch der alternative Plaintext-Inhalt).
Vielen Dank. Daran sieht man wieder, dass diese Forum genau das Richtige ist, wenn man Hilfe braucht.
Thx,
Michael
Halihallo Michael
Ich kann nur sagen: WOW und vielen vielen Dank. Ich deiner Beschreibung habe ich so ziemlich Alles gefunden was ich gebraucht habe, v.a. der Tip mit der CID bei Bildern war Gold wert.
Freut mich, dass ich helfen konnte.
Vielen Dank. Daran sieht man wieder, dass diese Forum genau das Richtige ist, wenn man Hilfe braucht.
Dazu ist es da :-)
Viele Grüsse
Philipp