Dafür jage den Text einmal durch htmlspecialchars() hindurch.
Ich hätte das Linux-Programm html2text im Angebot:
<?php
$html = '<!doctype html>
<html>
<head>
<title>Hallo Welt!</title>
<meta charset="UTF-8">
<meta sonstwas=\'sonstwas\'>
</head>
<body>
<h1>Hallo Jörg!</h1>
<p>Ärgerst Du Dich wegen € 2,00?</p>
<ul>
<li>Ja oder
<li>Nein
</ul>
</body>
';
exec( 'echo ' . escapeshellarg( $html ) . ' | html2text -ascii ', $lines );
$text = implode( "\r\n", $lines );
### So sendet man das mit dem PHPMailer:
#$mail->Body( $text );
#
echo "Text:\n";
echo $text . PHP_EOL;
Resultat:
****** Hallo Jörg! ******
Ärgerst Du Dich wegen € 2,00?
* Ja oder
* Nein
Fazit: „O.K. Die Krücke funktioniert also halbwegs…“
Bessere Variante:
Es gibt zwar auch eine Libary für PHP … aber wenn man HTML erzeugt kann man auch gleich einen sinnvollen Text-Output erzeugen. Das muss man oft genug sowieso machen (→ Tabellen, Links, ...)
P.S. Rolfs Beitrag kam wohl einen Tag zu spät, meiner (bis auf den ernst gemeinten Teil ab dem im vorletzten Satz über dem „P.S.“) halt zwei Tage.