Używam PHPMailera od roku na serwerze php. Wszystko było w porządku aż 3 dni temu, kiedy zaczęła się następujący błąd:PHPMailer - Nie można uwierzytelnić
SMTP Error: Could not authenticate.
Zezwalaj na mniej bezpieczne aplikacje jest Włączony
Oto kod:
function SendEmail($to,$cc,$bcc,$subject,$body) {
require 'PHPMailerAutoload.php';
$mail = new PHPMailer(true);
$mail->SMTPDebug = 1;
try {
$addresses = explode(',', $to);
foreach ($addresses as $address) {
$mail->AddAddress($address);
}
if($cc!=''){
$mail->addCustomHeader("CC: " . $cc);
}
if($bcc!=''){
$mail->addCustomHeader("BCC: " . $bcc);
}
$mail->IsSMTP();
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->SMTPSecure = "tls"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 587;
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "myemailpass"; // SMTP password
$webmaster_email = "[email protected]"; //Reply to this email ID
$name=$email;
$mail->From = $webmaster_email;
$mail->FromName = "Service";
//$mail->AddReplyTo($webmaster_email, "DiFractal Customer Service");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = $subject;
$mail->Body = $body;
return $mail->Send();
} catch (phpmailerException $e) {
$myfile = fopen("debug_email.txt", "w");
fwrite($myfile,$e->errorMessage() . "\n" . $mail->ErrorInfo);
fclose($myfile);//Pretty error messages from PHPMailer
} catch (Exception $e) {
$myfile = fopen("debug_email_stp.txt", "w");
fwrite($myfile,$e->getMessage());
fclose($myfile);//Pretty error messages from PHPMailer
}
}
Uwaga Właśnie zaktualizowane PHPMailer do najnowszej wersji, aby spróbować rozwiązać problem, ale nic się nie zmieniło! Stara wersja 5.2.2 nadal miała ten sam problem!
EDYCJA: Właśnie jeden udany e-mail przejść do google i wysłana poprawnie. Co teraz sprawia, że pytam, czy to problem z lagami czy coś w tym rodzaju. Czy ktoś wie, jak phpmailer działa pod dużym obciążeniem lub czy wysokie obciążenia mogą spowodować powyższy błąd?
Bardzo częste pytanie. Czy sprawdziłeś [** google **] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=phpmailer%20gmail%20could%20not%20authenticate)? –
@Michael_B Oczywiście. Standardowy proces to dla mnie zbadanie pierwszej strony wyników wyszukiwania z google przed opublikowaniem na stosie. –
Standardowy proces dla mnie, gdy pytanie jest bardzo powszechne, to pytanie. Większość nie jest tak sumienna jak ty :-) –