I want to Automatically send "Email verification" email after a successful register in Laravel 8.5
My RegisterController:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Auth\Events\Registered;
class RegisterController extends Controller
{
public function register(Request $request)
{
$request->validate([
'name' => ['required'],
'email' => ['required', 'email', 'unique:users'],
'password' =>['required', 'min:6', 'confirmed']
]);
User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password)
]);
}
}
I have this two routes which work, but I have to do it manualy:
Route::post('email/verification-notification', [EmailVerificationController::class, 'sendVerificationEmail'])->middleware('auth:sanctum');
Route::get('verify-email/{id}/{hash}', [EmailVerificationController::class, 'verify'])->name('verification.verify')->middleware('auth:sanctum');
In Laravel docs I found that I should add event(new Registered($User)); in my register controller but variable $user is not defined. What should I pass as variable?