Configuración
Resend paso a paso (emails)
Crea tu cuenta, saca tu API key y manda tu primer email transaccional.
¿Cuándo lo necesitas?
Opcional. Solo cuando quieras que tu app envíe correos (bienvenida, confirmaciones). Puedes dejarlo para cuando esa feature te haga falta.
Resend es el servicio que hace que tu app pueda enviar correos: el email de bienvenida cuando alguien se registra, la confirmación de una compra, un aviso de "restablece tu contraseña". Piensa en Resend como el cartero de tu app: tú le das la carta y él la entrega.
Correo transaccional = un correo automático que dispara una acción del usuario (registrarse, comprar, etc.), no una campaña de marketing. Eso es lo que configuras aquí. Para ver cómo tu app los usa, mira la feature de email.
Paso 1 · Crea tu cuenta
- Entra a resend.com → Sign up.
- Lo más rápido: haz clic en Continue with GitHub y autoriza. (Si ya tienes cuenta de GitHub del curso, con eso entras.)
- Verifica tu email si te lo pide. Listo, ya estás en el dashboard.
Paso 2 · Saca tu API key
La API key es como una contraseña que le da tu app a Resend para decir "soy yo, déjame enviar correos".
- En el menú izquierdo del dashboard → API Keys.
- Haz clic en Create API Key.
- Ponle un nombre que recuerdes (ej.
vibefast-dev) y créala. - Cópiala de una vez con el botón de copiar: Resend solo te la muestra una vez. Si la pierdes, borras esa y creas otra.
Esta key es secreta 🔑
Tu API key es como la llave de tu casa: quien la tenga puede mandar correos en tu nombre. Nunca la pegues en el chat de Cursor, en un mensaje, ni la subas a git. Va solo en tu archivo de variables. Repasa por qué en Seguridad básica.
Paso 3 · Ponla en tu .env.local
Abre tu archivo .env.local (el archivo de secretos de tu app) y pega tu key así:
RESEND_API_KEY=re_tu_key_aquiConfirma el nombre exacto
La variable tiene que llamarse exactamente como tu app la espera. RESEND_API_KEY es lo más común, pero confírmalo en Variables de entorno para no equivocarte por una letra.
Guarda el archivo y reinicia el servidor para que tome la nueva variable: detén yarn dev (Ctrl+C en la terminal) y vuelve a correrlo:
yarn devPaso 4 · El remitente: prueba vs. dominio propio
Todo correo sale desde una dirección (el "de:"). Aquí tienes dos caminos:
- Modo de prueba (para empezar): Resend te da un dominio de pruebas listo para usar. Puedes enviar desde algo como
onboarding@resend.deva tu propio correo. Cero configuración, perfecto para probar que todo funciona. Es donde empiezas en el curso. - Dominio propio (para producción): cuando lances de verdad, quieres que los correos salgan desde
hola@tudominio.com, no desderesend.dev. Para eso hay que verificar tu dominio: agregar unos registros DNS (unas líneas de configuración donde compraste tu dominio) que le prueban a Resend que el dominio es tuyo.
No te compliques todavía
No necesitas dominio propio para el curso. Empieza en modo de prueba enviándote correos a ti mismo, y deja la verificación de dominio para cuando vayas a lanzar. Ese paso lo verás junto con tu dominio.
Paso 5 · Ojo con los límites del plan gratis
Sí, hay un plan gratis
Resend tiene un tier gratis con un límite de correos por día/mes, pero los números cambian con el tiempo. No me los aprendo de memoria: revisa el plan gratis actual en resend.com (sección Pricing). Para ver cómo encaja Resend en tus costos del proyecto, mira esa página.
Paso 6 · Verifica que funcione 🎉
- Con tu app corriendo (
yarn dev), usa la feature de email del proyecto para disparar un correo de prueba. - Envíatelo a tu propio buzón (tu Gmail, etc.).
- Revisa tu bandeja de entrada. Si no llegó en un minuto, mira la carpeta de spam — los correos de dominios de prueba a veces caen ahí.
- Extra: en el dashboard de Resend → Emails, verás el registro de lo que enviaste y si se entregó.
Checkpoint
✅ Tienes cuenta de Resend y una API key creada.
✅ Tu key está guardada en .env.local (nunca en el chat ni en git) y reiniciaste yarn dev.
✅ Entiendes la diferencia entre el modo de prueba (empiezas aquí) y verificar tu dominio (al lanzar).
✅ Te llegó un correo de prueba a tu buzón.
¿Algo tronó? → Leer errores sin pánico.