Respuesta corta: Dos cosas pueden causar esto: caching (una comprobación repetida puede devolver un resultado almacenado) y transientes condiciones del servidor (una unknown temporal puede resolverse a una respuesta real en un intento posterior). Una solicitud force-refresh siempre ejecuta una nueva verificación en vivo.
Almacenamiento en caché
Para mantener la verificación rápida y evitar sobrecargar los servidores de correo, los resultados confirmados se almacenan en caché durante unas 24 horas. Si verificas la misma dirección dentro de ese periodo, es posible que recibas el resultado almacenado en caché en lugar de una nueva comprobación en tiempo real, y no se te volverá a cobrar. Así, las consultas repetidas son inmediatas.
Una excepción: unknown resultados no se almacenan en caché. Debido a que "no pudimos confirmar esto" es una respuesta temporal, volver a verificar una dirección unknown siempre ejecuta una nueva verificación en vivo - que es exactamente por qué un unknown puede convertirse en un resultado definitivo en un intento posterior.
Para forzar una nueva verificación en vivo que ignore el caché, envía la solicitud con force_refresh=true. Un force-refresh realiza una verificación real y se factura según su nuevo resultado.
Condiciones transitorias
Algunos resultados anteriores de unknown son causados por condiciones temporales en el lado receptor:
- Greylisting - el servidor aplaza deliberadamente el primer intento y acepta uno posterior.
- Limitación de la tasa - el proveedor estaba limitando el tráfico en ese momento.
- Timeouts - el servidor fue temporalmente lento o inalcanzable.
Cuando revises más tarde, estas condiciones pueden haberse aclarado, por lo que un anterior unknown puede convertirse en un definitivo valid o invalid. Este es un comportamiento esperado, no una inconsistencia.
Lo que recomendamos
- Para una respuesta definitiva y actualizada, utiliza
force_refresh=true. - Si verificas una lista por lotes, no es necesario actualizar forzosamente todas las direcciones: los resultados almacenados en caché son precisos dentro de su ventana de frescura y te ahorran créditos.
- Un resultado que cambia de
unknowna un estado definido en el reintento es una buena señal: significa que la condición temporal está resuelta y tenemos una respuesta real.