Eine HTML E-Mail mit PHP zu erstellen ist nicht schwierig. Dazu muss man nur wissen, wie man eine HTML-Seite erstellt und dass im Header der E-Mail der entsprechende MIMI-Type mitgegeben wird. Im folgenden wird als erstes in der Variablen $mailtext die HTML-E-Mail erstellt. Diese kann auch auf dem Bildschirm ausgegeben werden und kommt dann wie eine normale HTML-Seite.
Die ersten 2 Zeilen beim erstellen des Headers sind dafür zuständig, dass der korrekte MIMI-Type eingestellt wird und der richtige Zeichensatz. Einfach probieren. Der Rest ist identisch mit der "normalen" E-Mail im vorherigen Kapitel.
<?php $mailtext = '<html> <head> <title>HTML-E-Mail mit PHP erstellen</title> </head> <body> <h1>HTML-E-Mail mit PHP erstellen</h1> <p>Diese E-Mail wurde mit PHP und HTML erstellt</p> <table border="1"> <tr> <td>Beschreibung</td> <td>Anzahl Seiten</td> </tr> <tr> <td>PHP lernen mit PHP-Kurs.com</td> <td>über 100</td> </tr> </table> <p>Die meisten HTML-Tags wie <b>fett</b> und <i>kursiv</i> stehen zur Verfügung</p> </body> </html> '; $empfaenger = "du@testkarnickel.de"; //Mailadresse $absender = "ich@testkarnickel.de"; $betreff = "Mail-Test - HTML-E-Mail mit PHP erstellen"; $antwortan = "ICH@testkarnickel.de"; $header = "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html; charset=iso-8859-1\r\n"; $header .= "From: $absender\r\n"; $header .= "Reply-To: $antwortan\r\n"; // $header .= "Cc: $cc\r\n"; // falls an CC gesendet werden soll $header .= "X-Mailer: PHP ". phpversion(); mail( $empfaenger, $betreff, $mailtext, $header); echo "Mail wurde gesendet!"; ?>
E-Mail werden nur Online versendet - probieren Sie dies unter einer Entwicklungsumgebung wie XAMPP, wird keine E-Mail losgesendet, obwohl alles korrekt ist. Das liegt dann daran, dass unter XAMPP keine E-Mail-Server etc. eingetragen sind.
Noch eine kleine Anmerkung: HTML-E-Mails sind nicht besonders gern gesehen, wenn es auch mit Text-E-Mails gehen würde. Warum? In HTML-E-Mails kann jede Menge Quatsch transportiert werden, diese sind größer als Notwendig, es kann im Hintergrund je nach Einstellungen des E-Mail-Programmes mit ein paar Kniffen kontrolliert werden, wann der Empfänger die erhaltene E-Mail angesehen hat (und auch ob er diese öfters angesehen hat). Es sollte also einen guten Grund geben, warum Sie HTML-E-Mail anstatt normaler Text-E-Mails einsetzen (und bitte nicht mit dem Grund "es sieht schöner aus").
Video-Tutorial:
über 200 Videos,
Gesamtspielzeit über 23 Stunden
Jetzt
Video-Kurs PHP-Tutorial auf DVD bestellen