Warning: trim() expects parameter 1 to be string,

2019-08-05 07:39发布

问题:

I am trying to send an email from my wordpress website using the function wp_mail and I am getting this error:

Warning: trim() expects parameter 1 to be string, array given in /var/www/html/wp-includes/class-phpmailer.php on line 973 0

I don't really understand why I am getting it.

This is my current code:

// 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 = "info@yyy.com";

        $host = "ssl://smtp.gmail.com:465";
        $username = 'myEmail@gmail.uk';
        $password = 'mypassword';

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

        $headers = array ('From' => $email, 'To' => $email_to,'Subject' => $email_subject);
        /*$smtp = Mail::factory('smtp',
          array ('host' => $host,
            'auth' => true,
            'username' => $username,
            'password' => $password));*/

        //$mail = $smtp->send($email_to, $headers, $message);

        wp_mail( $email_to, $headers, $message );

        /*if (PEAR::isError($mail)) {
          echo($mail->getMessage());
        } else {
          echo("Message successfully sent!\n");
        }*/
    }
}



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

回答1:

I installed a package called "PostFix" which is responsible for sending emails from an Ubuntu server (which is the servers linux I use), and it solved the problem!



标签: php wordpress