можете использовать функцию
wp_mail (ну или загляните в нее по той же ссылке она
описана...
global $phpmailer;
// (Re)create it, if it's gone missing. - (Повторно) создайте его, если он пропал
if ( ! ( $phpmailer instanceof PHPMailer\PHPMailer\PHPMailer ) ) {
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php';
require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
$phpmailer = new PHPMailer\PHPMailer\PHPMailer( true );
$phpmailer::$validator = static function ( $email ) {
return (bool) is_email( $email );
};
}
...
и использует PHPMailer)
в остальном не сильно подскажу т.к. никогда не использовал PHPMailer напрямую ибо, если форма не простейшая, вместо wp_mail использую чистый php - функция mail() через sendmail, либо ssmtp на линукс. Но вот так письмо ушло без
ошибок
global $phpmailer; //не помогло
//слизал подключение из wp_mail и отправилось
// (Re)create it, if it's gone missing.
if ( ! ( $phpmailer instanceof PHPMailer\PHPMailer\PHPMailer ) ) {
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php';
require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
$phpmailer = new PHPMailer\PHPMailer\PHPMailer( true );
$phpmailer::$validator = static function ( $email ) {
return (bool) is_email( $email );
};
}
// Создаем письмо
$mail = $phpmailer;
$mail->isSMTP(); // Отправка через SMTP
$mail->Host = 'smtp.yandex.ru'; // Адрес SMTP сервера
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'login'; // ваше имя пользователя
$mail->Password = 'password'; // ваш пароль
$mail->SMTPSecure = 'ssl'; // шифрование ssl
$mail->Port = 465; // порт подключения
$mail->setFrom('login@ya.ru', 'Иван Иванов'); // от кого
$mail->addAddress('test@ya.ru', 'Вася Петров'); // кому
$mail->Subject = 'Тест';
$mail->msgHTML("<html><body>
<h1>Здравствуйте!</h1>
<p>Это тестовое письмо.</p>
</html></body>");
// Отправляем
if ($mail->send()) {
echo 'Письмо отправлено!';
} else {
echo 'Ошибка: ' . $mail->ErrorInfo;
}