UnluckySerivelha
@UnluckySerivelha

Таймаут при отправке сообщения через SMTP с помощью PHPMailer?

Есть код:
$mail = new PHPMailer;
    $mail->CharSet = 'UTF-8';

// Настройки SMTP
    $mail->isSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPDebug = 3;

    $mail->Host = 'smtp.yandex.com';
    $mail->Port = 465;
    $mail->Username = '***@yandex.ru';
    $mail->Password = '***';



// От кого
    $mail->setFrom('***i@yandex.ru', 'Snipp.ru');

// Кому
    $mail->addAddress('pavel.dymok@gmail.com', 'Иван Петров');

// Тема письма
    $mail->Subject = "Тема";

// Тело письма
    $body = '<p><strong>«Hello, world!» </strong></p>';
    $mail->msgHTML($body);

    //send the message, check for errors
    if (!$mail->send()) {
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message sent!';
    }

AJAX-ом обращаюсь, в итоге после 3 минут ожидания просто заканчивается время выполнения скрипта, в консоли:
<br>2019-08-07 07:44:09 Connection: opening to smtp.yandex.com:465, timeout=300, options=array()<br>
2019-08-07 07:44:09 Connection: opened<br>
<br />
<b>Fatal error</b>:  Maximum execution time of 180 seconds exceeded in <b>D:\OSPanel\domains\blockchain.mcdir.local\vendor\phpmailer\phpmailer\src\SMTP.php</b> on line <b>1125</b><br />

Пробовал со своего компа, с хостинга, с SMTP-сервером mail.ru, пинг до SMTP-сервера идет. В чем еще может быть проблема? Уже всю голову сломал.
  • Вопрос задан
  • 1282 просмотра
Решения вопроса 1
gscraft
@gscraft
Программист, философ
Попробуйте настройку безопасного соединения:
$mail->SMTPSecure = 'tls';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы