it-swarm.com.de

Hinzufügen von Zeilenumbrüchen zu $ ​​email ['body'] bei Verwendung des Hooks auto_core_update_email

Ich verwende den Hook auto_core_update_email, um die von WordPress gesendete E-Mail zur automatischen Aktualisierung zu ändern. Ich kann jedoch nicht herausfinden, wie dem E-Mail-Text Zeilenumbrüche hinzugefügt werden. Hier ist mein Code:

function example_filter_auto_update_email($email) {
    $email['to'] = array('[email protected]', '[email protected]');
    $email['subject'] = 'Auto Update';
    $email['body'] = 'Hello,%0D%0A'
      . 'Lorem ipsum.%0D%0A'
      . 'Many thanks,%0D%0A'
      . 'WordPress';

    return $email;
}

add_filter('auto_core_update_email', 'example_filter_auto_update_email', 1);

Ich habe auch versucht, mit: <br />, \r\n sowie %0D%0A, oben gesehen. In jedem Fall wird die Zeichenfolge in meinem E-Mail-Client jedoch so gedruckt:

Hallo% 0D% 0ALorem Ipsum% 0D% 0AMany danke% 0D% 0AWordPress

Wie kann ich Zeilenumbrüche in meinen automatischen Aktualisierungs-E-Mails drucken lassen? Wenn es hilft, werden die E-Mails per SMTP versendet.

Danke vielmals!

1
AlastairHoward

Verwenden Sie keine einfachen Anführungszeichen mit Escape-Sequenzen wie \r, \n usw. Verwenden Sie doppelte Anführungszeichen:

$a = 'Hello, ' . "\n";
$b = "Good Bye, \n";

Siehe Strings in doppelten Anführungszeichen in PHP .

2
Max Yudin

Abgesehen von "\n" können Sie auch die Zeilenende-Konstante von PHP verwenden: PHP_EOL

    $email['body'] = 'Hello,%0D%0A' . PHP_EOL
  . 'Lorem ipsum.%0D%0A' . PHP_EOL
  . 'Many thanks,%0D%0A' . PHP_EOL
  . 'WordPress';
1
majick