PHP - HTML-Mails mit dem PHPMailer versenden
In diesem Beispiel werden sämtliche CSS-Angaben direkt in den Body geschrieben, es ist also nur Inline-CSS möglich. Um die Hintergrundfarbe zu ändern muss der Inhalt in eine Tabelle gesteckt werden (so wie dies vor 15 Jahren üblich gewesen war).
Der Inhalt sollte keine HTML oder CSS Experimente enthalten, denn man weiß nicht mit welchem Programm der Empfänger die E-Mail anschaut.
<?php
// HTML-Mails mit dem PHPMailer (Version: 6.2) versenden
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require "PHPMailer-master/src/Exception.php";
require "PHPMailer-master/src/PHPMailer.php";
$html = '<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Weit hinten, hinter den Wortbergen</title>
</head>
<body>
<table style="background-color: #D2FFD2; width: 100%; padding: 10px;">
<tr>
<td>
<h2 style="color: #00A600;">Weit hinten, hinter den Wortbergen</h2>
<p>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte.</p>
<p>Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans.</p>
</td>
</tr>
<tr>
<th>
<img src="cid:TBP" alt="Wortbergen">
</th>
</tr>
</table>
</body>
</html>';
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->setFrom("john@example.com", "John Doe");
$mail->addAddress("jane@example.com", "Jane Doe");
$mail->Subject = "Subject";
$mail->isHtml(true);
$mail->AddEmbeddedImage('top.jpg', 'TBP', 'top.jpg');
$mail->Body = $html;
//$mail->AltBody = "";
if ($mail->Send()) {
echo 'OK';
}
else {
echo 'Error!' . $mail->ErrorInfo;
}
?>
Bausteine Alle Anzeigen
Eine zufällige Auswahl von Codeschnipseln
aus den Bereichen
HTML, CSS,
PHP, JavaScript und
MySQL.
<doctype> Dokumententyp
CSS - Verschieben von Hintergründen
PHP - Jedes 2. Zeichen ersetzen