为什么wp_mail()函数返回'false'?

时间:2015-02-28 11:50:12

标签: php ajax wordpress

我有一个联系表单,它来自ajax参数并使用它们发送电子邮件。 该函数位于我的子主题的functions.php中,为二十五:

// Contact form  Ajax 

add_action('wp_ajax_nopriv_submit_contact_form', 'submit_contact_form'); 

function submit_contact_form(){

    if(isset($_POST['email'])) {

        $email = $_POST['email'];       
        $email_to = "wawd@company.pro";

        $email_subject = "You have a new email from $email via yyy.com website";
        $message = $_POST['text']; 

        if( wp_mail( $email_to, $email_subject, $message ) ) {
            // the message was sent...
            echo 'The test message was sent. Check your email inbox.';
        } else {
            // the message was not sent...
            echo 'The message was not sent!';
        };



//      wp_mail( $email_to, $email_subject, $message );
        header("Content-Type: application/json", true);
        echo json_encode( array("AJAX" => "Success") );
        die();

    }
}





error_reporting(E_ALL);
ini_set("display_errors", 1);

我收到the message was not sent! AJAX: "Success"的回复。

为什么我的功能不起作用? 我必须在我的php文件中包含一些内容吗? 我var_dumped我从ajax获得的参数,在状态代码为Status Code:200 OK的响应中都显示正常。

1 个答案:

答案 0 :(得分:0)

我安装了一个名为" PostFix"它负责从Ubuntu服务器(我使用的服务器Linux)发送电子邮件,它解决了这个问题!