Docs/Feature
// feature
Email (Resend)
Le email transazionali passano da Resend. Setup DNS in 10 minuti (SPF + DKIM), poi mandi email di benvenuto, ricevute, notifiche — tutto dal codice con una sola funzione.
libs/resend.ts
C'è un solo helper: sendEmail. Prende to, subject, text, html e opzionalmente un replyTo. Il from viene dal config.
import { sendEmail } from "@/libs/resend";
await sendEmail({
to: "cliente@example.com",
subject: "Benvenuto su ZeroToShip",
text: "Ciao, grazie per l'acquisto.",
html: "<p>Ciao, grazie per l'acquisto.</p>",
});Due indirizzi mittente
In config.ts, sotto resend, hai due mittenti separati:
fromNoReply— per email automatiche tipo notifiche (es.noreply@resend.tuodominio.com).fromAdmin— per email che sembrano scritte da te (es.alberto@resend.tuodominio.com). È quello usato di default insendEmail.
Magic link
I link di login non passano da sendEmail. Li spedisce Supabase direttamente — devi solo configurare Resend come SMTP nel progetto Supabase (Auth → SMTP Settings) usando le tue credenziali Resend. Da lì i template dei magic link sono modificabili nella dashboard Supabase.
Quando usare sendEmail a mano
Email di benvenuto dopo il primo pagamento, notifiche di eventi, riepiloghi settimanali. Un posto comodo dove chiamarlo è dentro il case checkout.session.completed del webhook Stripe.
Setup DNS e primo invio passo-passo: Configurare le email.