Php 邮件未从ajax post请求发送到laravel 5

Php 邮件未从ajax post请求发送到laravel 5,php,ajax,email,laravel-5,Php,Ajax,Email,Laravel 5,我正在开发laravel 5.0应用程序中的忘记密码功能。我要求用户输入注册的电子邮件并提交(post方法)。此表单适用于jQueryAjax post请求。收到请求的电子邮件后,我正在db中检查它是否存在。如果存在,我正在更新新密码,如果不发送一个错误消息到这每一个是好的。现在我正试图发送新密码的电子邮件给用户,它不工作。密码正在更新,但未发送电子邮件。请在下面查找我的控制器代码 public function forgot_pass(Request $request){ $

我正在开发laravel 5.0应用程序中的忘记密码功能。我要求用户输入注册的电子邮件并提交(post方法)。此表单适用于jQueryAjax post请求。收到请求的电子邮件后,我正在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('us@example.com', 'Laravel');

                        $message->to($email);

                    });

                    return response()->json(['status' => 'Invalid']);
                }

        }

    }
事实上,如果我使用
$message->to('sometest@testmail.com');而不是
$message->to($email)。下面是我得到的错误。


感到奇怪为什么
$email
会导致错误。

您必须将
$email
传递给匿名函数

Mail::send('emails.newpassword', $mail_data, function($message) use ($email) {
...
});

您在路由中调用url的方法错误。@Autista_z什么方法错误?我没有得到你。