2017-01-05 15 views
2

私は次の奇妙な状況で立ち往生しています。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)と設の全体のプロセスを使用することが許可されている
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のトラブルシューティングガイド全体に行きました。

私はおそらく何かここに明白な何かが欠けているでしょうか?事前に おかげ

答えて

0

うん、単純なもの - 間違ったクラス:

$mail = new PHPMailerOAuth; 

phpmailerので提供gmail_xoauth.phps例を見てみましょう。 PHPMailer 6.0では、OAuthのサポートが大幅に改善されることに注意してください。

+0

ありがとうございます!保存された日 –

関連する問題