Laravel:如何在使用Mailable发送电子邮件时自定义电子邮件的标题?

时间:2017-09-15 18:00:34

标签: laravel-5

我写了一个mailable来在用户注册时发送电子邮件,我按照文档(https://laravel.com/docs/5.5/mail)执行此操作:

首先,生成一个可邮寄的内容:

php artisan make:mail UserRegistered

好的,因此UserRegistered.php目录中有一个app/Mail文件,我写这样的build()方法:

public function build()
{
    return $this->view('emails.activate-user')
                ->with([
                    'name' => $this->user->name,
                    'url' => route('activateUser',['token'=>$this->user->confirmation_token])
                ]);
}

电子邮件可以成功发送,电子邮件的标题是User Registered,我想自定义标题,怎么做?

1 个答案:

答案 0 :(得分:13)

您必须使用subject方法

public function build()
{
    return $this->view('emails.activate-user')
                ->subject("My mail title")
                ->with([
                    'name' => $this->user->name,
                    'url' => route('activateUser',['token'=>$this->user->confirmation_token])
                ]);
}

或者更新你的邮件类的构造函数

public function __construct()
    {

        $this->subject('Sample title');
    }