ホーム > Laravel > 【Laravel】Jetstream(Fortify)を使ってメール認証を実装する方法
Laravel

【Laravel】Jetstream(Fortify)を使ってメール認証を実装する方法

いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。

Laravel の Jetstream(Fortify)を使ってメール認証を実装する方法についてまとめました。

前提条件

Laravel 11
すでにJetstreamをインストール済み

Laravel Jetstream 公式(英語)

結論

config/fortify.php

149 行目あたりに、以下のようなコードがコメントアウトされているため、コメントアウトを解除

Features::emailVerification(),

App/Models/User.php

5行目あたりに、以下のようなコードがコメントアウトされているため、同様に解除

use Illuminate\Contracts\Auth\MustVerifyEmail;

14 行目あたりで MustVerifyEmail インターフェースの実装をします。

class User extends Authenticatable implements MustVerifyEmail

以上です。

登録ページlocalhost/registerで、ユーザー登録すると以下のようなメールが送られてきます。

laravel email verify complete

メール送信されないとき

メールを送信する設定をしないとメールは送信されません。

本番環境であればメールサーバーというのを契約して送信してもらうのが小規模の開発であれば一般的だと思います。

例えば、AWS SESSendGridといったメールサービスがあります。

今回は、開発環境なので Mailtrap を使ってテストするのが簡単です。詳細は以下の記事を読んでください。

→【Laravel】メールトラップを使ってメール送信する方法

メールトラップの公式ページ

考えられるエラー

Route [verification.verify] not defined.

config/fortify.php の設定が反映されていないです。

設定を反映させるためにコマンドを打ってみてください。

php artisan config:clear

まとめ

Jetstream をインストールした人向けに Fortify のメール認証についてまとめてみました。

できるだけ初心者向けに分かりやすく書いてます。

参考になれば幸いです。