title: Laravel 5 Password Reset Email Not Being Sent
body: <p>I am trying to implement a password reset on my Laravel 5.1 app. I have followed the docs (<a href="http://laravel.com/docs/5.1/authentication#resetting-passwords" rel="nofollow">http://laravel.com/docs/5.1/authentication#resetting-passwords</a>) to get this working. However whenever I click on my 'reset password' button on my <code>/password/email/</code> no email is ever sent. </p>
  
  <p>I have intentionally entered incorrect emails and I am getting the appropriate error however when I enter a correct email no email is sent and I get no type of message or any emails.</p>
  
  <p>I have looked at my database and it does looks as though a password reset token being created, just no email is sent. </p>
  
  <p>My email configuration is working properly as other parts of my application sends email properly, only this one section is not sending the emails. Any help will be appreciated as I do not what else to check.</p>
  
  <p>Michael</p>
  
  <p>routes.php:
  `</p>
  
  <pre><code>// Password reset link request routes...
  Route::get('password/email', ['as' =&gt; 'password/email', 'uses' =&gt; 'Auth\PasswordController@getEmail']);
  Route::post('password/email', 'Auth\PasswordController@postEmail');
  
      // Password reset routes...
      Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');
      Route::post('password/reset', 'Auth\PasswordController@postReset');
  </code></pre>
  
  <p>password.blade.php:</p>
  
  <pre><code>&lt;form id="contact-form" class="contact-section" method="POST" action="/password/email"&gt;
              &lt;input type="hidden" name="_token" value="&lt;?php echo csrf_token(); ?&gt;"&gt;
              &lt;span class="pre-input"&gt;&lt;i class="fa fa-envelope-o"&gt;&lt;/i&gt;&lt;/span&gt;
              &lt;input class="name plain buffer" type="email" name="email" placeholder="Email" value="{{ old('email') }}"&gt;
              &lt;input id="send" class="plain button yellow" type="submit" value="Reset Password"&gt;
                @foreach($errors-&gt;all() as $error)
                &lt;font size="3" color="red"&gt;{{ $error }}&lt;/font&gt;
                @endforeach
  
            &lt;/form&gt; 
  </code></pre>
  
  <p>resources/views/emails/password.blade.php:</p>
  
  <pre><code>Click here to reset your password: {{ url('password/reset/'.$token) }}
  </code></pre>
  
  <p><strong>Update</strong>
  I have added a Log to the postEmail function.</p>
  
  <pre><code>    public function postEmail(Request $request)
  {
      $this-&gt;validate($request, ['email' =&gt; 'required|email']);
  
      $response = Password::sendResetLink($request-&gt;only('email'), function (Message $message) {
          $message-&gt;subject($this-&gt;getEmailSubject());
   Log::info('Password Reset Execute -1 '); //Does work here
  
  
      });
  
      switch ($response) {
  
          case Password::RESET_LINK_SENT:
              return redirect()-&gt;back()-&gt;with('status', trans($response));
  
          case Password::INVALID_USER:
              return redirect()-&gt;back()-&gt;withErrors(['email' =&gt; trans($response)]);
      }
  
      Log::info('Password Reset Execute - 2'); //Will not work here
  }
  </code></pre>