【laravel】authの新規ユーザー登録時にメール承認を追加


authの下準備はこちらを参考に

https://note.com/horiday_tech/n/n839c2d99db3c

メール承認の有効化

モデルのUser.phpファイルを編集する。
use Illuminate\Contracts\Auth\MustVerifyEmail;
が無いなら追加、コメントアウトされている場合は解除する。

また、class User extends Authenticatableの後に
implements MustVerifyEmailを追加する。

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail; 
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable implements MustVerifyEmail
{
    use HasApiTokens, HasFactory, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array<int, string>
     */
    protected $fillable = [
        'name',
        'email',
        'password',
    ];

web.phpのAuth::routes();を下記ように編集。


Auth::routes(['verify' => true]);

.envのメールを各自設定

デフォルトはこれ。メールが送れるように各自で中身を変更する

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"


この記事が気に入ったらサポートをしてみませんか?