Saltar al contenido
supastack
Explorar la documentación
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/web/email.md (or send Accept: text/markdown).

Email y correo

Plantillas transaccionales, herramientas de vista previa y adaptadores de proveedor.

Lea su primer mensaje local y luego habilite la entrega

El correo electrónico transaccional significa un mensaje activado por una acción de la aplicación, como un código de inicio de sesión o el resultado de una tarea. Con el servidor web en ejecución, mantenga EMAIL_PROVIDER=local en apps/web/.env.local.. Complete la configuración de la base de datos, solicite un código de inicio de sesión en /auth, luego abra /mail-preview e inspeccione el último mensaje. Un mensaje local que aparece aquí no es un correo electrónico enviado a su bandeja de entrada externa.

Para enviar mensajes reales, elija un proveedor de correo electrónico, cree su cuenta, verifique un dominio que controle y siga su guía dedicada. Coloque la clave API y la dirección del remitente en apps/web/.env.local, guarde y reinicie el servidor web. Solicite un nuevo código de inicio de sesión y luego verifique tanto el registro de entrega del proveedor como la bandeja de entrada de destino, incluido el spam. La verificación del dominio y la aprobación del remitente pueden llevar tiempo.

Si el mensaje falla, inspeccione el error de entrega y la verificación del remitente antes de realizar la solicitud repetidamente. La ruta /mail-preview es solo de desarrollo y devuelve 404 en producción. Mantenga el alcance de marketing separado de este remitente transaccional para que una campaña de boletín no pueda interrumpir el correo de verificación de la cuenta.

Mantén separada la entrega transaccional

El módulo de correo gestiona mensajes transaccionales del producto, incluida la autenticación y la finalización de tareas. El contacto comercial pertenece a un flujo propio del producto consumidor y debe seguir separado de esta ruta transaccional.

Configura el adaptador de entrega

Usa el adaptador local para pruebas deterministas. Configura el adaptador de producción seleccionado y sus credenciales del servidor antes de habilitar la entrega externa. Nunca coloques secretos del proveedor de correo en la configuración del cliente ni en los registros.

Registra la entrega por separado

El resultado generado y el correo de finalización tienen resultados independientes. Revisa los registros de entrega antes de afirmar que un mensaje se envió correctamente. Prueba un fallo de entrega sin tratarlo como un fallo de generación ni enviar de nuevo el mismo trabajo al modelo.

Configuración y ajustes

EMAIL_PROVIDER=local mantiene la entrega determinista durante el desarrollo. Para la entrega en producción elige uno de los adaptadores configurados — Resend (RESEND_API_KEY), AWS SES (AWS_REGION más las claves de acceso), Postmark, SendGrid, Mailgun, SMTP genérico o Brevo — y verifica que EMAIL_FROM coincide con una identidad de remitente que el proveedor acepta.

Todas las plantillas viven en src/transactional-mail-templates.ts. La ruta /mail-preview solo de desarrollo renderiza cada plantilla para que los cambios se revisen visualmente en lugar de enviando correo.

EMAIL_PROVIDER=resend
EMAIL_FROM=Your Product <[email protected]>

Flujo de implementación

Los códigos de autenticación, magic links, invitaciones, avisos de facturación y correos de tarea completada pasan todos por el mismo remitente transaccional con el texto de la locale resuelta. Las campañas de outreach son una preocupación de producto separada y nunca comparten esta ruta.

Previsualiza una plantilla en mail-preview antes de editar texto o layout; mantén los valores de marca (nombre, colores, tiles del logo) viniendo de la configuración para que los productos derivados reestilicen sin forkear plantillas.

Verificación y solución de problemas

Afirma sobre los mensajes registrados del adaptador local en tests — destinatario, asunto y cuerpo renderizado. Un envío fallido debe surgir como un resultado de entrega, no como un workflow roto. Usa la ruta smoke opcional con REAL_SMOKE_EMAIL_ALLOWED_DOMAIN para entrega real.

Preguntas frecuentes

14 preguntas

¿Qué es supastack?

supastack es una base modular para construir productos SaaS con IA. Reúne la infraestructura común para que puedas centrarte en las funciones propias de tu producto.

¿Soporta web y móvil?

Sí. supastack incluye apps Next.js y Expo como puntos de partida para experiencias web y móviles.

¿Qué autenticación incluye?

Better Auth cubre correo/contraseña, OTP e inicio social. Los espacios de trabajo personales se aprovisionan con la cuenta para que los registros permanezcan delimitados desde el primer día.

¿Cómo se soporta la IA?

supastack incluye IA multi-proveedor configurable, seguimiento de uso, presupuestos y soporte cifrado de claves propias (BYOK).

¿Cómo se gestionan las suscripciones?

Para productos construidos sobre el kit, la facturación Stripe, las suscripciones y los permisos forman la base del acceso de pago. Los secretos de proveedor permanecen en el servidor.

¿Dónde vive el código propio de mi producto?

Las funciones propias del producto permanecen en un codebase separado, mientras el producto configura e integra los módulos base de supastack.

¿Cómo funciona el precio de supastack?

El kit es una compra única con actualizaciones de por vida: Un framework a 249 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 349 $) o Todos los frameworks (Next.js, iOS, Android) a 499 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 599 $), más 75 $ por plaza de desarrollador adicional. Sin suscripción al kit. El pago en este sitio entrega tu clave de licencia por correo, con acceso al repositorio por invitación de GitHub.

¿Cómo delimitan los espacios de trabajo mis datos?

Los registros del usuario se delimitan por workspaceId. Identidad, permisos, uso de IA, eventos de facturación y entradas de auditoría permanecen dentro del límite del espacio personal.

¿Cómo funcionan los jobs en segundo plano?

Trigger.dev es el runtime de jobs explícito. El contrato JobRunner solo promete enqueue, status y cancel — la semántica de workflow sigue siendo específica y explícita de Trigger.dev.

¿En qué se diferencia el email de la divulgación?

El email transaccional cubre flujos de producto como avisos de finalización de tareas. La divulgación en frío y las campañas pertenecen al producto, fuera del módulo de email de este kit.

¿Cómo funcionan las compras móviles?

La app móvil incluye compras nativas y restauración con RevenueCat, con acceso verificado por tu servidor. Configura las cuentas de las tiendas y completa las pruebas en dispositivos antes de publicar. La facturación web es independiente.

¿Dónde residen las claves de los proveedores de IA?

Las credenciales BYOK están cifradas y permanecen en el servidor. Las claves se saneen en los logs; el uso y los presupuestos siguen visibles a nivel de espacio de trabajo.

¿Qué métodos de pago acepta el checkout?

El checkout alojado en Stripe acepta tarjetas y, una vez activadas las billeteras en la cuenta de Stripe, también puede ofrecer Alipay y WeChat Pay — muy útil para compradores en China. Las autorizaciones de billetera se confirman de forma asíncrona, por lo que la página de la licencia se actualiza en cuanto se liquida el pago.

¿Puedo obtener un reembolso?

Una vez que tienes acceso al repositorio, supastack es tuyo para siempre, por lo que no se puede reembolsar. Pero no te preocupes: obtienes el código fuente completo con actualizaciones de por vida para crear y lanzar productos ilimitados para ti o tus clientes. Solo no puedes revender el código ni redistribuir el repositorio como plantilla o starter kit.

ES
Tema