notiziephp.it

Novità in Symfony 8.2: template email ospitati dal provider e controllo del tracking (Symfony Blog)

Traduzione da Symfony Blog
24 Settembre 2026 Tempo di lettura: 3 minuti
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.

Condividi su: LinkedIn

Altri articoli recenti