【Laravel】メールアドレス認証通知を手動で送信する

えびさん

LaravelにてRegisterController使用しない場合や、
メールアドレスが変更された際に確認メールを手動送信したい場合など

Registeredイベントを使う

  • ExampleController.php
use Illuminate\Auth\Events\Registered; // ⭐️ 追加

// 省略

public function create(Request $request)
{
    // 登録
    $user = User::create($request->all());
    // 確認メールを送信
    event(new Registered($user));
}

更新の場合は、下記のようにemail_verified_atnullにしてあげる処理も必要

use Illuminate\Auth\Events\Registered; // ⭐️ 追加

// 省略

public function update(Request $request)
{
    // 更新
    $user = User::update($request->all() + ['email_verified_at' => NULL]);
    // 確認メールを送信
    event(new Registered($user));
}