Releases: PlaneaSoluciones/mailpoet-bounce-handler
Releases · PlaneaSoluciones/mailpoet-bounce-handler
Release list
v1.6.1
v1.6.0
Añadido
- Columna "Acciones" con menú desplegable (⋮) estilo MailPoet: muestra "Reactivar" o "Marcar rebotado" según el estado actual del suscriptor en MailPoet. Pulsar fuera del menú lo cierra.
- La dirección de email en el log enlaza a la ficha del suscriptor también en registros anteriores a v1.5.0 (busca el suscriptor en MailPoet por email en tiempo real).
- Columnas "Fecha", "Email", "Tipo" e "Intentos soft" son ahora ordenables al pulsar su cabecera, con flechas de dirección estilo WordPress.
Corregido
- "Marcar rebotado" fallaba en ciertos entornos porque la API pública de MailPoet rechazaba el estado
bounced. Se añade escritura directa en la tabla de MailPoet como fallback, aplicado también al procesado automático de bounces hard.
v1.5.0
Añadido
- Nueva columna "Acciones" en el log de bounces: botón "Reactivar" si el suscriptor está marcado como rebotado (lo pasa a activo), y botón "Marcar rebotado" si está activo (útil para forzar manualmente lo que el parser no clasificó). Los cambios se aplican sin recargar la página.
- La dirección de email en el log es ahora un enlace directo a la edición del suscriptor en MailPoet, permitiendo corregir errores tipográficos con un clic. Los registros anteriores muestran el email como texto plano.
Eliminado
- Columnas "Estado anterior" y "Estado posterior" del log de bounces (vista, exportación CSV y base de datos): nunca se habían utilizado en la práctica. Los datos históricos se eliminan de la base de datos automáticamente al actualizar.
v1.4.1
Corregido
- Los rebotes con código SMTP
5xxsin subcode DSN estándar (p.ej.550 #5.1.0 Address rejected,554 30 mailbox is disabled) se clasificaban incorrectamente comosofty el suscriptor no se marcaba como rebotado en MailPoet. Ahora se clasifican comohard. - Los subcodes DSN en notación de puntos dentro de
Diagnostic-Code(p.ej.#5.1.0) se reconocen correctamente y determinan el tipo de rebote. - Los buzones deshabilitados (
mailbox is disabled,mailbox disabled) se clasifican como rebotehard.
v1.4.0
Añadido
- El log de bounces muestra ahora el código de diagnóstico SMTP completo (campo
Diagnostic-CodeRFC 3464, oStatuscomo fallback). Se ve truncado en la tabla con el texto completo al pasar el ratón, y completo en el CSV. - Los bounces por política/reputación (blacklists, bloqueos Outlook, 5.7.x) se guardan con tipo
policyen lugar desoft, tienen filtro propio en el log y se muestran en color diferente. Se incluye migración automática de registros históricos.
Cambiado
- Los
policy_blockexistentes en BD se migran automáticamente abounce_type = 'policy'al activar la nueva versión.
v1.3.0
Añadido
- El log de bounces ahora muestra el estado del suscriptor en MailPoet ("Estado anterior" / "Estado posterior") también para soft bounces parciales y bloqueos por política, no solo cuando se marca al suscriptor como bounced.
- Nueva opción de mantenimiento: límite máximo de filas en el log (por defecto 10 000). Al superarse, se eliminan automáticamente las entradas más antiguas, evitando el crecimiento ilimitado de la tabla.
Cambiado
- La purga automática del log por antigüedad está ahora desactivada por defecto (antes: 90 días). Las instalaciones existentes conservan su valor configurado. Actívala explícitamente en Ajustes → Mantenimiento si la necesitas.
v1.2.1
Corregido
- Los correos de rebote se reprocesaban en cada ejecución del cron porque
imap_expunge()se llamaba inmediatamente tras cadaimap_delete(), renumerando los mensajes restantes y dejando algunos sin borrar. Ahora solo se marca para borrado conimap_delete()durante el bucle, y el expunge único ocurre al cerrar la conexión conimap_close(..., CL_EXPUNGE).
v1.2.0
Corregido
- URL del autor (
Author URIyhomepageencomposer.json) apuntaba aplanea.com.es(dominio de infraestructura interna); ahora apunta a la web comercial https://planeasoluciones.com.
Añadido
- Cabecera
Requires Plugins: mailpoetpara activar la funcionalidad nativa de WordPress 6.5+ "Plugin Dependencies": en el listado de plugins, WordPress avisa automáticamente si se intenta activar este plugin sin MailPoet activo, y bloquea la desactivación/borrado de MailPoet mientras este plugin esté activo (el mismo aviso que muestran plugins como las extensiones de WooCommerce). La comprobación manual existente se mantiene como red de seguridad para WordPress < 6.5 y desactivaciones fuera de la UI de wp-admin.
v1.1.5
Corregido
- "Probar conexión" fallaba con "No se pudo conectar" aunque host, usuario y contraseña fueran correctos. Causa: con SSL activado,
imap_open()no incluía el flag/novalidate-cert, y la librería c-client (no soporta SNI) puede recibir un certificado distinto al esperado en hosting compartido, rechazando la conexión aunque el certificado real sea válido. Ahora siempre se añade/novalidate-cert. Además, el mensaje de error ahora incluye el detalle reportado porimap_last_error()para facilitar el diagnóstico de futuros fallos de conexión.
v1.1.4
Corregido
- Las páginas del plugin (submenú de MailPoet) aparecían en cualquier orden y daban 404 al pulsarlas en algunos sitios. Causa: nuestro hook
admin_menupodía ejecutarse antes que el de MailPoet, registrando nuestra página como primer hijo y haciendo que WordPress la usara como "padre real" de todo el menú de MailPoet (verwp-admin/includes/menu.php). Ahora se registra con prioridad 20 para garantizar que MailPoet registre primero su página "Home".