todas las guías

// cómo solucionarlo

Error 406 de Postmark "Inactive recipient": cómo solucionarlo

Postmark devuelve ErrorCode 406 cuando un destinatario rebotó, se quejó o fue suprimido. Descubre por qué y cuándo es seguro reactivarlo.

Qué significa

Postmark se ha negado a enviar porque al menos un destinatario está marcado como inactivo en el message stream que estás usando. La respuesta de la API suele tener este aspecto:

{
  "ErrorCode": 406,
  "Message": "You tried to send to recipient(s) that have been marked as inactive. Found inactive addresses: alice@example.com. Inactive recipients are ones that have generated a hard bounce, a spam complaint, or a manual suppression."
}

El estado HTTP es 422. En el endpoint de envío por lotes, la petición en sí tiene éxito y cada mensaje de la respuesta lleva su propio ErrorCode, así que revisa cada resultado, no solo el estado HTTP. Algunas librerías lanzan una excepción específica (por ejemplo InactiveRecipientsError en el cliente de Node.js).

Las direcciones inactivas aparecen en la pestaña Suppressions de cada message stream. Una supresión en tu stream transaccional no se aplica a tu stream de broadcast, y viceversa.

Por qué ocurre

Postmark marca una dirección como inactiva por uno de estos cuatro motivos:

  • Rebote definitivo (hard bounce): el servidor receptor dijo que la dirección no existe o no puede recibir correo.
  • Queja por spam: la persona hizo clic en "Marcar como spam" y su proveedor devolvió la queja.
  • Baja (sobre todo en streams de broadcast): la persona usó el enlace para darse de baja.
  • Añadida manualmente: alguien de tu equipo o tu código añadió la dirección a la lista de supresión.

Es la misma idea que el 605 "previously bounced address" de Mailgun: el proveedor protege tu reputación no enviando a direcciones que ya fallaron.

Cómo comprobarlo

  1. En Postmark, abre el servidor y después el message stream que usa tu código (por ejemplo "Default Transactional Stream").
  2. Abre la pestaña Suppressions y busca la dirección. Se muestran el motivo (Hard Bounce, Spam Complaint, Manually Added, Unsubscribe) y la fecha.
  3. En caso de rebote definitivo, abre el rebote correspondiente en la pestaña Activity y lee la respuesta SMTP original. "User unknown" significa que la dirección está muerta. Un buzón lleno, una cuenta desactivada o un bloqueo por política o por spam significan que la dirección puede estar bien. Consulta rebote "552 5.2.2": buzón lleno para un caso habitual.
  4. Si el rebote menciona spam o un bloqueo, envía una prueba desde el mismo servidor de Postmark a la dirección de la página de inicio de Delivmail y lee las secciones de autenticación y listas negras del informe.

Cómo solucionarlo

Rebote definitivo de una dirección que vuelve a funcionar

Solo cuando tengas un buen motivo para creer que el buzón ya funciona (la persona te lo ha dicho, se corrigió la errata, se vació el buzón lleno): en la pestaña Suppressions, busca la dirección y haz clic en Reactivate. Queda activa de inmediato. También puedes usar la Suppressions API ("Delete a suppression") desde tu código. Algunos tipos de rebote no se pueden reactivar; en ese caso Postmark rechaza la petición.

Postmark no reenvía los mensajes que fallaron mientras la dirección estaba inactiva. Envíalos de nuevo.

Rebote definitivo de una dirección muerta

No la reactives. Corrige o elimina la dirección en tu base de datos y pide al usuario una nueva.

Queja por spam

No puedes reactivar una queja por tu cuenta. Si la persona se pone en contacto contigo y quiere volver a recibir tus emails, Postmark te pide que contactes con su soporte indicando la dirección. Si las quejas son frecuentes, lee demasiadas personas marcan tus emails como spam.

Baja o supresión manual

Reactívala solo si la persona ha pedido de verdad volver a recibir mensajes. Antes de quitar una supresión manual, comprueba por qué la añadió tu código o un compañero.

Gestiona el 406 en tu código

  • Captura el error 406, registra la dirección y márcala como no entregable en tu base de datos en lugar de reintentar. Reintentar nunca funciona.
  • Para el restablecimiento de contraseña y emails similares, muestra al usuario un mensaje como "No podemos enviar a esta dirección; compruébala o usa otra".
  • Usa los webhooks de rebotes y quejas por spam de Postmark para mantener tu propia lista sincronizada.
  • Cuando un destinatario de un mensaje con varios destinatarios está inactivo, se puede rechazar el mensaje entero. Envía los emails transaccionales a un destinatario cada vez.

Comprueba que está solucionado

Después de reactivarla, envía un mensaje a la dirección y comprueba su estado en la pestaña Activity: "Delivered" significa que el buzón vuelve a aceptar correo. Si rebota otra vez, Postmark la vuelve a suprimir y el texto del nuevo rebote te dice por qué. Si el motivo original era un bloqueo contra tus envíos, haz una nueva prueba con Delivmail y corrige cualquier comprobación fallida antes de volver a enviar.

Comprueba que está solucionado

Un cambio de DNS puede tardar de unos minutos a unas horas. Después, envía un nuevo email de prueba o vuelve a escanear tu dominio.

Guías relacionadas