На основании этой документации вы можете легко создать подтверждение электронной почты пользователя, когда кто-то регистрируется самостоятельно, но как отправить подтверждение по электронной почте, когда администраторы создали учетную запись для своих пользователей?
Я уже пробовал с этим подходом
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Foundation\Auth\VerifiesEmails;
class TeacherController extends Controller
{
use VerifiesEmails;
... // Other basic functions
public function store(Request $request)
{
$rules = [
'first_name' => ['string', 'required', 'max:255'],
'last_name' => ['string', 'nullable', 'max:255'],
'email' => ['string', 'required', 'email', 'max:255', 'unique:users'],
'password' => ['string', 'required', 'min:6', 'confirmed'],
];
$request->validate($rules);
$teacher = \App\User::create([
'first_name' => $request->input('first_name'),
'last_name' => $request->input('last_name'),
'email' => $request->input('email'),
'password' => Hash::make($request->input('password')),
'role' => 'teacher',
]);
$teacher->sendEmailVerificationNotification();
return redirect()->route('teachers');
}
... // Other basic functions
}
, но он не работает и никаких ошибок вообще, но если я использую $request->user()->sendEmailVerificationNotification();
, он работает, но вместо этого отправьте подтверждение по электронной почте для администратора.Я уже гуглил его, но не нашел ответа, который хотел.
Так как решить эту проблему?я могу добиться этого с помощью функций по умолчанию от laravel или я должен создать сам?
РЕДАКТИРОВАТЬ :: Вот электронное письмо, которое приходит, когда я использую $request->user()->sendEmailVerificationNotification();
, оно отправляет на admin@admin.com вместо teacher@teacher.com
РЕДАКТИРОВАТЬ 2 :: Я уже нахожу проблему, потому что я использую VerifiesEmail
, который является ядром проблем, которые у меня были,Спасибо @nakov за его помощь!: D