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

Другие вопросы по тегам