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").