PHPからGmailを使ったメール送信についてですが、今まで正常に遅れていたものが、2022年6月から、突然送れなくなりました。
以前にも同じような現象があり、その時の対応として、使用するGmailアカウントに「安全性の低いアプリのアクセス」を設定することで回避できていました。
ただ今回は、その設定だけでは送信できなくなったようです。
ということで原因と対応方法を調査しました。
目次
PHPでGmailからメールが送信できない原因は?
まず送信できない原因ですが、Googleのサイトを見ると以下のような記載がありました。
ようはGoogleの仕様変更で2022年5月30日からは、「安全性の低いサードパーティ製のアプリはサポートしませんよ」ということです。
※ただしビジネスアカウントを使用している場合は、今のところ大丈夫みたいです。
相変わらず突然仕様を変更してきますね。
確かに細かいところまで周知するのは大変だと思いますが、お知らせくらいはあってもいいんじゃないかと思います。
仕方がないので対応方法を調べてみます。
PHPでGmailからメールが送信できない対応方法は?
対応方法について調べたところ「アプリパスワード」を使用すれば送信できるということです。
「アプリパスワード」と言われてもよくわからないのですが、ようは
そのアカウントから安全の低いアプリを使用するためのパスワード
ということらしいです。
それでは続いて「アプリパスワード」作成方法です。
アプリパスワード作成方法
アプリパスワードの作成方法は以下の手順になります。
Google アカウントに移動します、セキュリティを選択します。
[Google へのログイン]で [アプリ パスワード] を選択します。
※2段階認証が有効になっていない場合は、2段階認証プロセスを有効にします。
3.アプリパスワード画面が表示されます。
アプリ選択から「メール」を選択し、デバイス選択から「Windowsパソコン」を選択します。
選択したら「生成」ボタンをクリックします。
画面右上に16 文字のアプリパスワードが表示されます。
PHPでこれまで使用していた
「Googleアカウントのパスワード」
を、今回生成された
「アプリパスワード」
に変更します。
以上でPHPからGmeilを使用してメールが送信できるようになりました。
まとめ
今回もそうですが、Googleはいきなり仕様の変更をしてきます。
以前もあったんですが現在Gmailを使用しているメール送信アプリが、いきなり使えなくなるのは、かなり困ります。
Googleのホームページ上では、表記があるかもしれませんが事前に通知がないので、いきなりの対応は本当に大変です。
これからも同じ様な仕様変更があると思われるので、アプリでGmailを使用するのは考えた方がいいかもしれませんね・・・