PHP mailer выдает ошибку в php 7 при попытке отправить почту
Я пытаюсь отправить почту с помощью PHP Mailer, но получаю сообщение об ошибке. Пожалуйста, проверьте мой код, дайте мне знать исправление.
Вот мой код:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
$mail = new PHPMailer;
try {
//Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'xxxxxxxxxxxx ';
$mail->Password = 'xxxxxxxxx';
//$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
//Recipients
$mail->setFrom('xxxxxxx', 'shiva');
$mail->addAddress('siva.sing.sivan@gmail.com', 'SP'); // Add a recipient
$mail->addAddress('senthil.mca2008@gmail.com', 'SK'); // Add a recipient
//\\$mail->addAddress('ellen@example.com'); // Name is optional
$mail->addReplyTo('opensourcesivaprakash@gmail.com', 'Information');
//Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Test mail form SP';
$mail->Body = 'This is the HTML message <b>From SP!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}else{
echo 'Message has been sent';
}
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
?>
Моя ошибка: сообщение не может быть отправлено. Ошибка продавца: сбой подключения SMTP (). https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Пожалуйста, исправьте мой код, чтобы исправить проблему.
1 ответ
Решение
Эй @shiva использовать это $mail->SMTPSecure = 'tls'
и использовать порт как $mail->Port = 587
вот и все!
Скажите, что это сработало для вас, если нет, то обязательно включите "Менее безопасные приложения" в настройках своего аккаунта, спасибо!
Дайте мне знать, это сработало для вас или нет?
Обновите версию php до 7.2.x и попробуйте встроенный openssl 1.1.1