Как настроить тему электронной почты с помощью Laravel 5.5 - PullRequest
0 голосов
/ 26 октября 2018

У меня есть событие, которое вызывает слушателя, как только в системе создается транспортное средство.

Это мое мероприятие:

class VehicleCreated
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    private $vehicle;

    public function __construct(Vehicle $vehicle)
    {
        $this->vehicle = $vehicle;
    }

    public function getVehicle()
    {
        return $this->vehicle;
    }

    public function broadcastOn()
    {
        return new PrivateChannel('channel-name');
    }
}

Это мой слушатель:

class SendSchedulingConfirmationListener implements ShouldQueue
{
    use InteractsWithQueue;

    public function handle(VehicleCreated $event)
    {
        $vehicle = $event->getVehicle();
        $lead = $vehicle->lead;
        Mail::to($lead->email)
            ->queue(new SchedulingConfirmation($vehicle, $lead));
    }
}

Я использовал команду ремесленника для создания электронного письма:

php artisan make:mail SchedulingConfirmation --markdown=emails.leads.scheduling.confirmation

У меня проблемы с настройкой темы письма, в настоящее время мой класс выглядит так:

class SchedulingConfirmation extends Mailable
{
    use Queueable, SerializesModels;

    public $vehicle;
    public $lead;

    public function __construct(Vehicle $vehicle, Lead $lead)
    {
        $this->vehicle = $vehicle;
        $this->lead = $lead;
    }

    public function build()
    {
        return $this
            ->subject('This is my subject')
            ->markdown('emails.leads.scheduling.confirmation');
    }
}

Когда я отправляю электронное письмо, оно приходит в почтовом ящике с темой Подтверждение планирования

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Вы можете просто передать тему при создании нового почтового сообщения:

$subject = 'truly awesome subject line';

Mail::to($lead->email)
        ->queue(new SchedulingConfirmation($vehicle, $lead, $subject));

Итак, в своем классе просто добавьте $subject в качестве параметра в конструкторе:

class SchedulingConfirmation extends Mailable
{
    use Queueable, SerializesModels;

    public $vehicle;
    public $lead;

    public function __construct(Vehicle $vehicle, Lead $lead, $subject)
    {
        $this->vehicle = $vehicle;
        $this->lead = $lead;
        $this->subject = $subject
    }

    public function build()
    {
        return $this
            ->subject($this->subject)
            ->markdown('emails.leads.scheduling.confirmation');
    }
}
0 голосов
/ 26 октября 2018

установить тему в конструкторе Mailable

    class SchedulingConfirmation extends Mailable
    {
        use Queueable, SerializesModels;

        public $vehicle;
        public $lead;

        public function __construct(Vehicle $vehicle, Lead $lead)
        {
            $this->vehicle = $vehicle;
            $this->subject('This is my subject');
            $this->lead = $lead;
        }

        public function build()
        {
            return $this
                ->markdown('emails.leads.scheduling.confirmation');
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...