Multipart E-Mails mit PHP versenden
So können Sie Multipart Mails, also Mails mit HTML und reinem Text mit Hilfe von PHP verschicken.
Bei Multipart E-Mails werden zwei Teile (Parts) in der E-Mail versendet. Ein Teil enthält eine beliebig formatierte HTML-Nachricht, der andere besteht aus Plaintext. Der Mail-Client des Kunden kann sich dann aussuchen, welchen Teil er anzeigt. Damit kann man sicherstellen, dass Mails auch dann ordentlich gelesen werden können, wenn der Mail-Client kein HTML unterstützt oder es vom Nutzer deaktiviert wurde.
Ich nutze für meine Projekte üblicherweise die PHPMailer-Klasse die frei auf GitHub verfügbar ist – WordPress liefert diese Klasse direkt mit.
<?php require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "smtp.tricd.de"; $mail->From = "tobias@tricd.de"; $mail->AddAddress("test@web.de"); $mail->Subject = "Ihr Betreff"; // HTML Part $mail->Body = "Hallo <b>Test</b><br/>Das ist der HTML Text."; // Plain Text Part $mail->AltBody = "Hallo,\n\nDas ist der Plain-Text-Teil"; $mail->IsHTML(true); $mail->Send(); ?>
Wie man recht gut erkennen kann, muss mal lediglich das Attribut Body
mit dem HTML-Text füllen und das AltBody
Attribut mit dem Plain-Text. Alles was dann noch zu tun ist, ist die Nachricht als Multipart kennzeichnen. Das passiert mit der Funktion IsHTML(true)
. Und das war es schon. Eigentlich spielend einfach und die Zeit sollte man sich nehmen. Insbesondere bei Transaktionsmail sollte man sicherstellen, dass Sie wirklich ordentlich auf jedem Device gelesen werden können.
Mitdiskutieren