For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /it/docs/web/email.md (or send Accept: text/markdown).
Email e invio
Template transazionali, strumenti di anteprima e adattatori provider.
Leggi il tuo primo messaggio locale, quindi abilita la consegna
Per email transazionale si intende un messaggio attivato da un'azione dell'app, ad esempio un codice di accesso o il risultato di un'attività. Con il server Web in esecuzione, mantieni EMAIL_PROVIDER=local in apps/web/.env.local. Completa la configurazione del database, richiedi un codice di accesso a /auth, quindi apri /mail-preview e controlla l'ultimo messaggio. Un messaggio locale visualizzato qui non è un'e-mail recapitata alla tua casella di posta esterna.
Per inviare messaggi reali, scegli un provider di posta elettronica, crea il suo account, verifica un dominio che controlli e segui la sua guida dedicata. Inserisci la chiave denominata API e l'indirizzo del mittente in apps/web/.env.local, salva e riavvia il server Web. Richiedi un nuovo codice di accesso, quindi controlla sia il registro di consegna del provider che la casella di posta di destinazione, incluso lo spam. La verifica del dominio e l'approvazione del mittente possono richiedere tempo.
Se il messaggio non riesce, controlla l'errore di consegna e la verifica del mittente prima di richiedere ripetutamente. Il percorso /mail-preview è solo per lo sviluppo e restituisce 404 in produzione. Mantieni la comunicazione di marketing separata da questo mittente transazionale in modo che una campagna di newsletter non possa interrompere la posta di verifica dell'account.
Mantieni la consegna transazionale separata
Il modulo email gestisce i messaggi transazionali di prodotto, inclusi auth e avvisi di completamento attività. L'outreach appartiene al flusso proprio del prodotto consumatore e deve restare separato da questo percorso transazionale.
Configura l'adattatore di consegna
Usa l'adattatore locale per i test deterministici. Configura l'adattatore di produzione scelto e le sue credenziali server prima di attivare la consegna esterna. Non mettere mai i segreti del provider email nella configurazione client o nei log.
Registra la consegna indipendentemente
Un risultato generato e la sua email di completamento hanno esiti separati. Ispeziona i record di consegna prima di affermare che un messaggio è stato inviato. Testa una consegna fallita senza trattarla come una generazione fallita né inviare lavoro di modello duplicato.
Installazione e configurazione
EMAIL_PROVIDER=local mantiene la consegna deterministica durante lo sviluppo. Per la consegna in produzione scegli uno degli adattatori configurati — Resend (RESEND_API_KEY), AWS SES (AWS_REGION più le chiavi di accesso), Postmark, SendGrid, Mailgun, SMTP generico o Brevo — e verifica che EMAIL_FROM corrisponda a un'identità mittente che il provider accetta.
Tutti i template vivono in src/transactional-mail-templates.ts. La route /mail-preview riservata allo sviluppo renderizza ogni template così le modifiche si revisionano visivamente invece di inviare mail.
EMAIL_PROVIDER=resend
EMAIL_FROM=Your Product <[email protected]>Flusso di implementazione
Codici di autenticazione, magic link, inviti, avvisi di fatturazione e mail di completamento task passano tutti attraverso lo stesso mittente transazionale con il testo della locale risolta. Le campagne di outreach sono una preoccupazione di prodotto separata e non condividono mai questo percorso.
Visualizza un template in anteprima in mail-preview prima di modificare testo o layout; mantieni i valori del brand (nome, colori, tile del logo) provenienti dalla configurazione così i prodotti derivati restilano senza forkare i template.
Verifica e risoluzione dei problemi
Nei test asserisci sui messaggi registrati dell'adattatore locale — destinatario, oggetto e corpo renderizzato. Un invio fallito deve emergere come esito di consegna, non come workflow crashato. Usa il percorso smoke opzionale con REAL_SMOKE_EMAIL_ALLOWED_DOMAIN per la consegna reale.