engagement

Mail transazionali con template

Invio email transazionali via SMTP/API (Postmark, SendGrid, Mailgun, SES) con layout base, variabili dinamiche e tracking.

Cosa fa questo modulo

Sistema di invio email transazionali (conferme ordine/prenotazione, reset password, OTP, ricevute, notifiche di stato, reminder, welcome onboarding, fatture allegate) tramite provider SMTP/API (Postmark, SendGrid, Mailgun, Amazon SES, Mailjet, Brevo/Sendinblue) con driver Laravel Mail nativo e fallback provider su quota o errore. Provisioning dominio: configurazione SPF, DKIM (chiave 2048 bit con rotazione), DMARC (policy quarantine/reject con report rua/ruf), MX dedicato opzionale, BIMI con logo verificato VMC/CMC, IP dedicato per volumi alti con warmup graduale, custom return-path per bounce. Template engine: layout base responsive (mobile-first, dark mode aware, max 600px, tabelle nested per compat Outlook, inline CSS via post-processing, MJML o Markdown→HTML supportati), header con logo brand e variabili azienda, footer con dati legali (ragione sociale, P.IVA, sede, link privacy/preferenze, unsubscribe one-click per RFC 8058 List-Unsubscribe-Post), slot contenuto centrale con componenti riusabili (titolo, paragrafo, CTA button, tabella ordine/items, divider, immagine, codice OTP, allegato badge). Variabili dinamiche: sintassi Blade/Twig per token ({{ utente.nome }}, {{ ordine.totale|currency }}, {{ link_attivazione }}, {{ codice_otp }}), formatter built-in (date, currency, locale), fallback su variabile mancante, escape HTML automatico anti-XSS, supporto loop su items (righe ordine, prodotti). Editor template backoffice: WYSIWYG con preview live desktop/mobile/dark, validatore variabili (warning se token in template ma non passato al render), test send a indirizzo arbitrario, A/B testing oggetto/preheader, copia/clona template, versionamento con rollback, multi-lingua per template (it/en/es/de/fr con fallback default). Categorie e DB: tabella mail_templates (slug, lingua, oggetto, preheader, body_html, body_text, variabili_dichiarate JSON, versione, status draft/published, last_test_at, owner_user), tabella mail_layouts (header/footer riusabili per brand multipli o whitelabel cliente). Composizione: oggetto con personalizzazione ({{ nome }}, dinamica preheader 80–120 char ottimizzata per inbox preview), versione plain-text automatica generata da HTML (obbligatoria per delivery reputation), attachments via path/storage/stream con limite dimensione e scansione antivirus opzionale, embedded image CID per logo inline. Coda e invio: dispatch su queue Laravel dedicata (mail, mail-priority per OTP) con worker separato, rate limiting per provider per evitare throttle (es. SES 14 msg/s sandbox→production), retry exponential backoff su 4xx/5xx transient, dead-letter queue per fallimenti permanenti con notifica admin, idempotency key per evitare invii duplicati su retry. Tracking: open (pixel 1x1 con opt-out per privacy), click su link riscritti via redirect tracking (UTM auto-aggiunte), bounce (hard/soft con suppression list automatica), complaint (FBL ISP feedback loop), unsubscribe via link e header List-Unsubscribe one-click, delivery webhook provider (sent/delivered/deferred/dropped/bounced), report per template (open rate, click rate, bounce rate, unsubscribe rate, reputation IP). Compliance e privacy: GDPR (consenso documentato per marketing, transazionali esenti ma legittimo interesse, registro trattamenti, opt-out immediato), CAN-SPAM (US), allineamento policy Google/Yahoo bulk sender 2024 (DMARC obbligatorio >5K msg/giorno, one-click unsubscribe, spam rate <0.3%), suppression list cross-progetto, no inserimento email in URL tracking (privacy by design). Sicurezza: token API in env, signing webhook provider validato (HMAC), rate limit per template e per destinatario anti-abuso (es. max 5 reset password/ora per email), audit log invii con utente che ha triggerato, mascheramento PII in log applicativi. Casi d'uso transazionali: conferma registrazione con doppio opt-in, reset password con token TTL 30min, OTP 2FA login, conferma ordine/prenotazione con riepilogo, notifica spedizione con tracking corriere, ricevuta pagamento con fattura PDF allegata, reminder appuntamento 24h prima, scadenza abbonamento, welcome onboarding multi-step (giorno 0/3/7), nuovo messaggio in chat, alert di sistema (manutenzione, fatturazione). Integrazioni: gestionali (trigger su evento prenotazione/ordine/scadenza), CRM, e-commerce (Stripe webhook → ricevuta), helpdesk (notifica ticket), auth (Laravel Notification channel). Differenza da #8332 SMS gateway e #8333 WhatsApp Business API: email è gratuita per il destinatario e supporta contenuto ricco/allegati ma ha rate aperture/click più bassi e latenza maggiore; spesso usata in cascata per i transazionali (ricevuta via email + notifica push, OTP via SMS+email, conferma ordine via email + WhatsApp). Costo: a volume provider (es. SES €0.0001/email, Postmark €0.001/email, SendGrid €0.0008/email a scaglioni), tipicamente €5–50/mese per progetto medio + setup template iniziale.

Esempi d'uso

  • engagement

Demo correlate

Disponibile nei pacchetti