環境
- windows10
- DockerDesktop for Win 3.5.x
- Laravel 8.x
- PHP 8.x
- VsCode
- gitbash 2.32.0.1
設定手順
2段階認証を有効化
以下より、グーグルへの2段階認証を有効にする
https://www.google.com/landing/2step/
アプリケーションのパスワードを生成
アプリからその他を選択し任意の名称を入力後、生成を押す
アプリパスワードを控える
Laravel側の設定
.envファイルを編集
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME= // Gmailアカウント名
MAIL_PASSWORD= // 取得したアプリパスワード
MAIL_FROM_ADDRESS= // Laravel9から、送信元の情報が必要になりました
あとはLaravel用のAPコンテナ内でtinkerコマンドでメールを送信して問題なく届いていれば成功
tinkerは
- Laravel標準で使える対話型のコマンドラインツール
- PHPやLaravelの関数が手軽に実行できる
- DBのレコード操作も可能
php artisan tinker
>>> Mail::raw('test mail',function($message){$message->to('gmailのアドレス')->subject('test'); });
以上です。
まとめ
いかがでしたでしょうか。本記事では、Docker×Laravel環境で、Gmailをメールサーバーとしてテストメールを送信する手順について紹介しています。メールの送信処理を簡単に動作検証できますのでぜひ参考にしてみてください。