it-swarm.com.de

wp_mail Zeilenumbruch funktioniert nicht

Ich habe eine Schnittstelle zum Versenden von E-Mails über SMTP (ich verwende das Plug-in Postman SMTP).

Ich sammle Nachrichten in der Datenbank, die ich abhängig von den Ergebnissen einer SQL-Anforderung an eine andere Person gesendet habe.

In der DB habe ich die Nachrichten mit dem Zeichen 
 für Zeilenumbrüche gespeichert.

Hier ist der Code (ich ersetze E-Mail-Adressen durch xxx, aber ich verwende natürlich die E-Mail-Adresse meines Kunden im realen Teil):

$subject = $res->subject;
$message = utf8_encode( $msg );

$to = $res->url ;
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: XXX <[email protected]>' . "\r\n" .
  'Reply-To: [email protected]' . "\r\n";         

$sent = wp_mail($to, $subject , $message , $headers);

Alles funktioniert (ich erhalte die richtige E-Mail mit der richtigen Codierung), aber alles wird in einer einzelnen Zeile gesendet (wenn jedes Mal, wenn ein &#13; in der Datenbanknachricht vorhanden ist, ein Zeilenumbruch auftreten sollte). Seltsamerweise gibt es keine In der E-Mail werden sie nur aus der Nachricht gelöscht.

Ich habe auch versucht, die folgenden Zeilen hinzuzufügen (bei separaten Tests natürlich):

$message = str_replace('&#13;', "\r\n", $message);
$message = str_replace('&#13;', '<br />', $message);

Aber ich bekomme die gleichen Ergebnisse.

Könnten Sie mir bitte helfen, das zu klären?

2

Ändern Sie die Zeile, die $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; zu $headers .= 'Content-Type: text/html; charset=ISO-8859-1"; liest, und verwenden Sie dann <br /> für die Zeilenumbrüche.

1
n8bar