Le funzionalità email di Laravel
Le funzionalità email di Laravel sono costruite su Symfony Mailer e supportano driver come SMTP, Mailgun, Postmark, Resend, Amazon SES, sendmail.SwiftMailer è stato dismesso. Da Laravel 9 si usa Symfony Mailer.
config/mail.php. Nel .env scegli il driver.
Creare una Mailable
Ogni email inviata è rappresentata da una classe “Mailable”.app/Mail/.
Configurazione della Mailable
Contieneenvelope(), content(), attachments().
Mittente
config/mail.php.
Corpo del messaggio
content() indica una vista Blade. Le proprietà public del costruttore sono disponibili nella vista.
resources/views/mail/orders/shipped.blade.php):
with (proprietà protected/private).
Invio
Con la facadeMail, usa to() e send().
Invio via coda
ShouldQueue, anche send() mette in coda.
Connection e coda tramite attribute PHP
Con gli attribute PHP dichiari connection e coda a livello di classe.Email Markdown
Con il Markdown usi i template Blade responsive di Laravel.Anteprima delle email
Restituendo l’istanza Mailable da una route puoi visualizzare l’email nel browser.Mail::fake().
Email in sviluppo locale
Per non inviare email reali in sviluppo, usa Mailpit.Con il driver
log le email vengono scritte nel file di log: il modo più semplice per verificarle.