{"id":235,"date":"2026-04-14T06:31:27","date_gmt":"2026-04-14T10:31:27","guid":{"rendered":"https:\/\/juredev.com\/blog\/?p=235"},"modified":"2026-04-14T06:31:28","modified_gmt":"2026-04-14T10:31:28","slug":"tinio-smtp-mailer-un-plugin-hecho-con-proposito","status":"publish","type":"post","link":"https:\/\/juredev.com\/blog\/2026\/04\/tinio-smtp-mailer-un-plugin-hecho-con-proposito\/","title":{"rendered":"Tinio SMTP Mailer: La Evoluci\u00f3n de un Plugin hecho con prop\u00f3sito"},"content":{"rendered":"\n<p>Hace casi un a\u00f1o <a href=\"https:\/\/juredev.com\/blog\/2025\/05\/envia-correos-desde-wordpress-sin-complicaciones-con-simple-smtp-mailer-plugin\/\">publiqu\u00e9<\/a> en este blog el plugin Simple SMTP Mailer. Naci\u00f3 de la pura frustraci\u00f3n con la mayor\u00eda 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.<\/p>\n\n\n\n<p>Mi idea era muy sencilla: crear lo m\u00ednimo indispensable para que los correos salgan de forma confiable, sin complicaciones ni distracciones.<\/p>\n\n\n\n<p>Desde entonces, el plugin ha pasado por mis manos y por <strong>12 instalaciones reales en producci\u00f3n<\/strong> (incluido este mismo blog). Lo he revisado a fondo, refactorizado y mejorado significativamente. El resultado es una versi\u00f3n completamente renovada que ahora lleva un nuevo nombre: <strong>Tinio SMTP Mailer<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPor qu\u00e9 cambi\u00e9 el nombre?<\/h2>\n\n\n\n<p>\u00abSimple SMTP Mailer\u00bb era un nombre descriptivo, pero demasiado gen\u00e9rico. \u00ab<strong>Tinio<\/strong>\u00bb es ahora el nombre del proyecto: m\u00e1s corto, memorable y con identidad propia. El cambio no es solo cosm\u00e9tico; viene acompa\u00f1ado de mejoras importantes en la arquitectura y funcionalidad del plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 cambi\u00f3 t\u00e9cnicamente<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Arquitectura orientada a objetos<\/h3>\n\n\n\n<p>La versi\u00f3n anterior era funcional y directa, pero usaba funciones sueltas. Ahora <strong>Tinio SMTP Mailer <\/strong>est\u00e1 construido con una arquitectura limpia basada en clases y namespaces, compatible con <strong>PHP 8.1+<\/strong>.<\/p>\n\n\n\n<p>Esto trae varias ventajas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mejor organizaci\u00f3n del c\u00f3digo<\/li>\n\n\n\n<li>Menor riesgo de conflictos de nombres con otros plugins<\/li>\n\n\n\n<li>Una base mucho m\u00e1s s\u00f3lida para mantenerlo y extenderlo en el futuro<\/li>\n<\/ul>\n\n\n\n<p>El requisito m\u00ednimo de PHP subi\u00f3 a <strong>8.1<\/strong>. Si tu hosting todav\u00eda est\u00e1 en PHP 7.x, este es un buen momento para actualizar. Por seguridad y rendimiento, deber\u00edas haberlo hecho hace tiempo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Registro de correos enviados (Email Log)<\/h3>\n\n\n\n<p>Esta es, sin duda, la mejora m\u00e1s \u00fatil para entornos de producci\u00f3n.<\/p>\n\n\n\n<p>Ahora el plugin guarda un historial completo de todos los correos enviados, con informaci\u00f3n clave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Destinatario y asunto<\/li>\n\n\n\n<li>Estado del env\u00edo (\u00e9xito o fallo)<\/li>\n\n\n\n<li>Mensaje de error detallado en caso de fallo<\/li>\n<\/ul>\n\n\n\n<p>Esto resulta especialmente pr\u00e1ctico en tiendas WooCommerce, donde saber si una notificaci\u00f3n de pedido lleg\u00f3 o no puede ahorrarte horas de soporte. Puedes consultar el log f\u00e1cilmente desde <strong>Tinio SMTP > Email Log <\/strong>en el men\u00fa de administraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gesti\u00f3n autom\u00e1tica del log<\/h3>\n\n\n\n<p>Un log que crece indefinidamente termina convirti\u00e9ndose en un problema. Por eso Tinio incluye:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Limpieza autom\u00e1tica diaria<\/strong> mediante WP-Cron<\/li>\n\n\n\n<li><strong>Herramientas manuales de purga<\/strong> para limpiar registros seg\u00fan criterios definidos<\/li>\n<\/ul>\n\n\n\n<p>Puedes configurar cu\u00e1ntos registros quieres conservar para que la base de datos no se llene innecesariamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Internacionalizaci\u00f3n completa<\/h3>\n\n\n\n<p>El plugin ahora tiene soporte i18n total y viene con traducci\u00f3n al <strong>espa\u00f1ol (es_ES)<\/strong> lista para usar. Si trabajas con WordPress en espa\u00f1ol, toda la interfaz aparecer\u00e1 traducida sin necesidad de plugins adicionales ni servicios externos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lo que se mantuvo igual (porque ya funcionaba bien)<\/h2>\n\n\n\n<p>Algunas cosas no hac\u00eda falta tocarlas porque ya estaban bien resueltas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PHPMailer integrado<\/strong>: la librer\u00eda est\u00e1ndar y m\u00e1s confiable para enviar correos en PHP, sin dependencias externas.<\/li>\n\n\n\n<li><strong>Cifrado AES-256-CBC de la contrase\u00f1a SMTP<\/strong>: la contrase\u00f1a se guarda cifrada usando las claves de WordPress (<code>AUTH_KEY<\/code>, <code>SECURE_AUTH_KEY<\/code>, <code>LOGGED_IN_KEY<\/code>). Solo esa instalaci\u00f3n espec\u00edfica puede descifrarla.<\/li>\n\n\n\n<li><strong>Herramienta de env\u00edo de prueba<\/strong>: desde <strong>Tinio SMTP > Send Email<\/strong> puedes verificar que todo funcione antes de poner el sitio en producci\u00f3n.<\/li>\n\n\n\n<li><strong>Niveles de debug de PHPMailer<\/strong>: desde el nivel 0 (silencioso, ideal para producci\u00f3n) hasta el 4 (muy detallado). Todo configurable desde el panel.<\/li>\n\n\n\n<li><strong>Sin bloat<\/strong>: nada de integraciones de terceros, publicidad, versi\u00f3n \u201cpremium\u201d ni telemetr\u00eda. Solo lo que realmente necesitas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Casos de uso donde lo estoy usando<\/h2>\n\n\n\n<p>En las 12 instalaciones activas, los usos m\u00e1s comunes son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Notificaciones de nuevos comentarios y registros de usuarios<\/li>\n\n\n\n<li>Restablecimiento de contrase\u00f1as (donde es cr\u00edtico que el correo llegue)<\/li>\n\n\n\n<li>Correos enviados desde Contact Form 7<\/li>\n\n\n\n<li>Confirmaciones y notificaciones de pedidos en WooCommerce<\/li>\n\n\n\n<li>Alertas autom\u00e1ticas de formularios internos<\/li>\n<\/ul>\n\n\n\n<p>En todos los casos, la configuraci\u00f3n es la misma: servidor SMTP, puerto, usuario y contrase\u00f1a. Nada m\u00e1s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n y configuraci\u00f3n r\u00e1pida<\/h2>\n\n\n\n<p><strong>Requisitos:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress 6.0 o superior<\/li>\n\n\n\n<li>PHP 8.1 o superior<\/li>\n\n\n\n<li>Extensi\u00f3n OpenSSL habilitada (viene por defecto en la mayor\u00eda de hostings modernos)<\/li>\n<\/ul>\n\n\n\n<p><strong>C\u00f3mo instalarlo:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Descarga el archivo ZIP desde la p\u00e1gina de <a href=\"https:\/\/github.com\/jure-ve\/tinio-smtp-mailer\/releases\">releases<\/a> en GitHub o clona el repositorio directamente.<\/li>\n\n\n\n<li>En tu WordPress ve a <strong>Plugins > A\u00f1adir nuevo > Subir plugin<\/strong>, selecciona el ZIP, inst\u00e1lalo y act\u00edvalo.<\/li>\n\n\n\n<li>Dir\u00edgete a <strong>Tinio SMTP > Configuration<\/strong> e introduce tus datos SMTP.<\/li>\n<\/ol>\n\n\n\n<p><strong>Ejemplo de configuraci\u00f3n con Gmail:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Campo<\/th><th>Valor<\/th><\/tr><tr><td>SMTP Host<\/td><td>smtp.gmail.com<\/td><\/tr><tr><td>Puerto<\/td><td>587<\/td><\/tr><tr><td>Seguridad<\/td><td>TLS<\/td><\/tr><tr><td>Autenticaci\u00f3n<\/td><td>S\u00ed<\/td><\/tr><tr><td>Usuario<\/td><td>tu direcci\u00f3n de Gmail<\/td><\/tr><tr><td>Contrase\u00f1a<\/td><td><a href=\"https:\/\/support.google.com\/accounts\/answer\/185833\" rel=\"noreferrer noopener\" target=\"_blank\">Contrase\u00f1a de aplicaci\u00f3n<\/a> (si tienes 2FA activado)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Diagn\u00f3stico cuando algo no funciona<\/h2>\n\n\n\n<p>Si un correo no llega, te recomiendo seguir este orden:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Revisa el Email Log<\/strong> primero. Si fall\u00f3, el mensaje de error del servidor SMTP suele aparecer claramente en la columna \u201cDetails\u201d. La mayor\u00eda de problemas (credenciales incorrectas, puerto bloqueado, l\u00edmites de env\u00edo) se resuelven aqu\u00ed.<\/li>\n\n\n\n<li><strong>Activa el debug de PHPMailer<\/strong>. Pon el nivel en 2 (Server) para ver la conversaci\u00f3n completa con el servidor en los logs de PHP.<\/li>\n\n\n\n<li><strong>Revisa los logs de WordPress<\/strong>. Activa <code>WP_DEBUG<\/code> y <code>WP_DEBUG_LOG<\/code> en tu <code>wp-config.php<\/code> para que los errores queden registrados en <code>wp-content\/debug.log<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo abierto y contribuciones bienvenidas<\/h2>\n\n\n\n<p>Tinio SMTP Mailer est\u00e1 licenciado bajo GPL-2.0 y todo el c\u00f3digo est\u00e1 disponible en <a href=\"https:\/\/github.com\/jure-ve\/tinio-smtp-mailer\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>.<\/p>\n\n\n\n<p>Si encuentras alg\u00fan bug, tienes una idea para mejorarlo o quieres contribuir con c\u00f3digo, las pull requests son m\u00e1s que bienvenidas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfListo para usarlo?<\/h2>\n\n\n\n<p>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\u00f3n.<\/p>\n\n\n\n<p>Si decides probarlo, me encantar\u00eda saber c\u00f3mo te va. \u00bfFuncion\u00f3 sin problemas? \u00bfTuviste alg\u00fan inconveniente? Deja tu comentario abajo, estar\u00e9 pendiente.<\/p>\n\n\n\n<p>Gracias por leer y llegar hasta ac\u00e1.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace casi un a\u00f1o publiqu\u00e9 en este blog el plugin Simple SMTP Mailer. Naci\u00f3 de la pura frustraci\u00f3n con la mayor\u00eda 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: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[15,19],"class_list":["post-235","post","type-post","status-publish","format-standard","hentry","category-desarrollo","tag-php","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/comments?post=235"}],"version-history":[{"count":0,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/235\/revisions"}],"wp:attachment":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/media?parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/categories?post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/tags?post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}