我已经成功编码了注册功能及其工作,但我不知道如何在注册成功后发送电子邮件确认链接。因为我使用 JWT Auth 登录并使用 Laravel API 从 Flutter 应用程序注册。
我的登录代码是:
public function loginapi(Request $request)
{
$input = $request->only('email', 'password');
$email = $request->email;
$jwt_token = null;
if (!$jwt_token = JWTAuth::attempt($input)) {
return response()->json([
'success' => false,
'message' => 'Invalid Email or Password',
]);
}
// get the user
$user = getuserbyemail($email);
$user_ver_status = $user->email_verified_at;
$verified;
if($user_ver_status != null || $user_ver_status != ''){
$verified = true;
}
else{
$verified = false;
}
return response()->json([
'success' => true,
'varified' => $verified,
'token' => $jwt_token,
'users' => $user
]);
}
我的注册码是:
public function registerapi(Request $request)
{
$sponsor = $request->sponsor;
$username = $request->username;
$email = $request->email;
//$phone = $request->phone;
$password = $request->password;
$getemail = getuserbyemail($email);
$getusern = getuserbyusername($username);
//$getphone = getuserbyphone($phone);
$getSponsor = getuserbySponsor($sponsor);
if($getSponsor == null ||$getSponsor == ''){
return response()->json([
'success' => false,
'message' => 'Sponsor user dose not found...!',
], 401);
}
else if($getemail != null){
return response()->json([
'success' => false,
'message' => 'Email is already existed...!',
], 401);
}
else if($getusern != null){
return response()->json([
'success' => false,
'message' => 'Username is already existed...!',
], 401);
}
else{
$insertuser = insertUser($getSponsor->id, $username, $email, $password);
if($insertuser == "true"){
return response()->json([
'success' => true,
'message' => 'Your account has been registerd successfully...!',
]);
}
else if($insertuser == "false"){
return response()->json([
'success' => false,
'message' => 'There is an error while regestring your account...!',
]);
}
else{
return response()->json([
'success' => false,
'message' => 'There is an UnKnown error while regestring your account...!',
]);
}
}
}
这是我的 insertUser() 函数:
function insertUser(string $sponsor, string $username, string $email, string $password){
$time_now = date("Y-m-d H:i:s");
$updated_at = $time_now;
$created_at = $time_now;
$sponsor_id = $sponsor;
$user_name = $username;
$user_email = $email;
//$user_phone = $phone;
$user_password = $password;
$createUser = User::create([
'sponsor_id' => $sponsor,
'user_name' => $user_name,
'email' => $user_email,
'phone' => null,
'earning' => 0,
'balance' => 0,
'city' => null,
'country' => null,
'image' => null,
'status' => 1,
'password' => Hash::make($user_password),
]);
if($createUser){
return "true";
}
else{
return "false";
}
}
注册成功但没有通过电子邮件发送验证链接。我怎样才能做到这一点?
更新问题:
I am using Laravel 8 version