
2段階認証でもsmtp.gmail.comを使えるようにする
前回の記事で自動で2段階認証が設定されるようになりました。
※2段階認証を外すことも可能です。
そんな時に困るのがsmtp.gmail.comを使ってメール送信をしているシステムについてです。
下記にアクセスして、安全性の低いアプリのアクセスにチェックを入れてメール送信するのも良いと思うのですが、セキュリティにも配慮したいですよね♪
https://myaccount.google.com/lesssecureapps
ちなみに2段階認証のアカウントだとこちらは設定できません。
こちらのような画面になります。
メール送信をしてみる
じゃあ実際にどのような設定にするかというのを書いていきます。
1. https://myaccount.google.com/ にアクセスします。
2.「セキュリティ」のタブをクリックします。
3.「Google へのログイン」欄の「アプリパスワード」をクリックします。
4.設定したいGoogleアカウントでログインします。※パスワードを聞かれると思います。
5.「アプリパスワード画面」を開きます。
6.アプリとデバイスを選択してください。
「デバイスの選択」欄で端末(iPhoneなど)を選択し、「アプリを選択」で、端末でログインしたいアプリを選択し「生成」します。
※Webサイトなどで使う場合は、「デバイス選択」欄でその他(名前を入力)で設定してください。
7.「生成されたアプリパスワード」という画面が開き、認証用のパスワードが表示されるのでメモしておきます。
8.あとはWebサイトなどで、生成されたアプリパスワードをGoogleアカウントのパスワードとしてその文字列を設定します。
Laravelの.envだとこんな感じです。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=test@gmail.com # メールアドレスを設定
MAIL_PASSWORD=xxxxxxxxxxxxxxxxx # アプリパスワードを設定
MAIL_ENCRYPTION=ssl
MAIL_PRETEND=false
以上です。
gmailを使うと簡単にメール送信できるので、簡易的にシステムを作るには良いかなと思います。
ちゃんとしたシステムでならsendgridとか使っても良いかもですね。