我正在尝试为电子邮件设置主题行,但Laravel继续使用类名" FormCompleted"作为主题,这里是我的代码:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class FormCompleted extends Mailable
{
use Queueable, SerializesModels;
protected $data;
/**
* Create a new message instance.
*
* @param $data
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject('Form submitted')
->view('emails.form-completed')
->with('data', $this->data);
}
}
编辑1:问题仅出在我的本地服务器上,它可以在我的生产服务器上运行
答案 0 :(得分:1)
我们可能需要查看用于实现FormCompleted
Mailable类的代码并发送电子邮件,甚至可能是您的电子邮件Blade视图。这将有助于进一步调试。
但是,我测试了您的代码,我按正常情况按正确的主题发送了电子邮件。
我做的唯一更改是使用->with($this->data)
而不是->with('data', $this->data);
(如何拥有它),因为$data
对象中定义的属性是视图使用的属性。
public function build()
{
return $this->subject('Testing Email 2')
->view('foo.mail2')
->with($this->data);
}
否则我会遇到错误(视图尝试使用不可用的属性,因为视图一直在寻找data
属性)。