Woocommerce邮件功能返回NULL甚至邮件发送

时间:2015-03-16 08:49:59

标签: php wordpress email woocommerce

我正在尝试使用

在wordpress中发送邮件
$subject = 'WC Send Mail Test';

// load the mailer
$mailer = WC()->mailer();
$send = $mailer->send( get_option( 'admin_email' ), $subject, $mailer->wrap_message( $subject, 'a test message' ), '', '' );
if($send){
 echo "Sent";
}else{
 echo "Not sent";
}

此功能正常但我无法跟踪是否发送邮件。 $ send始终为NULL

以上代码取自http://develop.woothemes.com/woocommerce/2014/10/2-3-emails/

2 个答案:

答案 0 :(得分:1)

最后我得到了解决方案。我试图挖掘出woocommerce代码并发现woocommerce使用此文件发送电子邮件

<强> woocommerce /包括/类-WC-emails.php

围绕行号。 214我找到了发送方法。

我已经更改了代码

$email->send( $to, $subject, $message, $headers, $attachments );

$return = $email->send( $to, $subject, $message, $headers, $attachments );
return $return;

                           **OR**

由于更改wordpress核心功能是一个坏习惯,所以我得到了一种覆盖wordpress核心功能的正确方法。

我刚在子主题中创建了一个目录结构,如

<强> woocommerce /包括

在这里,你必须创建一个名为 class-wc-emails.php 的文件,并在此粘贴你编辑过的文件代码。

请不要选择部分,这对我不起作用。

答案 1 :(得分:0)

你应该var_dump $ send,看看有什么回复。另外,为什么不尝试使用wordpress本机邮件功能?

$multiple_recipients = array(
    'recipient1@example.com',
    'recipient2@foo.example.com'
);
$subj = 'The email subject';
$body = 'This is the body of the email';
if(wp_mail( $multiple_recipients, $subj, $body )){
 // Mail Sent Successfully
}else{
 // Mail not sent
}