Módulo de Email Transaccional
Emails disparados por eventos para Next.js App Router, construidos sobre Resend. Es independiente del módulo de email de propósito general: enviá el que necesite tu app después de cada evento.
Dependencias
resend
Archivos
| Archivo | Propósito |
|---|---|
types.ts | Parámetros de cada email transaccional |
service.ts | Lógica interna: cliente de Resend y funciones de envío por evento. No lo importes directamente. |
actions.ts | API pública: funciones "use server" para importar desde tu app |
.env.local | Variables de entorno |
Variables de entorno
RESEND_API_KEY=
EMAIL_FROM=
RESEND_API_KEY: la encontrás en tu dashboard de Resend, en API Keys.EMAIL_FROM: la dirección de remitente por defecto. El dominio tiene que ser un dominio verificado en tu cuenta de Resend.
Uso
Importá desde actions.ts la función del evento que necesites.
import { sendVerificationEmail } from "@/lib/email-transactional/actions";
await sendVerificationEmail({
to: "user@example.com",
verificationUrl: "https://app.com/verify?token=...",
userName: "Dari",
});
Funciones disponibles
| Función | Params requeridos | Params opcionales |
|---|---|---|
sendVerificationEmail | to, verificationUrl | userName |
sendPasswordResetEmail | to, resetUrl | expiresInMinutes |
sendWelcomeEmail | to, userName | — |
sendInvitationEmail | to, inviterName, organizationName, invitationUrl | — |
sendPaymentConfirmationEmail | to, amount, currency, paymentDate | invoiceUrl |
sendSubscriptionConfirmationEmail | to, planName, renewalDate | — |
sendInvoiceEmail | to, invoiceNumber, amount, currency, invoiceUrl | — |
sendNotificationEmail | to, title, message | actionUrl |
Forma del resultado
Todas las funciones devuelven el mismo tipo de resultado:
type SendEmailResult =
| { success: true; id: string }
| { success: false; error: string };
Verificá result.success antes de asumir que el email se envió.