Skip to content

Configuración de Email (Resend)

SFS usa Resend para emails transaccionales: confirmaciones de reserva, cancelaciones, recordatorios y notificaciones de expiración.

Registrate en resend.com. El tier gratuito incluye 100 emails/día (3,000/mes).

Dashboard → API KeysCreate API Key → copiá la key (formato re_xxxxx).

Terminal window
RESEND_API_KEY=re_xxxxx

Para enviar desde tu propio dominio:

  1. Dashboard → DomainsAdd Domain
  2. Agregá los registros DNS que Resend te indica (MX, DKIM, SPF)
  3. Una vez verificado, actualizá el FROM en src/lib/email.ts:
const FROM = "SFS <[email protected]>";

Para desarrollo/test, podés usar [email protected] sin verificar dominio (solo envía a tu email registrado).

Los templates de email están en src/lib/email.ts. Hay dos sets:

Evento Subject
Reserva creada ⚽ Reserva pendiente — Cancha X fecha
Reserva confirmada ✅ Reserva confirmada — Cancha X fecha
Reserva cancelada ❌ Reserva cancelada — Cancha X fecha
Partido completado 🏆 ¿Cómo estuvo? — Cancha X fecha
Reserva expirada ⏰ Reserva expirada — Cancha X fecha
Evento Subject
Reserva creada ❌ No se envía (evitar spam)
Pago confirmado ✅ Pago recibido — Cancha X fecha
Reserva cancelada ❌ Cancelación — Cancha X fecha
Cambio de estado de reserva
notificarCambioReserva()
┌────┴────┐
│ │
▼ ▼
In-app Email
(DB) (Resend)

Los emails se envían como fire-and-forget — si Resend falla, la operación de reserva no se ve afectada. Los errores se loguean en consola.

En desarrollo, si RESEND_API_KEY no está configurada, los emails se skippean con un log:

[EMAIL] Resend no configurado — skip: ⚽ Reserva pendiente...

Para ver todos los emails enviados (incluyendo fallidos), revisá el dashboard de Resend → Emails.