title: Laravel reset password does not send
body: <p><strong>NOTE: This is laravel 5.4, it does not just use PHP <code>mail()</code>. So this is not duplicate.</strong></p>
  <p>I'm trying to apply the laravel reset password system. However, I can't make it to work. The mailing system works, my contact form can send mail. However, the reset password always fails to send. My guess is because my user email field called <code>username</code>.</p>
  <p>So my users table credential is using <code>username</code> and <code>password</code>, instead of <code>email</code>.</p>
  <p>This is my route</p>
  <pre><code>// Only unauthenticated users
  Route::group(['middleware' =&gt; 'guest', 'namespace' =&gt; 'Guest'], function() {
  
  Route::post('auth/password-reset-request',  'ForgotPasswordController@sendResetLinkEmail');
  Route::post('auth/password-reset',          'ResetPasswordController@reset');
  Route::post('auth/login',                   'UserController@login');
  
  Route::get('forgot-password',           'ForgotPasswordController@NewPasswordRequestForm')
                                              -&gt;name('password.request');
  Route::get('make-new-password/{token}', 'ResetPasswordController@showResetForm')
                                              -&gt;name('password.reset');
  Route::get('login',                         'UserController@getLogin');
  });
  </code></pre>
  <p>And this is the controller</p>
  <pre><code>namespace App\Http\Controllers\Guest;
  use App\Http\Controllers\Controller;
  use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
  use Illuminate\Http\Request;
  use App\Helpers\ViewHelper;
  
  class ForgotPasswordController extends Controller{
  
  use SendsPasswordResetEmails;
  
  /**
   * Display the form to request a password reset link.
   *
   * @return \Illuminate\Http\Response
   */
  public function showLinkRequestForm()
  {
      return view('emails.passwords');
  }
  
  /**
   * Send a reset link to the given user.
   *
   * @param  \Illuminate\Http\Request  $request
   * @return \Illuminate\Http\RedirectResponse
   */
  public function sendResetLinkEmail(Request $request)
  {
      $this-&gt;validateUsername($request);
  
      // We will send the password reset link to this user. Once we have attempted
      // to send the link, we will examine the response then see the message we
      // need to show to the user. Finally, we'll send out a proper response.
      $response = $this-&gt;broker()-&gt;sendResetLink(
          $request-&gt;only('username')
      );
      
      return $response == \Password::RESET_LINK_SENT
                  ? $this-&gt;sendResetLinkResponse($response)
                  : $this-&gt;sendResetLinkFailedResponse($request, $response);
  }
  
  /**
   * Validate the email for the given request.
   *
   * @param \Illuminate\Http\Request  $request
   * @return void
   */
  protected function validateUsername(Request $request)
  {
      $this-&gt;validate($request, ['username' =&gt; 'required|email']);
  }
  
  /**
   * Get the response for a failed password reset link.
   *
   * @param  \Illuminate\Http\Request
   * @param  string  $response
   * @return \Illuminate\Http\RedirectResponse
   */
  protected function sendResetLinkFailedResponse(Request $request, $response)
  {
      return back()-&gt;withErrors(
          ['username' =&gt; trans($response)]
      );
  }
  
  /**
   * Get the response for a successful password reset link.
   *
   * @param  string  $response
   * @return \Illuminate\Http\RedirectResponse
   */
  protected function sendResetLinkResponse($response)
  {
      return back()-&gt;with('success_msg', trans($response));
  }
  </code></pre>
  <p>And the blade form</p>
  <pre><code>{!! Form::open(['url' =&gt; 'auth/password-reset-request', 'method' =&gt; 'POST', 'id' =&gt; 'form-hypotheek-afsluiten', 'class' =&gt; 'reg-page']) !!}
                  @if($errors-&gt;any())
                      &lt;div class=&quot;alert alert-danger fade in alert-dismissable&quot;&gt;
                          &lt;button type=&quot;button&quot; class=&quot;close&quot; data-dismiss=&quot;alert&quot; aria-hidden=&quot;true&quot;&gt;&amp;times;&lt;/button&gt;
                          {!! $errors-&gt;first() !!}
                      &lt;/div&gt;
                  @endif
                  @include('layout.formalert')
                  &lt;div class=&quot;input-group margin-bottom-20&quot;&gt;
                      &lt;span class=&quot;input-group-addon&quot;&gt;&lt;i class=&quot;fa fa-user&quot;&gt;&lt;/i&gt;&lt;/span&gt;
                      &lt;input type=&quot;text&quot; name=&quot;username&quot; class=&quot;form-control&quot;&gt;
                      @if($errors-&gt;has('email'))
                      {!! $errors-&gt;first('email', '&lt;em for=&quot;email&quot; class=&quot;invalid&quot;&gt;:message&lt;/em&gt;') !!}
                      @endif
                  &lt;/div&gt;
                  
                  &lt;div class=&quot;row&quot;&gt;
                      &lt;div class=&quot;col-md-12&quot;&gt;
                          &lt;button class=&quot;btn-u pull-right&quot; type=&quot;submit&quot;&gt;Request new password&lt;/button&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              {!! Form::close() !!}
  </code></pre>
  <p>It keeps giving me success, but no e-mail were sent, which made me so upset. No errors, no e-mails.</p>
  <p>Could someone see what I do wrong?</p>