如何在使用AUTO_CORE_UPDATE_EMAIL挂接时向$EMAIL[‘Body’]添加换行符

时间:2018-02-23 作者:AlastairHoward

我正在使用auto\\u core\\u update\\u电子邮件挂钩修改WordPress发送的自动更新电子邮件。但是,我不知道如何在电子邮件正文中添加换行符。这是我的代码:

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);
我还尝试使用:<br />, \\r\\n, 以及%0D%0A, 见上图。但是,在每种情况下,字符串都会打印在我的电子邮件客户端中,如下所示:

您好%0D%0ALorem Ipsum%0D%0AMany谢谢%0D%0AWordPress

如何在自动更新电子邮件中打印换行符?如果有帮助,电子邮件将通过SMTP发送。

非常感谢!

2 个回复
最合适的回答,由SO网友:Max Yudin 整理而成

不要对转义序列使用单引号,如\\r, \\n 等等使用双引号:

$a = \'Hello, \' . "\\n";
$b = "Good Bye, \\n";
请参见Double quoted strings in PHP.

SO网友:majick

除了使用"\\n", 您还可以使用PHP的行尾常量:PHP_EOL

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

结束

相关推荐

Sending email to all users

向大量用户发送电子邮件的最佳做法是什么?我正在为一个协会的网站开发一个插件,需要做的事情之一是能够向协会的所有成员(或特定子集)发送电子邮件。这将是一件相当罕见的事情,但一旦发生,预计将发送500至1000封电子邮件。现在,我可以想出几个选择:分别发送每封电子邮件,每封50/100块发送一封电子邮件,为每个人发送一封电子邮件。选项1很好,因为我可以对电子邮件进行个性化设置(亲爱的姓名……),然而,对于这些情况,我们可以使用普通电子邮件。每个选项的缺点是什么</你能给我一些其他的策略建议吗?我只是想用