> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Añadir el email con Resend

Crea una cuenta de Resend gratuita, verifica un dominio de envío y cambia EMAIL_PROVIDER para que los códigos y recibos lleguen a bandejas de entrada reales.

## Guía paso a paso para principiantes

Prerrequisitos: la app corriendo en local (Lanza en 5 minutos). Empieza gratis — sin tarjeta, y el nivel gratuito de Resend cubre los volúmenes de desarrollo.

Términos rápidos: `EMAIL_PROVIDER=local` es el predeterminado — los mensajes se escriben en la página incorporada `/mail-preview` y nunca salen de tu máquina, lo cual es perfecto mientras construyes. Resend es el adaptador que entrega en bandejas de entrada reales. `EMAIL_FROM` es la identidad de remitente que usan las plantillas; su dirección debe estar en un dominio que Resend haya verificado. Los registros DNS son las líneas que pegas en tu registrador o en Cloudflare para que los buzones receptores confíen en tu remitente.

Lo que creas: una cuenta de Resend, un dominio de envío verificado y una clave de API — el paso del dominio es la única parte de espera, ya que la propagación de DNS va de minutos a horas.

[Configurar la base de datos](https://supastack.dev/es/docs/web/setup-database.md)


## Crear la cuenta de Resend

1. Abre [resend.com](https://resend.com) → Sign up, confirma tu email y llegas al panel.

2. Empieza con el nivel gratuito — incluso puedes enviar correo de prueba desde el remitente compartido de Resend antes de tener un dominio, que es lo que cubre la siguiente sección.


## Verificar tu dominio de envío

Prueba rápida sin dominio: la dirección `onboarding@resend.dev` funciona como `EMAIL_FROM` de inmediato — pero solo entrega al email con el que te registraste, nunca a usuarios. Úsala para ver la tubería funcionar y luego haz la configuración real.

1. Abre Domains → Add Domain e introduce el dominio desde el que envías (por ejemplo `yourdomain.com`; un subdominio como `mail.yourdomain.com` también funciona y mantiene los registros ordenados).

2. Resend lista los registros DNS a crear — registros TXT de DKIM más entradas MX/SPF o CNAME según la antigüedad de la cuenta. Añade cada uno en tu proveedor de DNS: la página de DNS de tu registrador, o Cloudflare si moviste los nameservers. En Cloudflare mantén la nube del proxy en gris (DNS only) para los registros de correo — los registros proxied nunca verifican.

3. De vuelta en Resend haz clic en Verify. Esperado: el dominio pasa a Verified. La propagación varía de minutos a un día; la página del dominio nombra el registro exacto que aún no resuelve.

Una vez verificado, cualquier dirección del dominio funciona como remitente — `hello@`, `no-reply@`, lo que use `EMAIL_FROM` — sin registro por dirección.


## Crear la clave de API

1. Abre API Keys → Create API Key.

2. Permission: Sending access es suficiente — el kit solo envía. Nombra la clave por su entorno (`production`, `local`) para que una clave de desarrollo filtrada pueda revocarse sin tocar producción.

3. Copia la clave `re_…` ahora — se muestra una vez. Perderla solo significa crear otra.


## Añadir los valores a la app

Escribe las líneas de abajo en `apps/web/.env.local`. `RESEND_API_KEY` es solo de servidor — nunca `NEXT_PUBLIC_`/`EXPO_PUBLIC_`, nunca commiteado; `EMAIL_PROVIDER` y `EMAIL_FROM` son configuración simple. Reinicia el servidor de desarrollo después de editar.

`EMAIL_FROM` debe estar en el dominio verificado: `onboarding@resend.dev` solo llega a tu propia dirección de registro, y un dominio no verificado recibe un rechazo 403 de Resend.

```
# apps/web/.env.local
EMAIL_PROVIDER=resend
EMAIL_FROM="Your Product <hello@yourdomain.com>"
RESEND_API_KEY=re_…
```


## Verificar y solucionar problemas

Reinicia, abre `/auth` y pide un código de inicio de sesión a una bandeja de entrada real que controles. Esperado: el mensaje llega, y Resend → Emails muestra la entrega con estado verde — ese registro es también donde viven los motivos de rebote y error.

¿No se envió nada? Comprueba que `EMAIL_PROVIDER=resend` se guardó de verdad en `apps/web/.env.local` y reinicia. Un 403 en el registro del servidor significa que `EMAIL_FROM` no está en el dominio verificado — o que `onboarding@resend.dev` se envió a alguien que no eres tú.

¿Otro proveedor más adelante? `EMAIL_PROVIDER` también acepta `ses` (con las claves de AWS) y los transportes `postmark`, `sendgrid`, `mailgun`, `smtp`, `brevo` — mismo contrato de `EMAIL_FROM`, nombres de env distintos, todos listados en `.env.example`. La guía de email los compara.

[Comparar los proveedores de email](https://supastack.dev/es/docs/web/setup-email.md)

[Reunir a continuación las claves de proveedor restantes](https://supastack.dev/es/docs/web/provider-keys.md)


Si quieres continuar la configuración, lee [Configurar el correo de Amazon SES](https://supastack.dev/es/docs/web/aws-ses.md).


## Siguiente

[Configurar el correo de Amazon SES](https://supastack.dev/es/docs/web/aws-ses.md)
