Wiki / Documentación interna / Superadmin

Usar Estado de servicio

/admin/estado-servicio. Para entender qué es cada pieza, ve a Panel de Información del sistema y Envío de email — esta página es la checklist de "qué hago si...".

"Un socio dice que no le llega un correo"

Busca el envío en el log

Estado de servicio → Logs → Emails. Filtra por destinatario o mira los más recientes. Si no aparece nada en absoluto, sigue al paso 2; si aparece con error, el propio mensaje de error lo dice.

Si no aparece ni un intento fallido

Puede que el propio webhook de Auth esté fallando la verificación de firma antes de llegar a registrar nada. Comprueba si aparece una entrada con origen "Auth (firma del webhook inválida)".

Si el log dice "Enviado" pero no llega

El problema está entre el proveedor de email y la bandeja del destinatario, no en la plataforma. Revisa la carpeta de spam del destinatario primero.

Cambiar de SMTP a Resend (o al revés)

Ve a Información del sistema

Sección "Envío de email", interruptor SMTP/Resend.

Cambia el interruptor

Efecto inmediato, sin redeploy. Los envíos siguientes usan el proveedor nuevo.

Prueba de verdad

Provoca un envío real (por ejemplo, una recuperación de contraseña a tu propio correo) y revisa el log para confirmar.

Configurar Resend por primera vez

Verifica un dominio en Resend

Necesitas un dominio que controles de verdad (acceso a su DNS). Resend te da los registros SPF y DKIM a añadir.

Añade también un DMARC

Un único registro _dmarc.tudominio.com con v=DMARC1; p=none; adkim=r; aspf=r — sin él, Gmail desconfía de un dominio nuevo aunque SPF/DKIM estén bien. Cuidado: si ya existía uno, bórralo antes de añadir el nuevo — dos registros DMARC invalidan la evaluación completa.

Crea la API key en Resend

Desde el panel de Resend, genera una API key.

Pégala en la plataforma

Información del sistema → Envío de email → pega la API key y el remitente (una dirección de ese dominio verificado) → Guardar. Deja el campo de la clave en blanco si solo quieres cambiar el remitente sin tocar la clave ya guardada.

Detalle completo del incidente real de esto (secreto desincronizado, DMARC duplicado, doble canje de PKCE) en Incidencias resueltas.

Ver la versión real de la base de datos o los límites del sistema

Información del sistema muestra las versiones reales (Next.js, React, Node, PostgreSQL) y los límites operativos que de verdad aplica el código — útil antes de decir "eso no debería pasar" sin comprobarlo primero.