На основе этой документации вы можете легко создать подтверждение электронной почты пользователя, когда кто-то подписывается самостоятельно, но как отправить подтверждение по электронной почте, когда администраторы создали учетную запись для своих пользователей?
Я уже пробовал с этим подходом
<?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();
, оно отправляется на [email protected] вместо учитель@teacher.com
РЕДАКТИРОВАТЬ 2 :: Я уже нашел проблему, потому что я использую VerifiesEmail
, который является ядром моих проблем. Спасибо @nakov за помощь! : D