phpmailer Error: SMTP connect() failed (GMAIL smtp).

0

Witam.

Mam problem z wtyczką phpmailer. Przy próbie wysłania maila wywala błąd:
Message was not sent
PHPMailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting/

require 'php_mailer/PHPMailerAutoload.php';

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
$mail->Port = 587;
$mail->SMTPSecure = 'tls';

$mail->Username = "[email protected]";
$mail->Password = "haselko";
 
$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.
 
$mail->From = "[email protected]";
$mail->FromName = "Mateusz";
 
$mail->addAddress("[email protected]","User 1");
 
$mail->Subject = "Testing PHPMailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";
 
if(!$mail->Send())
    echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";

Po wykonaniu otrzymuję:
2016-06-19 1429 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP 42sm1780512lfw.42 - gsmtp
2016-06-19 1429 CLIENT -> SERVER: EHLO tiptop24.pl
2016-06-19 1429 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [85.128.142.68]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
2016-06-19 1429 CLIENT -> SERVER: STARTTLS
2016-06-19 1429 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2016-06-19 1429 CLIENT -> SERVER: EHLO tiptop24.pl
2016-06-19 1429 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [85.128.142.68]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
2016-06-19 1429 CLIENT -> SERVER: AUTH LOGIN
2016-06-19 1429 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2016-06-19 1429 CLIENT -> SERVER: bWF0ZXVzei5tb2RzQGdtYWlsLmNvbQ==
2016-06-19 1429 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2016-06-19 1429 CLIENT -> SERVER: bWF0aW1vcjE5ODg=
2016-06-19 1429 SERVER -> CLIENT: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsE
534-5.7.14 hd9LCyZ3pqvSwt2HJU0Yp4Fq93mwoN4m449_mjNdsCch0DvyNnMeA82Exz73BjNCMUShoF
534-5.7.14 RkMHdnHm5j0E564ezCIugMTwOynEhGmRVzZeKfmPER1RjcNQGAbIT2wlwcytYdZ5K9_sRU
534-5.7.14 23ktBS2ohPc4ORHcaaUjYSgxz4GVsA5nQgU2BcEjSfPE_qgo6FKN-gEbXqBaabV5M5C4rd
534-5.7.14 spVzU4MN4Ux8ipWR3OMUtO9Wyt0ak> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/answer/78754 42sm1780512lfw.42 - gsmtp
2016-06-19 1429 SMTP ERROR: Password command failed: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsE
534-5.7.14 hd9LCyZ3pqvSwt2HJU0Yp4Fq93mwoN4m449_mjNdsCch0DvyNnMeA82Exz73BjNCMUShoF
534-5.7.14 RkMHdnHm5j0E564ezCIugMTwOynEhGmRVzZeKfmPER1RjcNQGAbIT2wlwcytYdZ5K9_sRU
534-5.7.14 23ktBS2ohPc4ORHcaaUjYSgxz4GVsA5nQgU2BcEjSfPE_qgo6FKN-gEbXqBaabV5M5C4rd
534-5.7.14 spVzU4MN4Ux8ipWR3OMUtO9Wyt0ak> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/answer/78754 42sm1780512lfw.42 - gsmtp
2016-06-19 1429 SMTP Error: Could not authenticate.
2016-06-19 1429 CLIENT -> SERVER: QUIT
2016-06-19 1429 SERVER -> CLIENT: 221 2.0.0 closing connection 42sm1780512lfw.42 - gsmtp
2016-06-19 1429 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Wydaje mi się że to coś z google, ale jak to naprawić? :)

Dodam, że na koncie gmail włączyłem dostęp dla mniej bezpiecznych aplikacji.

Udało się wystarczyło zmienić:

$mail->Port = 465;
$mail->SMTPSecure = 'ssl';

No i w gmailu musimy odblokować dostęp do maila dla mniej bezpiecznych aplikacji :)

0
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

Przed połączeniem, z jakiejś przyczyny nie może zweryfikować cera i leci błąd też z tym problem miałem :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1