我使用的是Laravel 7和PHP 7.4。
我正在使用Mailtrap处理测试电子邮件。我刚刚将我的Laravel版本升级到7.4,我的电子邮件已经停止工作。当我尝试发送演示电子邮件时,出现以下错误
Trying to access array offset on value of type null问题就在这里:
{{ $mailData['title'] }}控制器:
class MailController extends Controller {
public function sendEmail() {
$email = 'positronx@gmail.com';
$mailData = [
'title' => 'Demo Email',
'url' => 'https://www.positronx.io'
];
Mail::to($email)->send(new EmailDemo($mailData));
return response()->json([
'message' => 'Email has been sent.'
], Response::HTTP_OK);
}
}MailFile:
class EmailDemo extends Mailable
{
use Queueable, SerializesModels;
public $mailData;
public function __construct()
{ }
public function build()
{
return $this->markdown('email.demoEmail')
->with('mailData', $this->mailData);
}
}刀片:
@component('mail::message')
{{ $mailData['title'] }}
The body of your message.
@component('mail::button', ['url' => $mailData['url']])
Button Text
@endcomponent
Thanks,<br>
{{ config('app.name') }}
@endcomponent发布于 2020-08-24 04:09:16
您忘记了在constructor()中设置$mailData,将其传递给构造函数并将其设置为$this->maildata。
class EmailDemo extends Mailable
{
use Queueable, SerializesModels;
public $mailData;
public function __construct($mailData)
{
$this->mailData = $mailData;
}
}发布于 2020-08-24 04:21:57
您尚未初始化邮件通知类中的$mailData。您可以按如下方式操作:
class EmailDemo extends Mailable
{
//your other code
public $mailData;
public function __construct($mailData)
{
$this->mailData = $mailData;
}
}希望它现在能正常工作。
https://stackoverflow.com/questions/63551386
复制相似问题