auth

No llega el correo de confirmación, o el enlace no funciona

Bajo este síntoma hay dos averías que no se parecen en nada: o el correo no está saliendo, o sí sale y el enlace no completa la sesión al pulsarlo. Antes de tocar nada hay que saber cuál de las dos es, porque se arreglan en sitios distintos.

Revisado en agosto de 2026

De paso

Ya de paso: ¿tu app está exponiendo datos?

Analízala gratis mientras lees. Tarda treinta segundos y no toca nada.

Solo leemos lo que tu app ya le entrega a cualquier visitante.

Diagnóstico

Por qué te pasa

Si el correo no llega, la causa más probable es que sigas usando el servicio de correo que Supabase trae de serie. Está pensado solo para probar, tiene un límite de envíos muy bajo por hora, y cuando lo superas deja de mandar sin avisar a nadie. Funciona perfectamente mientras te registras tú tres veces y se cae en cuanto llegan usuarios de verdad.

La otra razón de que no llegue es que acabe en spam. Un correo enviado desde un dominio que no ha demostrado ser tuyo tiene todas las papeletas, y eso se arregla autenticando el dominio en el servicio de correo que uses.

Si el correo sí llega pero el enlace falla, la causa habitual es que apunte al sitio equivocado: el enlace se construye con la dirección principal que tengas configurada, así que si sigue apuntando a la previsualización, tus usuarios aterrizan allí.

Y hay una causa que parece imposible hasta que la conoces: el enlace ya se ha usado. Estos enlaces sirven una sola vez, y muchos filtros de correo corporativos abren automáticamente los enlaces de los mensajes entrantes para comprobar si son seguros. Al hacerlo, gastan el enlace. Cuando el usuario pulsa, ya está consumido y ve un mensaje de enlace inválido. Es sistemático en cuentas de empresa y no pasa nunca en un Gmail personal, lo que lo hace desconcertante.

Lo que este error no significa

  • No significa que hayas perdido los registros. Las cuentas están creadas en tu proyecto, solo que sin confirmar. Se pueden confirmar a mano desde el panel mientras arreglas el envío.
  • No significa que el usuario haya hecho algo mal. Es de las cosas que más frustran a quien se está registrando, y casi siempre no ha tocado nada raro.
  • No es un problema de código. Los cuatro casos se resuelven en paneles de configuración.

Solución

Arréglalo tú, gratis

Primero averigua cuál de los dos problemas tienes, que se hace en un minuto. Después ve al que corresponda.

  1. 01En Supabase, entra en Authentication y mira los registros de autenticación. Si ves errores de envío o avisos de límite alcanzado, tu problema es que el correo no sale. Si no hay nada raro, el correo salió y el problema está en el enlace.
  2. 02Si el correo no sale: configura tu propio servicio de correo. En Project Settings, sección de Auth, hay un apartado para poner un SMTP propio. Resend, Postmark o el que uses valen; lo importante es dejar de depender del de pruebas.
  3. 03Autentica el dominio en ese servicio, siguiendo sus instrucciones de registros DNS. Sin eso, tus correos irán a spam aunque se envíen correctamente.
  4. 04Si el enlace no funciona: comprueba en Authentication y luego URL Configuration que Site URL es tu dominio real. Ese campo es el que construye los enlaces de los correos, así que si apunta al preview, ahí van tus usuarios.
  5. 05Si el enlace falla solo para usuarios con correo de empresa, es el filtro de seguridad consumiéndolo. La solución práctica es alargar la validez del enlace en la configuración de Auth y, mejor aún, ofrecer también acceso con código de un solo uso en vez de solo enlace.
  6. 06Mientras arreglas todo esto, puedes confirmar cuentas a mano: en la sección de usuarios del panel se puede marcar un usuario como confirmado. Sirve para no dejar tirado a quien ya se registró.

Prueba siempre con una dirección real y de otro proveedor distinto al tuyo. Comprobarlo solo con tu propio correo es cómo se dan por buenos envíos que en realidad van a spam en todas partes menos en tu bandeja.

Y esto para la parte de código

Pégaselo tal cual al agente que escribió tu app. Está redactado para que te diga lo que ha hecho, no solo para que lo haga.

Prompt para tu agente

En mi app el correo de confirmación no llega, o llega y el enlace no funciona.

Necesito que hagas esto:
1. Enséñame el flujo de registro completo: qué función crea el usuario, qué dirección de retorno se le pasa y de dónde sale esa dirección.
2. Comprueba si la dirección de retorno está escrita directamente en el código y, si lo está, cámbiala para que se calcule a partir de la dirección real de la app.
3. Añade a la pantalla posterior al registro un aviso claro de que hay que confirmar el correo, con un botón para reenviarlo que no permita pulsarse en bucle.
4. Añade el manejo del caso de enlace caducado o ya usado: en vez de un error genérico, una pantalla que lo explique y ofrezca reenviar.
5. Dime si el proyecto está usando el servicio de correo por defecto de Supabase y qué tendría que configurar para usar uno propio.

Si no sale

¿Lo has intentado y sigue sin salir?

O el escáner de arriba ha encontrado algo y prefieres no tocarlo solo. En cualquiera de los dos casos esto ya es de los gordos y merece un humano: no es que no hayas sabido, es que has llegado al punto en que hace falta alguien que entre y lo vea por dentro.

Las 10 primeras apps son gratis. Estoy empezando y necesito casos reales. A cambio te pido permiso para contar después qué me encontré, sin decir de quién era la app ni enseñar tus datos. Sin tarjeta y sin suscripción: cuando se acaben las plazas empezaré a cobrar y lo diré aquí.

Cita a partir de mañana

Agendar revisión

Gratis

durante el lanzamiento

Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.

  • Sesión de trabajo en directo contigo
  • Diagnóstico del error y del riesgo real
  • Te quedas con el arreglo aplicado

Hoy, en cola prioritaria

Rescate exprés

Gratis

durante el lanzamiento

Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.

  • Hueco el mismo día
  • Prioridad sobre las revisiones agendadas
  • Mismo trabajo, antes

Quién

Marc Sala

IT Manager

  • Analista de ciberseguridad certificado por Google

No es un rating anónimo de un marketplace: es la persona que va a entrar en tu app. Reviso el código, encuentro qué falla y lo arreglo contigo delante, explicándote qué ha pasado sin jerga.