Nuestra recomendación, de entrada. Creamos Proxy Mail QA, así que no somos neutrales. En este artículo lo recomendamos para la parte de la revisión del alta que ocurre después de pulsar el botón: si el correo de verificación llega, si su código o enlace completa el alta, si el correo se envía y se construye correctamente, y si llega exactamente uno. Proxy Mail QA no evalúa cómo se ve tu página ni cuánto convierte, no puede recibir códigos SMS y no prueba el inicio de sesión social, como Sign in with Google.
Si le pides a un agente de IA que revise una página de alta, normalmente mirará el formulario: las etiquetas, los campos, el botón. Esa es la parte que casi nunca falla. Los errores que llegan a los usuarios están en lo que pasa después:
- El enlace de verificación apunta a
localhost, así que funciona en tu máquina y en ningún otro sitio. - No llega nada porque el proveedor de correo sigue en modo sandbox.
- Llegan dos correos porque el formulario se envía dos veces o dos partes del código envían uno cada una.
- El correo dice que el enlace dura 24 horas y el servidor lo hace caducar al cabo de una.
- El enlace sigue funcionando después de usarlo, o después de que se envió uno más nuevo.
Nada de esto aparece hasta que un correo real llega a una bandeja de entrada real. Este artículo muestra cómo dejar que un agente lo compruebe en cada revisión.
Qué comprueba el agente
| Paso | Cómo | Cómo se ve un fallo |
|---|---|---|
| El email llega | wait_for_code o wait_for_link espera hasta 30 segundos e ignora todo lo anterior al alta (since) |
No llega nada. check_delivery indica qué llegó a la dirección y la causa probable, como un proveedor en modo sandbox o un correo rechazado por no pasar DMARC |
| El código o el enlace completa el alta | El agente escribe el código o abre el enlace en su propio navegador y luego comprueba que ha iniciado sesión | Una página de error, un enlace caducado o un alta que no se completa |
| El correo se envía correctamente | check_email: SPF, DKIM y DMARC, enlaces a localhost o a http simple, adónde lleva el enlace (expect_host), una caducidad indicada, una parte en texto plano, su tamaño, frases indicadas y su idioma |
local_links falló, o el enlace lleva a producción desde staging |
| Llega exactamente uno | count_emails con since |
Un recuento de 2 |
| Los enlaces usados y reemplazados dejan de funcionar | El prompt o la skill auth_regression_pack vuelve a abrir un enlace usado, y un enlace antiguo después de uno más nuevo |
El enlace antiguo sigue iniciando sesión |
Proxy Mail QA nunca abre enlaces por sí mismo, así que un enlace de un solo uso sigue sin usar cuando el agente lo recibe. El agente solo ve el código o el enlace y algunos datos sobre él, nunca el texto del correo.
Conéctalo en Qoder
- En el Marketplace de Qoder, conecta Proxy Mail QA desde la pestaña Connectors (sitio global, sitio de China), o instala el plugin para tener las mismas herramientas más ocho skills.
- Inicia sesión en Proxy Mail QA en tu navegador cuando Qoder te lo pida y elige el proyecto que puede usar el agente.
- Configura el nivel de permisos de Qoder en Ask every time, no en Auto approve, y aprueba cada paso de Proxy Mail QA.
Para añadirlo a mano, abre Qoder IDE Settings → MCP, elige + Add en la pestaña My Servers y añade:
{ "mcpServers": { "proxymail-qa": { "type": "http", "url": "https://api.proxymail.qa/mcp" } }}Pide la revisión
Review the sign-up at https://staging.acme.dev/signup with Proxy Mail QA. Start a run.Sign up with a new address (use form_values for the fields), note the time just beforeyou submit, and finish the verification with the code or link from the email.Check you're signed in. Run check_email with expect_host: staging.acme.dev, andcount_emails since the sign-up: exactly one email should have come.Then request a second verification email, and check the first link no longer works.Finish the run and give me the report, with what to fix first.El prompt test_signup_flow del servidor ejecuta los pasos de alta, check_email y count_emails de la misma forma (no el segundo correo de verificación), en los clientes que muestran prompts de MCP. Con el plugin instalado, la skill proxymail-qa cubre un alta individual, auth-regression-pack repite el alta, el restablecimiento de contraseña y las invitaciones de la misma forma cada vez, y account-email-audit activa cada correo de cuenta que envía tu app y enumera qué corregir.
El informe
finish_run devuelve la sesión en Markdown: cada paso, qué pasó y qué falló, con un motivo de una línea para cada comprobación. Pégalo en el pull request. Cuando vuelvas a ejecutar auth_regression_pack más adelante, su informe indica qué cambió desde las últimas ejecuciones, así que un cambio que rompió el correo de restablecimiento aparece como un cambio, no como una larga lista que leer.
Hallazgos comunes y qué cambiar
| Hallazgo | Causa habitual | Solución |
|---|---|---|
El enlace lleva a localhost |
El enlace se construye a partir de una URL fija en el código | Constrúyelo a partir de una variable de entorno con la URL pública de la app. Soluciones para Supabase, Firebase, Auth.js y otros |
| No llega nada | El proveedor de correo solo envía a direcciones verificadas | Completa la configuración de producción del proveedor o verifica el dominio de envío |
| Dos correos | El formulario se envía dos veces, o tanto tu código como tu servicio de autenticación envían uno | Desactiva el botón mientras se procesa la solicitud; envía desde un solo lugar |
| La caducidad indicada es incorrecta | La plantilla y el servidor tienen configuraciones distintas | Toma ambas de una sola configuración |
| Un enlace antiguo sigue funcionando | Los tokens no se invalidan al usarse o reemplazarse | Haz que cada enlace sea de un solo uso e invalida los anteriores cuando se envíe uno nuevo |
Para que no vuelvan a aparecer, dale al agente una regla, en las reglas de tu proyecto o al inicio de una tarea de autenticación:
When changing sign-up, login, password reset, invites or any email-sending code:- Build links from the app's public URL setting, never a hard-coded localhost.- Keep the expiry stated in an email equal to the one the server enforces.- Make single-use links and codes stop working once used or replaced.- Tell me which emails to test by hand after the change.Lo que no hace
- Revisar la página en sí. El diseño, la redacción, la accesibilidad y la velocidad requieren otras herramientas, o una persona. Consulta Cómo revisar mi página de registro.
- SMS, apps de autenticación e inicio de sesión con redes sociales. Proxy Mail QA solo recibe correo electrónico.
- Crear cuentas o enviar formularios. Eso lo hace el agente, con sus propias herramientas de navegador.
- Funcionar con un proveedor de correo en modo sandbox. Solo puede mostrarte que no llegó nada, y por qué.
- Probar sitios en producción de grandes servicios de consumo, como Google, Instagram o Amazon. Es para apps que tú creas o que tienes permiso para probar, en staging o en local.
Más detalles: probar la verificación de correo, el MCP server y Proxy Mail QA para Qoder.