Laravel6を使用して、gmailを送信元としてメール送信機能を作るときの設定方法を解説します。
設定場所
[.env]
# デフォルト設定をコメントアウト
# MAIL_DRIVER=smtp
# MAIL_HOST=smtp.mailtrap.io
# MAIL_PORT=2525
# MAIL_USERNAME=null
# MAIL_PASSWORD=null
# MAIL_ENCRYPTION=null
# gmailの設定を追記
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<送信元gmailのアドレス> #gmailの場合、USERNAMEはFROM_ADDRESSと同じ
MAIL_PASSWORD=<アプリパスワード> ※以下で説明
MAIL_ENCRYPTION=tls
アプリパスワードの取得
上記の設定の「MAIL_PASSWORD=<アプリパスワード>」のgmailのアプリパスワードの設定方法です。
送信元に設定するgmailの管理画面に入って、「2段階認証プロセス」を”オン”にする。

上記画面の「アプリ パスワード」を選択
以下のようにアプリは「メール」にして設定 ※デバイスは環境に合わせてください。今回はその他(名前を入力)で任意の名前にしました。

そして、生成ボタンを押した後に表示されるパスワードが<アプリパスワード>

この値を.envの「MAIL_PASSWORD=<アプリパスワード>」に入れる。
そして、.envの変更を反映させるために、以下を実行 ※これをやらないと反映されないので注意
php artisan config:cache
これでメールが無事に送信される。
コメント