Tinio SMTP Mailer: La Evolución de un Plugin hecho con propósito

Hace casi un año publiqué en este blog el plugin Simple SMTP Mailer. Nació de la pura frustración con la mayoría de plugins SMTP que existen para WordPress: paneles llenos de opciones que nadie usa, integraciones innecesarias y, en algunos casos, hasta publicidad incrustada en el propio administrador de WordPress.

Mi idea era muy sencilla: crear lo mínimo indispensable para que los correos salgan de forma confiable, sin complicaciones ni distracciones.

Desde entonces, el plugin ha pasado por mis manos y por 12 instalaciones reales en producción (incluido este mismo blog). Lo he revisado a fondo, refactorizado y mejorado significativamente. El resultado es una versión completamente renovada que ahora lleva un nuevo nombre: Tinio SMTP Mailer.

¿Por qué cambié el nombre?

«Simple SMTP Mailer» era un nombre descriptivo, pero demasiado genérico. «Tinio» es ahora el nombre del proyecto: más corto, memorable y con identidad propia. El cambio no es solo cosmético; viene acompañado de mejoras importantes en la arquitectura y funcionalidad del plugin.

Qué cambió técnicamente

Arquitectura orientada a objetos

La versión anterior era funcional y directa, pero usaba funciones sueltas. Ahora Tinio SMTP Mailer está construido con una arquitectura limpia basada en clases y namespaces, compatible con PHP 8.1+.

Esto trae varias ventajas:

  • Mejor organización del código
  • Menor riesgo de conflictos de nombres con otros plugins
  • Una base mucho más sólida para mantenerlo y extenderlo en el futuro

El requisito mínimo de PHP subió a 8.1. Si tu hosting todavía está en PHP 7.x, este es un buen momento para actualizar. Por seguridad y rendimiento, deberías haberlo hecho hace tiempo.

Registro de correos enviados (Email Log)

Esta es, sin duda, la mejora más útil para entornos de producción.

Ahora el plugin guarda un historial completo de todos los correos enviados, con información clave:

  • Destinatario y asunto
  • Estado del envío (éxito o fallo)
  • Mensaje de error detallado en caso de fallo

Esto resulta especialmente práctico en tiendas WooCommerce, donde saber si una notificación de pedido llegó o no puede ahorrarte horas de soporte. Puedes consultar el log fácilmente desde Tinio SMTP > Email Log en el menú de administración.

Gestión automática del log

Un log que crece indefinidamente termina convirtiéndose en un problema. Por eso Tinio incluye:

  • Limpieza automática diaria mediante WP-Cron
  • Herramientas manuales de purga para limpiar registros según criterios definidos

Puedes configurar cuántos registros quieres conservar para que la base de datos no se llene innecesariamente.

Internacionalización completa

El plugin ahora tiene soporte i18n total y viene con traducción al español (es_ES) lista para usar. Si trabajas con WordPress en español, toda la interfaz aparecerá traducida sin necesidad de plugins adicionales ni servicios externos.

Lo que se mantuvo igual (porque ya funcionaba bien)

Algunas cosas no hacía falta tocarlas porque ya estaban bien resueltas:

  • PHPMailer integrado: la librería estándar y más confiable para enviar correos en PHP, sin dependencias externas.
  • Cifrado AES-256-CBC de la contraseña SMTP: la contraseña se guarda cifrada usando las claves de WordPress (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY). Solo esa instalación específica puede descifrarla.
  • Herramienta de envío de prueba: desde Tinio SMTP > Send Email puedes verificar que todo funcione antes de poner el sitio en producción.
  • Niveles de debug de PHPMailer: desde el nivel 0 (silencioso, ideal para producción) hasta el 4 (muy detallado). Todo configurable desde el panel.
  • Sin bloat: nada de integraciones de terceros, publicidad, versión “premium” ni telemetría. Solo lo que realmente necesitas.

Casos de uso donde lo estoy usando

En las 12 instalaciones activas, los usos más comunes son:

  • Notificaciones de nuevos comentarios y registros de usuarios
  • Restablecimiento de contraseñas (donde es crítico que el correo llegue)
  • Correos enviados desde Contact Form 7
  • Confirmaciones y notificaciones de pedidos en WooCommerce
  • Alertas automáticas de formularios internos

En todos los casos, la configuración es la misma: servidor SMTP, puerto, usuario y contraseña. Nada más.

Instalación y configuración rápida

Requisitos:

  • WordPress 6.0 o superior
  • PHP 8.1 o superior
  • Extensión OpenSSL habilitada (viene por defecto en la mayoría de hostings modernos)

Cómo instalarlo:

  1. Descarga el archivo ZIP desde la página de releases en GitHub o clona el repositorio directamente.
  2. En tu WordPress ve a Plugins > Añadir nuevo > Subir plugin, selecciona el ZIP, instálalo y actívalo.
  3. Dirígete a Tinio SMTP > Configuration e introduce tus datos SMTP.

Ejemplo de configuración con Gmail:

CampoValor
SMTP Hostsmtp.gmail.com
Puerto587
SeguridadTLS
Autenticación
Usuariotu dirección de Gmail
ContraseñaContraseña de aplicación (si tienes 2FA activado)

Diagnóstico cuando algo no funciona

Si un correo no llega, te recomiendo seguir este orden:

  1. Revisa el Email Log primero. Si falló, el mensaje de error del servidor SMTP suele aparecer claramente en la columna “Details”. La mayoría de problemas (credenciales incorrectas, puerto bloqueado, límites de envío) se resuelven aquí.
  2. Activa el debug de PHPMailer. Pon el nivel en 2 (Server) para ver la conversación completa con el servidor en los logs de PHP.
  3. Revisa los logs de WordPress. Activa WP_DEBUG y WP_DEBUG_LOG en tu wp-config.php para que los errores queden registrados en wp-content/debug.log.

Código abierto y contribuciones bienvenidas

Tinio SMTP Mailer está licenciado bajo GPL-2.0 y todo el código está disponible en GitHub.

Si encuentras algún bug, tienes una idea para mejorarlo o quieres contribuir con código, las pull requests son más que bienvenidas.

¿Listo para usarlo?

En resumen, Tinio SMTP Mailer sigue siendo fiel a la idea original: un plugin que hace una sola cosa, pero la hace muy bien y sin distracciones. Ahora cuenta con la estructura, el registro y las herramientas necesarias para usarlo con confianza incluso en sitios serios y de producción.

Si decides probarlo, me encantaría saber cómo te va. ¿Funcionó sin problemas? ¿Tuviste algún inconveniente? Deja tu comentario abajo, estaré pendiente.

Gracias por leer y llegar hasta acá.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.