În Laravel, fiecare tip de email expediat este reprezentat de o clasă Mailable. Aceasta configurează subiectul, atașamentele și șablonul Blade randat pentru corpul mesajului.
Metoda Mail::to($destinatar)->send(new Mailable()) trimite emailul sincron, iar varianta Mail::to(...)->queue(new Mailable()) îl deleagă automat cozii de fundal pentru a nu întârzia răspunsul HTTP.
Exemplu: Clasă Mailable modernă în Laravel 11
namespace App\Mail;
use App\Models\Order;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class OrderShippedMailable extends Mailable
{
use Queueable, SerializesModels;
public function __construct(public Order $order) {}
public function envelope(): Envelope
{
return new Envelope(subject: 'Comanda dvs. #' . $this->order->id . ' a fost expediată!');
}
public function content(): Content
{
return new Content(view: 'emails.orders.shipped');
}
}
Întrebări & Exemple de Cod:
Expedierea Emailurilor Tranzacționale cu MailablesAi o nelămurire despre utilizarea comenzii
Expedierea Emailurilor Tranzacționale cu Mailablessau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.