LaravelでSendGrid-smtp送信のメール送信をテスト・デバッグする最短の方法について記載します。
こうすれば、SendGridのメール設定ができて、簡単に設定後の動作確認ができるよ、ということを記載していきます。
SendGridのテスト・デバッグ時のメール送信確認の設定周りを中心に記載します。
メール送信のLaravelプログラムの書き方については記載していません。
Laravelのローカル開発環境構築
ローカル開発環境構築は以下の記事をご参照ください。本記事ではローカル開発環境構築が済んでいることを前提に記載します。
DockerでLaravel 11のローカル開発環境を構築する。ついでにphpmyadminも入れてみる。
DockerでLaravel 11のローカル開発環境を構築していきます。 DB確認用に、phpmyadminもインストールします。 コンテナは以下のような構成です。本番環境に応用できるように、あえてSailは使いません。 アプリコンテナ P...
SendGrid側の設定
本記事ではSendGrid側の設定ができていることを前提に記載します。
SendGrid側の設定がまだの場合は以下のステップで設定できます。
- 以下の記事を参考に申し込みをする
- 申し込みが終わったら、以下の記事を参考に、差出人情報を設定する
LaravelにSendGrid-smtp送信の設定をして動作確認
メールをSendGridで送信するように設定変更
.envファイルでメールをSendGridで送信するように設定します。
以下のコマンドでプロジェクト直下の「.env」ファイルを開きます
vi .env
以下のとおり、「.env」ファイルを編集します。
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=<SendGridで払い出されたAPIキーを設定>
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="<送信元メールアドレスを設定>"
MAIL_FROM_NAME="${APP_NAME}"
MAIL_PASSWORD
には「SendGridで払い出されたAPIキー
」を設定し、MAIL_FROM_ADDRESS
には「送信元メールアドレス
」を設定します。
メールを送って受信確認してみる
以下のコマンドでメールを送信可能です。
// コンテナの中に入る docker compose exec app php artisan tinker // メール送信 Mail::raw('test mail',function($message){$message->to('<実際に送信する送信先アドレス>')->subject('test');});
送付先のメールアドレスに実際にメールが届いていれば、SendGridの設定完了です。
まとめ
SendGridのメール設定ができて、簡単に設定後の動作確認ができたと思います。