Otázka 14 / 15

Oslovení v e-mailech

Zákazníci se ozývají, že je e-mail „Vaše objednávka je na cestě“ oslovuje „Vážený pane Nováku“, a paní Malá se podpory ptá, odkdy je z ní pan Novák. Potvrzení objednávky, které odchází hned po odeslání košíku, má jméno správně. Po včerejším nasazení se pro změnu všichni jmenují paní Dvořáková. Tady je část modulu, která e-maily o odeslání posílá. Co se děje a co bys udělal?

Ctrl/Cmd+klik na metodu, třídu nebo konstantu otevře její deklaraci, Alt+← vrátí zpět.

app › Jobs › SendShipmentEmail.php
<?php declare(strict_types=1);

namespace App\Jobs;

use App\Mail\ShipmentMail;
use App\Models\Order;
use App\Services\Mail\CustomerMailPersonalizer;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Mail\Mailer;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\SerializesModels;

final class SendShipmentEmail implements ShouldQueue
{
    use Queueable;
    use SerializesModels;

    public function __construct(public readonly Order $order)
    {}

    public function handle(CustomerMailPersonalizer $mailPersonalizer, Mailer $mailer): void
    {
        $mailer->to($this->order->email)->send(new ShipmentMail(
            order: $this->order,
            subject: $mailPersonalizer->subjectFor($this->order),
            greeting: $mailPersonalizer->greetingFor($this->order),
        ));
    }
}