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.

<thead> Tabellenkopf

CSS - Mit import mehrere CSS-Dateien zusammenfassen

PHP - Monatlich wechselnder Text

JavaScript - outerHTML - Quelltext anzeigen

MySQL - MySQL-Anweisung mit PHP ausgeben