Novità in Symfony 8.2: template email ospitati dal provider e controllo del tracking (Symfony Blog)
Molti provider di email (Brevo, Mailgun, Mailjet, ecc.) includono un builder visuale drag-and-drop per i template delle email. Questo permette a persone non tecniche, come i team di marketing o di supporto, di progettare email e aggiornarne il contenuto quando serve. Tuttavia, se le tue email usano template Twig memorizzati nella tua applicazione, quelle stesse persone non possono modificarli senza chiedere a uno sviluppatore.
Usare template memorizzati nell'account del provider risolve questo problema, ma finora Symfony Mailer non aveva un modo comune per utilizzarli. Al contrario, alcuni bridge si affidavano a header speciali (come templateid in Brevo o X-MJ-TemplateID in Mailjet).
Symfony 8.2 introduce una nuova classe RemoteTemplateEmail. Invece di costruire tu stesso il corpo dell'email, passi il riferimento al template e le variabili di cui il provider ha bisogno per renderizzarlo:
Il riferimento al template è sempre una stringa (un ID, UUID, nome o alias, a seconda del provider) e ogni transport lo converte nel tipo atteso dalla sua API. Tutto il resto (destinatari, allegati, tag, metadati, ecc.) funziona esattamente come in una normale Email. Puoi anche impostare un oggetto per sovrascrivere quello definito nel template, tranne con Amazon SES, Mailtrap e Postmark, che non supportano questa possibilità.
Questa funzionalità è supportata dai transport API di Amazon SES, Brevo, MailerSend, Mailgun, Mailjet, Mailtrap, Mandrill, Postmark, Resend e SendGrid.
Il tracking delle aperture e dei clic sulle email è di solito un'impostazione globale nell'account del provider, quindi si applica a tutte le tue email. Tuttavia, le normative sulla privacy possono richiedere di chiedere il consenso a ogni utente prima di tracciarlo. Il nuovo TrackingHeader ti permette di sovrascrivere l'impostazione del provider per una singola email e ogni bridge lo mappa sul meccanismo nativo del provider:
Entrambi gli argomenti sono opzionali. Quando un argomento è null, per quel tipo di tracking viene usata l'impostazione del provider.
Se un'email non aggiunge questo header (per esempio, le email inviate da bundle di terze parti), si applica l'impostazione del provider. Per andare sul sicuro, usa la nuova opzione tracking per disattivare il tracking per impostazione predefinita su tutte le email. Un header aggiunto a una singola email ha sempre la precedenza su questa opzione:
Questa funzionalità è supportata da AhaSend, Azure, Brevo, Infobip, Mailchimp, MailerSend, Mailgun, Mailjet, Postmark e SendGrid. Con gli altri transport, viene inviato come normale header X-Track e non ha alcun effetto.
Leggi la documentazione del Mailer per tutti i dettagli su queste funzionalità, incluso il comportamento specifico di ogni provider.
Altri articoli recenti
Laravel AI 1.1 e 1.2: Agent Skills, Cohere e structured output più solidi
Le release 1.1.0 e 1.2.0 di laravel/ai portano gli Agent Skills, l'approvazione obbligatoria per i tool built-in e nuovi provider come Cohere e Laya self-hosted. Sul fronte qualità arrivano i fix allo structured output per Bedrock e il supporto alle provider options. Aggiornati anche i modelli di default, con Claude 4.7+ che ignora i sampling params.
Laravel 13.35.0: scheduler più controllabile, code più flessibili e response Markdown
Laravel 13.35.0 porta Schedule::alwaysOnOneServer(), il supporto a schedule:interrupt per i comandi di lunga durata, --memory in percentuale per queue:work e il nuovo metodo markdown() sulla response factory. Tante piccole migliorie anche a test, view compilate in parallelo e dischi local.
BashBox: un interprete Bash in sandbox per agenti AI in PHP
BashBox è un interprete bash scritto in puro PHP che permette di eseguire gli script generati dagli agenti AI senza mai ricorrere a proc_open, exec o shell_exec. Ogni comando è una classe PHP che lavora su un filesystem virtuale, con limiti di esecuzione, quote disco e accesso di rete configurabili. Ideale per chi sviluppa agenti con il Laravel AI SDK o altre librerie simili.