다음과 같은 이상한 상황이 있습니다.gmail과 함께 PHPMailer XOAUTH2 - SMTP를 인증 할 수 없습니다.
gmail과 xoauth2를 사용하여 phpMailer를 사용하려고하는데 "AUTH 요청"명령을 보낸 직후에 "SMTP 오류 : 인증 할 수 없습니다"라는 응답이 나타납니다.
OAuth2를 리그 1.4.1 (모든 작곡가 통해로드) PHP 버전으로, phpmailer 5.2.21을 사용 : 7.0.1 (OpenSSL이이로드)
을 구성은 다음
$mailer = new PHPMailer();
$mailer->isSMTP();
$mailer->Host = 'smtp.gmail.com';
$mailer->SMTPAuth = true;
$mailer->AuthType = 'XOAUTH2';
$mailer->oauthUserEmail = $userEmail;
$mailer->oauthClientId = $clientId;
$mailer->oauthClientSecret = $clientSecret;
$mailer->oauthRefreshToken = $token;
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->setFrom($email);
$mailer->addAddress($recipient);
$mailer->Subject = $subject;
$mailer->Body = $message;
if (! $mailer->send())
throw new RuntimeException('Mail submission failed! ' . $mailer->ErrorInfo);
입니다 그리고 디버그 출력은 다음과 같다 :
Google 앱은 Gmail은 ( https://mail.google.com)와 settin의 전 과정을 사용할 권한이2017-01-05 08:14:47 Connection: opening to smtp.gmail.com:587, timeout=300, options=array()
2017-01-05 08:14:47 Connection: opened
2017-01-05 08:14:47 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP e7sm325303lfb.10 - gsmtp
2017-01-05 08:14:47 CLIENT -> SERVER: EHLO survey.kaimakinn.gr
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
2017-01-05 08:14:47 CLIENT -> SERVER: STARTTLS
2017-01-05 08:14:47 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2017-01-05 08:14:47 CLIENT -> SERVER: EHLO survey.kaimakinn.gr
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
2017-01-05 08:14:47 Auth method requested: XOAUTH2
2017-01-05 08:14:47 Auth methods available on the server: LOGIN,PLAIN,XOAUTH2,PLAIN-CLIENTTOKEN,OAUTHBEARER,XOAUTH
2017-01-05 08:14:47 SMTP Error: Could not authenticate.
2017-01-05 08:14:47 CLIENT -> SERVER: QUIT
g 위로 애플 리케이션과 새로 고침 토큰을 받고 성공적입니다. 더욱이, 필자는 운좋게도 phpmailer 문제 해결 가이드 전체를 보았습니다.
나는 여기에서 명백한 무엇인가를 놓치고 있을지 모르지만, 어떤 생각입니까? 사전
감사합니다. 절약 된 하루 –