Laravel
【Laravel】Jetstream(Fortify)を使ってメール認証を実装する方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Laravel の Jetstream(Fortify)を使ってメール認証を実装する方法についてまとめました。
前提条件
Laravel 11
すでに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
で、ユーザー登録すると以下のようなメールが送られてきます。
メール送信されないとき
メールを送信する設定をしないとメールは送信されません。
本番環境であればメールサーバーというのを契約して送信してもらうのが小規模の開発であれば一般的だと思います。
例えば、AWS SES
やSendGrid
といったメールサービスがあります。
今回は、開発環境なので Mailtrap を使ってテストするのが簡単です。詳細は以下の記事を読んでください。
→【Laravel】メールトラップを使ってメール送信する方法
考えられるエラー
Route [verification.verify] not defined.
config/fortify.php の設定が反映されていないです。
設定を反映させるためにコマンドを打ってみてください。
php artisan config:clear
まとめ
Jetstream をインストールした人向けに Fortify のメール認証についてまとめてみました。
できるだけ初心者向けに分かりやすく書いてます。
参考になれば幸いです。