Я использую Laravel Уведомления и пытаюсь отправить электронное письмо методом toMail
. В моем уведомлении нет настоящих логик c.
Ниже приведен класс.
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use App\Models\EmailContentModel;
use App\Traits\NotificationContentOverrides;
class EmailVerification extends Notification
{
use Queueable;
use NotificationContentOverrides;
private $url;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct(String $url)
{
$this->url = $url;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)->view('emails.dynamic');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
Это ошибки с:
Trying to get property 'view' of non-object
Исходя из:
/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php:92
Согласно документам, я должен иметь возможность делать то, что я делаю, то есть возвращать MailMessage
с видом.
Мой взгляд очень прост. Это просто файл, который содержит строку Hello
для целей тестирования.
Вещи, которые я исключил:
dd((new MailMessage)->view('emails.dynamic')->render());
выводит ожидаемую строку, так что это не проблема с представление или путь.
$notifiable
является моделью пользователя. Я вижу атрибут email
там. Это все правильно.
Я изменил настройки своей электронной почты на log
, чтобы исключить это.
Глядя на vendor / laravel / framework / src / Illuminate / Notifications / Channels / MailChannel. php Я не уверен, что все это ожидает некоторой уценки. Я не хочу использовать уценку, я хочу использовать HTML email / view. Это так?
Я могу создать класс Mailable для каждого из моих уведомлений (php artisan make:mail
), но я не уверен, требуется ли это? Согласно документам это не так.