我有以下功能postEmail
在我的PasswordController.php
和調用當用戶嘗試重置密碼。Laravel - 如何檢查成功發送給用戶的重置密碼郵件?
/**
* Send a reset link to the given user.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function postEmail(Request $request)
{
//echo Input::get('ID'); die;
$this->validate($request, ['ID' => 'required|email']);
// Pass data to reset password mail template
view()->composer('emails.password', function($view) {
$view->with([
'UserProduct1' => 'UserProduct1',
'UserProduct2' => 'UserProduct2',
]);
});
$response = Password::sendResetLink($request->only('ID'), function (Message $message) {
$message->subject($this->getEmailSubject());
});
switch ($response) {
case Password::RESET_LINK_SENT:
return redirect()->back()->with('status', trans($response));
case Password::INVALID_USER:
return redirect()->back()->withErrors(['ID' => trans($response)]);
}
}
有沒有什麼辦法來檢查,重置郵件在發送laravel
還是不給用戶。
任何想法?
謝謝。
會有幾種方法來實現這一點。你可以通過在switch/case語句中添加一些邏輯來實現,或者只需添加一個檢查來查看是否有一行插入到密碼重置表中 - 如果密碼重置成功併發送了電子郵件,則會有一個在表中記錄。 – James