PHPMailerでGoogleWorspaceからメール送信を行う
PHPMailerのトラブルシューティングを見ると以下のように記述されています。
2014年12月から、Googleは、Gmailを含むアプリにアクセスするために、OAuth2に基づくXOAUTH2と呼ばれる認証メカニズムの導入を開始しました。この変更により、GmailへのSMTPアクセスとIMAPアクセスの両方が破損する可能性があり、多くの電子メールクライアントから認証の失敗(多くの場合、「5.7.14 Webブラウザーからログインしてから、再試行してください」または「ユーザー名とパスワードが受け入れられません」)を受け取る可能性があります。
XOAUTHを設定しないとうまくメールが送れないようです。
XOAUTH2を使ってメールを送信する
GoogleDevelopConsoleにてプロジェクトの設定を行う
開発者コンソールにてPHPMailerでメールを送るためのプロジェクトを作成する必要があります。
開発者コンソールはこちら
以下のブログを見て、XOAUTH接続に必要なクライアントID、シークレット、リフレッシュトークンを取得してください
https://symfoware.blog.fc2.com/blog-entry-2387.html
https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
PHPMailerにGoogle用のOAuthライブラリをインストールする
Composerを使ってライブラリをインストールします
composer require league/oauth2-google
OAuthの設定を行う
$this->mailer = new PHPMailer();
$mailer->AuthType = 'XOAUTH2';
$provider = new Google(
[
'clientId' => 取得したクライアントID,
'clientSecret' => 取得したシークレット,
]
);
$mailer->setOAuth(
new OAuth(
[
'provider' => $provider,
'clientId' => 取得したクライアントID,
'clientSecret' => 取得したシークレット,
'refreshToken' => 取得したリフレッシュトークン,
'userName' => Gmailアカウント(xxx@xxxx.com),
]
)
);

ディスカッション
コメント一覧
まだ、コメントがありません