За последние 24 часа нас посетили 20662 программиста и 1008 роботов. Сейчас ищут 462 программиста ...

PHPMailer работает с mail.ru, но не работает с gmail.com

Тема в разделе "Работа с почтой", создана пользователем LIGHTIX, 13 дек 2018.

  1. LIGHTIX

    LIGHTIX Новичок

    С нами с:
    15 май 2018
    Сообщения:
    10
    Симпатии:
    0
    Привет всем! Настраивал PHPMailer, но не получилось настроить его под gmail аккаунт, хотя c почты @mail.ru отправляет на отлично..
    Ошибка - SMTP Error: Could not authenticate. ==> SMTP connect() failed

    Вот мой код:
    <?php

    //Namespace
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    //Require
    require 'PHPMailer/Exception.php';
    require 'PHPMailer/PHPMailer.php';
    require 'PHPMailer/SMTP.php';

    //Mail
    <?php

    //Namespace
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    //Require
    require 'PHPMailer/Exception.php';
    require 'PHPMailer/PHPMailer.php';
    require 'PHPMailer/SMTP.php';

    //Mail
    $mail = new PHPMailer();
    $mail->CharSet = 'UTF-8';
    $mail->isSMTP();
    $mail->SMTPDebug = 4;
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = "ssl";
    $mail->Host = "ssl://smtp.gmail.com";
    $mail->Port = 465;
    $mail->Username = "*********@gmail.com";
    $mail->Password = "***************";
    $mail->SetFrom('schoolmavis@gmail.com','Mavis bot');
    $mail->AddAddress("lis.lightinsky@gmail.com");
    $mail->Subject = "Test subject";
    $mail->Body = "English body";
    if(isset($_POST['send']))
    if (!$mail->Send())
    {
    echo "Error: $mail->ErrorInfo";
    }
    else
    {
    echo "Message Sent!";
    }
    ?>
    <form action method="POST">
    <input type="submit" value="Send message" name="send">
    </form>


    По-моему после отправки ($mail->send()) тупо срабатывает команда exit, и скрипт выходит, не показывая ничего ! (Если отключен SMTPDebug)

    Логин, пароль от почты проверял не раз! В почте разрешено взаимодействие с другими приложениями и не стоит двойная аутентификация, поэтому там копать не стОит
     

    Вложения:

  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Судя по логам, он все же коyнектится, но там ясно пишут - войдите через веб в почту.. возможно там будут какие то запросы, типа подтверждения почты, не ввел телефон или еще что
    Было нечто подобное - не хотел через яндекс свежий ящик.... подставил старый - заработало

    ну и - Password command failed: SMTP Error: Could not authenticate.
    все же говорит что войти не смог
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
  4. LIGHTIX

    LIGHTIX Новичок

    С нами с:
    15 май 2018
    Сообщения:
    10
    Симпатии:
    0
    ВНИМАНИЕ!!! Ооочень странный способ решения! Я добавил строчку $mail->SMTPKeepAlive = true и ВСЁ ЗАРАБОТАЛО! Сам бы в жизни не догадался
     
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
  6. LIGHTIX

    LIGHTIX Новичок

    С нами с:
    15 май 2018
    Сообщения:
    10
    Симпатии:
    0
    Проблема решена строчкой
    PHP:
    1. $mail->SMTPKeepAlive = true;
    Тема закрыта, спасибо за советы :)