Как добавить переносы строк в $email['body'] при использовании хука auto_core_update_email
Я использую хук auto_core_update_email для изменения автоматического письма об обновлении в WordPress. Однако я не могу понять, как добавить переносы строк в тело письма. Вот мой код:
function example_filter_auto_update_email($email) {
$email['to'] = array('example@example.com', 'test@example.com');
$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);
Я также пробовал использовать:
<br />
, \r\n
, а также %0D%0A
, как показано выше. Однако в каждом случае строка просто выводится в моем почтовом клиенте в таком виде:
Hello%0D%0ALorem Ipsum%0D%0AMany thanks%0D%0AWordPress
Как я могу получить переносы строк в письмах автообновления? Если это важно, письма отправляются через SMTP.
Большое спасибо!

Не используйте одинарные кавычки с escape-последовательностями, такими как \r
, \n
и т.д. Используйте двойные кавычки:
$a = 'Hello, ' . "\n";
$b = "Good Bye, \n";
Смотрите Строки в двойных кавычках в PHP.

имейте в виду, что PHP_EOL
!== "\n"
в зависимости от платформы, с которой отправляется письмо и на которой оно читается. Скорее всего, это не имеет значения в современном почтовом ПО, но стоит держать в уме.
