Doppelte Umbrüche haben wir der evalform.php zu verdanken.
Ich vermute mal das $htmlmessage schon Zeilenumbrüche enthält.
Auch die Regex sind nicht unbedingt durchdacht.
Ab Zeile 92
$fromaddress = preg_replace('/[\r\n]/', '', $fromaddress);
$subject = preg_replace('/[\r\n]/', '', $subject);
$htmlmessage = preg_replace('/[\r\n]/', "<br />\n", $message);
$plaintext = preg_replace(",<br />,", "\r\n", $message);
$plaintext = preg_replace(",</h.>,", "\r\n", $plaintext);
$plaintext = htmlspecialchars_decode(preg_replace(",</?\w+>,", " ", $plaintext), ENT_NOQUOTES);
gegen Das hier austauschen:
$fromaddress = preg_replace('/[\r\n]/', '', $fromaddress);
$subject = preg_replace('/[\r\n]/', '', $subject);
$htmlmessage = preg_replace('/[\r\n]/', "", $message);
$plaintext = preg_replace(",<br />,", "\n", $message);
$plaintext = preg_replace(",</h.>,", "\n", $plaintext);
$plaintext = htmlspecialchars_decode(preg_replace(",</?\w+>,", " ", $plaintext), ENT_NOQUOTES);
Wäre lieb wenn du das Ergebniss in verschiedenen Emailprogrammen Testen könntest. Der Code von MPForm ist ziemlich sch...lecht kann also sein das irgendwo anders das dann jetzt zu wenig Zeilenumbrüche hat.