Ik gebruik PHPmailer met een gmail server om mails te laten versturen. Met het script hieronder werkte het eerst perfect. Alleen nu na een tijd (geen code verandert) geeft het deze error aan:

Fatal error: Uncaught phpmailerException: SMTP Error: Could not authenticate. in D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php:1692 Stack trace: #0 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1540): PHPMailer->smtpConnect(Array) #1 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1335): PHPMailer->smtpSend('Date: Wed, 30 J...', 'This is a multi...') #2 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1213): PHPMailer->postSend() #3 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\functions\mail\sendMail.php(34): PHPMailer->send() #4 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\functions\mail\sendMail.php(7): sendMail('<!doctype html>...', 'Uw contactverzo...', 'janmoes96@live....', 'info@school4us....') #5 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\page-contact.php(46): sendTemplateMai in D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php on line 1692



<?php

require_once(__DIR__.'/../../vendor/phpmailer/phpmailer/PHPMailerAutoload.php');

function sendTemplateMail($body, $data, $subject, $receiver, $sender){
    $template = Timber::compile($body, $data);
    sendMail($template, $subject, $receiver, $sender);
}

function sendMail($template, $subject, $receiver, $sender){

    $mail = new PHPMailer(true);                        // Enable verbose debug output

    $mail->isSMTP();                                      // Set mailer to use SMTP     // TCP port to connect to

    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->SMTPSecure = 'tls';
    $mail->SMTPAuth = true;
    $mail->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));
    $mail->Username = "[email protected]";
    $mail->Password = "test";

    $mail->setFrom($sender);
    $mail->addAddress($receiver);     // Add a recipient
    $mail->addReplyTo($sender);

    $mail->isHTML(true);

    $mail->Subject = $subject;
    $mail->Body = $template;
    $mail->AltBody = $template; //$mail->AltBody = $template; //

    return $mail->send();
}

Dan is er waarschijnlijk iets anders veranderd.

Allereerst is het handig dat je je realiseert dat jouw probleem waarschijnlijk niet uniek is.

Dus vraag je het ome Goegel: "phpmailer gmail could not authenticate".

Het eerste resultaat wijst je mogelijk al in de goede richting: blijkbaar moet je tegenwoordig "less secure apps" expliciet toegang geven maar het is natuurlijk beter dat je het certificaat op een fatsoenlijke manier inspecteert, al die beveiliging is er niet voor niets.

Een andere mogelijke oorzaak is dat het netwerk vanuit je webserver naar buiten toe wordt geblokkeerd ofzo.
Ik heb de stappen gevolgd van die stackoverflow post. Maar heb nog steeds geen resultaat.
En als je de debug wat hoger zet, zie je dan wat meer debugging?

$mail->SMTPDebug = 2;
2019-02-02 17:48:18	SERVER -> CLIENT: 220 smtp.gmail.com ESMTP c53sm3014729ede.26 - gsmtp 2019-02-02 17:48:18	CLIENT -> SERVER: EHLO localhost 2019-02-02 17:48:18	SERVER -> CLIENT: 250-smtp.gmail.com at your service, [94.208.86.255] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2019-02-02 17:48:18	CLIENT -> SERVER: STARTTLS 2019-02-02 17:48:18	SERVER -> CLIENT: 220 2.0.0 Ready to start TLS 2019-02-02 17:48:18	CLIENT -> SERVER: EHLO localhost 2019-02-02 17:48:18	SERVER -> CLIENT: 250-smtp.gmail.com at your service, [94.208.86.255] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2019-02-02 17:48:18	CLIENT -> SERVER: AUTH LOGIN 2019-02-02 17:48:18	SERVER -> CLIENT: 334 VXNlcm5hbWU6 2019-02-02 17:48:18	CLIENT -> SERVER: dGVzdHNjaG9vbDR1c0BnbWFpbC5jb20= 2019-02-02 17:48:18 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2019-02-02 17:48:18	CLIENT -> SERVER: c2Nob29sNHVzamFu 2019-02-02 17:48:18	SERVER -> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials c53sm3014729ede.26 - gsmtp 2019-02-02 17:48:18	SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials c53sm3014729ede.26 - gsmtp 2019-02-02 17:48:18	SMTP Error: Could not authenticate. 2019-02-02 17:48:18	CLIENT -> SERVER: QUIT 2019-02-02 17:48:18	SERVER -> CLIENT: 221 2.0.0 closing connection c53sm3014729ede.26 - gsmtp 2019-02-02 17:48:18	SMTP Error: Could not authenticate. 
Fatal error: Uncaught phpmailerException: SMTP Error: Could not authenticate. in D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php:1692 Stack trace: #0 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1540): PHPMailer->smtpConnect(Array) #1 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1335): PHPMailer->smtpSend('Date: Sat, 2 Fe...', 'This is a multi...') #2 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php(1213): PHPMailer->postSend() #3 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\functions\mail\sendMail.php(34): PHPMailer->send() #4 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\functions\mail\sendMail.php(7): sendMail('<!doctype html>...', 'Uw contactverzo...', 'janmoes96@live....', 'info@school4us....') #5 D:\Xampp\htdocs\school4us\wp-content\themes\school4us\page-contact.php(46): sendTemplateMai in D:\Xampp\htdocs\school4us\wp-content\themes\school4us\vendor\phpmailer\phpmailer\class.phpmailer.php on line 1692
Heb je het beheer over een eigen server? Of wordt dat voor jouw gedaan?
Want het lijkt mij op een configuratiefout van de server.
Ik heb de site bij yourhosting, dus host het niet zelf. Met de stappen die je me eerder stuurde werkt het gek genoeg wel lokaal maar niet op die webserver
Vraag de helpdesk daar eens? Mogelijk blokkeren ze wat, of hebben ze een foute instelling?
oh dat zou kunnen, want normaal als iets lokaal het perfect doet zou het ook moeten werken op het domein. Maar dat word maandag dan even bellen.

Reageren