使用Mail::raw()传递的参数太少,Laravel

使用Mail::raw()传递的参数太少,Laravel,laravel,Laravel,我不断地发现这个错误: "Type error: Too few arguments to function App\Http\Controllers\PageController::App\Http\Controllers\{closure}(), 1 passed and exactly 2 expected" 对于这段代码: public function contact(Request $request) { Mail::raw($request->message, f

我不断地发现这个错误:

"Type error: Too few arguments to function App\Http\Controllers\PageController::App\Http\Controllers\{closure}(), 1 passed and exactly 2 expected"
对于这段代码:

public function contact(Request $request)  {
    Mail::raw($request->message, function($message, $request)
     {
         $message->from($request->email, $request->name);

         $message->to('info@test.com');
     });
      return view('quotation.index');  
}

$request->email
更改为电子邮件字符串时,该功能不起作用。但是电子邮件需要来自在laravel表单中输入的电子邮件。有人能帮我解决这个问题吗?

您遇到这个错误是因为您将变量传递给闭包,但传递方式错误

如果要传递变量,必须在闭包中使用
use($request)

public function contact(Request $request)  {
    Mail::raw($request->message, function($message) use ($request)
     {
         $message->from($request->email, $request->name);

         $message->to('info@test.com');
     });
      return view('quotation.index');  
}

希望这能有所帮助。

您会遇到此错误,因为您将变量传递给闭包,但传递方式错误

如果要传递变量,必须在闭包中使用
use($request)

public function contact(Request $request)  {
    Mail::raw($request->message, function($message) use ($request)
     {
         $message->from($request->email, $request->name);

         $message->to('info@test.com');
     });
      return view('quotation.index');  
}

希望这能有所帮助。

您在这一行中遇到错误
$message->from($request->email,$request->name)?您在这一行
$message->from($request->email,$request->name)上遇到错误