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);
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!