WP_mail无法识别抄送和密件抄送标头

时间:2011-06-28 作者:I-M-JM

我正在使用WordPress 3.1.3

当我使用带有抄送和密件抄送标题的wp\\U邮件时,我收到以下通知。

Notice: Undefined variable: cc in /var/www/mysite.info/htdocs/wordpress/wp-includes/pluggable.php on line 349 
Notice: Undefined variable: bcc in /var/www/mysite.info/htdocs/wordpress/wp-includes/pluggable.php on line 352 
这就是我设置电子邮件标题的方式

$email_headers  = "From: ".$from_field_value.PHP_EOL;
$email_headers .= "Reply-To: ".$from_field_value.PHP_EOL;
$email_headers .= "CC: [email protected]".PHP_EOL;
$email_headers .= "BCC: [email protected]".PHP_EOL;

if (wp_mail($email_to, $email_subject, $email_body, $email_headers)) {
      // Other process
}

1 个回复
SO网友:Scott

如果您查看正在发布的通知行:

$cc = array_merge( (array) $cc, explode( \',\', $content ) );
以及

$bcc = array_merge( (array) $bcc, explode( \',\', $content ) );
它试图做的是将一个尚未设置的空白数组与由标题创建的数组合并。

可以忽略该通知。毕竟这只是一个通知。

由于此函数是可插入的,您可以复制该函数并将其放入插件文件中,然后更正代码。这样您就不会编辑核心文件。请参见可插拔功能:

http://codex.wordpress.org/Pluggable_Functions

我将修改代码如下:

case \'cc\':
    if (!isset($cc))
        $cc = array();
    $cc = array_merge( $cc, explode( \',\', $content ) );
break;
case \'bcc\':
    if (!isset($bcc))
        $bcc = array();
    $bcc = array_merge( $bcc, explode( \',\', $content ) );
break;
也许这应该报告给wordpress核心开发团队?

更新时间:

上述内容将固定在WP3中。2.http://core.trac.wordpress.org/changeset/18006

结束

相关推荐

New post email alert

我想显示一个复选框,其中包含通过电子邮件订阅网站的选项我看到一个wordpress博客,上面的复选框旁边有以下标签通过电子邮件订阅此网站问题是我找不到显示它的插件:我尝试了Subscribe2、Post Notification和Gurken进行评论订阅。你知道我需要安装什么插件吗?