내 laravel 5.0 응용 프로그램에서 암호 기능을 잊어 버렸습니다. 사용자에게 등록 된 이메일을 입력하고 제출 (포스트 방법)을 요청하고 있습니다.이 양식은 jquery ajax 게시 요청에서 작동합니다. 요청에서 이메일을받은 후 DB에서 존재 여부를 확인하고 있습니다. 존재하는 경우 새 암호를 업데이트하고 있습니다. 오류 메시지를 보내지 않으면 모든 것이 좋습니다. 이제 사용자에게 새 비밀번호로 이메일을 보내려고하는데 작동하지 않습니다. 비밀번호가 업데이트되고 있지만 이메일이 전송되지 않습니다. 아래에서 내 컨트롤러 코드를 찾으세요.
public function forgot_pass(Request $request){
$email = $request->input('femail');
$data = ['email' => $email];
$user = Myuser::where($data)->count();
if($user == 0){
return response()->json(['status' => 'Invalid']);
}
else{
$user_details = Myuser::where($data)->get()->first();
$new_pass = $this->generateRandomString();
$md5_pass = md5("EEE".$new_pass);
$status = Myuser::where('email', $email)
->update(['pass' => $md5_pass]);
if($status){
$mail_data = ['name' => $user_details->name, 'new_pass' => $new_pass];
Mail::send('emails.newpassword', $mail_data, function($message)
{
$message->from('[email protected]', 'Laravel');
$message->to($email);
});
return response()->json(['status' => 'Invalid']);
}
}
}
내가 $message->to('[email protected]');
대신 사용하면 실제로 메일이 작동합니다 $message->to($email);
. 아래는 내가 얻는 오류입니다.
$email
오류를 일으키는 이유 가 이상 합니다.
$email
익명 함수 에 전달해야합니다.
Mail::send('emails.newpassword', $mail_data, function($message) use ($email) {
...
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다