You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Mail类时参数不足:需传1个参数但实际传0个,求排查

问题:Laravel Mailable发送邮件提示参数不足错误

我尝试使用Mailable类发送简单邮件,完全按照网上教程操作,但仍报错:Too few arguments to function, 0 passed in and exactly 1 expected when using Mail,相关代码如下:

TestMail.php

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class TestMail extends Mailable
{
    use Queueable, SerializesModels;

    public $details;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($details)
    {
        $this->details = $details;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject('Test Mail from Duke')->view('emails.TestMail');
    }
}

MailController.php

<?php

namespace App\Http\Controllers;

use App\Mail\TestMail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;

class MailController extends Controller
{
    //
    public function sendEmail()
    {
        $details = [
            'title' => 'The Title',
            'body' => 'The body should be fine',
        ];
        Mail::to("sirduketylo@gmail.com")->send(new TestMail());
        return "Email Sent";
    }
}

路由文件

<?php

use App\Http\Controllers\MailController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/send', [MailController::class, 'sendEmail']);

解决方案

错误原因:TestMail类的构造函数明确要求传入一个$details参数,但你在实例化TestMail时没有传递该参数。

修改MailController中的sendEmail方法,将定义好的$details传入TestMail的实例化语句中:

public function sendEmail()
{
    $details = [
        'title' => 'The Title',
        'body' => 'The body should be fine',
    ];
    // 传入$details参数
    Mail::to("sirduketylo@gmail.com")->send(new TestMail($details));
    return "Email Sent";
}

修改后即可满足构造函数的参数要求,解决该错误。

内容的提问来源于stack exchange,提问作者Jojo Amankwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:45:41