{"id":697,"date":"2026-09-06T14:52:29","date_gmt":"2026-09-06T17:52:29","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/go-postfixadmin\/"},"modified":"2026-09-08T10:15:50","modified_gmt":"2026-09-08T13:15:50","slug":"go-postfixadmin","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/go-postfixadmin\/","title":{"rendered":"go-postfixadmin: panel moderno para tu servidor Postfix"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro administrando as contas de e-mail no painel, com o gopher do Go segurando um envelope\" src=\"\/wp-content\/uploads\/2026\/09\/go-postfixadmin-v2.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<p>Quien ya mont\u00f3 un servidor de correo con Postfix + Dovecot conoce el ritual: el <a href=\"\/es\/2026\/09\/a-historia-do-postfixadmin\/\">PostfixAdmin cl\u00e1sico<\/a> en PHP, un servidor web configurado solo para \u00e9l y una interfaz que se qued\u00f3 en el tiempo. El <strong><a href=\"https:\/\/github.com\/jniltinho\/go-postfixadmin\" rel=\"noopener\" target=\"_blank\">go-postfixadmin<\/a><\/strong> es mi respuesta moderna a eso: un <strong>\u00fanico binario en Go<\/strong> con todo el frontend Vue 3 incrustado \u2014 panel web, API REST y herramientas de l\u00ednea de comandos para administrar dominios, buzones, alias y transports de tu servidor Postfix. Sin PHP, sin servidor web extra, sin carpeta de assets: desc\u00e1rgalo, ejec\u00fatalo, admin\u00edstralo.<\/p>\n<h2>Qu\u00e9 hace<\/h2>\n<ul>\n<li><strong>Gesti\u00f3n completa de correo<\/strong> \u2014 dominios, buzones (con cuota), alias, alias de dominios y transports de Postfix<\/li>\n<li><strong>Portal de autoservicio<\/strong> \u2014 el usuario final cambia su propia contrase\u00f1a, configura reenv\u00edo y respuesta autom\u00e1tica de vacaciones (mediante Dovecot Sieve) sin abrir un ticket<\/li>\n<li><strong>API REST de producci\u00f3n<\/strong> \u2014 versionada (<code data-no-translation=\"\">\/api\/v1<\/code>), JWT con refresh httpOnly, claves de API persistentes y Swagger interactivo para explorar<\/li>\n<li><strong>RBAC<\/strong> \u2014 separaci\u00f3n entre superadmin y admin de dominio, con permisos granulares<\/li>\n<li><strong>CLI y automatizaci\u00f3n<\/strong> \u2014 importaci\u00f3n\/exportaci\u00f3n CSV, creaci\u00f3n de buzones en lote, copia de seguridad, informes de cuota y lectores de registro<\/li>\n<li><strong>Observabilidad<\/strong> \u2014 registro de acciones administrativas e ingesta del registro de correo (<code data-no-translation=\"\">readlog<\/code>)<\/li>\n<li><strong>Interfaz en portugu\u00e9s<\/strong> \u2014 UI y mensajes totalmente traducidos (pt_BR, ingl\u00e9s y espa\u00f1ol)<\/li>\n<li><strong>Dos bases de datos<\/strong> \u2014 MariaDB\/MySQL y PostgreSQL, mediante GORM<\/li>\n<\/ul>\n<h2>Instalaci\u00f3n en minutos<\/h2>\n<p>Cada release publica <strong>binario, .deb y .rpm<\/strong> \u2014 elige el tuyo en <a href=\"https:\/\/github.com\/jniltinho\/go-postfixadmin\/releases\" rel=\"noopener\" target=\"_blank\">Releases<\/a>. En Debian\/Ubuntu:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">wget https:\/\/github.com\/jniltinho\/go-postfixadmin\/releases\/download\/v1.0.86\/go-postfixadmin_1.0.86_amd64.deb\nsudo apt install .\/go-postfixadmin_1.0.86_amd64.deb<\/code><\/pre>\n<p>En la familia Red Hat:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo dnf install https:\/\/github.com\/jniltinho\/go-postfixadmin\/releases\/download\/v1.0.86\/go-postfixadmin-1.0.86-1.x86_64.rpm<\/code><\/pre>\n<p>Genera la configuraci\u00f3n, ejecuta las migraciones de la base de datos y levanta el servidor:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">postfixadmin --generate-config\npostfixadmin migrate\npostfixadmin migrate rbac\npostfixadmin server<\/code><\/pre>\n<p>El panel se abre en <code data-no-translation=\"\">http:\/\/localhost:8080<\/code> \u2014 y con <code data-no-translation=\"\">server.swagger_enable = true<\/code> en la configuraci\u00f3n, la documentaci\u00f3n viva de la API est\u00e1 en <code data-no-translation=\"\">\/swagger\/<\/code>.<\/p>\n<h2>\u00bfPrefieres Docker?<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">docker run -p 8080:8080 \n  -e DB_URL=\"postfix:senha@tcp(seu-db:3306)\/postfix?charset=utf8mb4&parseTime=True\" \n  jniltinho\/go-postfixadmin:latest<\/code><\/pre>\n<p>El repositorio incluye un <code data-no-translation=\"\">docker-compose.yml<\/code> listo con MariaDB y creaci\u00f3n autom\u00e1tica del admin \u2014 toda la pila se levanta con un solo comando.<\/p>\n<h2>Integraci\u00f3n con Postfix y Dovecot<\/h2>\n<p>go-postfixadmin utiliza el mismo modelo de datos consolidado por PostfixAdmin: Postfix y Dovecot leen las tablas de dominios, buzones y alias directamente desde la base de datos. Las gu\u00edas paso a paso del servidor completo est\u00e1n en el repositorio \u2014 <a href=\"https:\/\/github.com\/jniltinho\/go-postfixadmin\/blob\/main\/DOCUMENTS\/setup\/SETUP_MAILSERVER_MARIADB.md\" rel=\"noopener\" target=\"_blank\">MariaDB<\/a> e <a href=\"https:\/\/github.com\/jniltinho\/go-postfixadmin\/blob\/main\/DOCUMENTS\/setup\/SETUP_MAILSERVER_POSTGRESQL.md\" rel=\"noopener\" target=\"_blank\">PostgreSQL<\/a>. Incluso incluye un <strong>servidor TCP de transport<\/strong> integrado para servir <code data-no-translation=\"\">transport_maps<\/code> a Postfix en tiempo real.<\/p>\n<h2>Bajo el cap\u00f3<\/h2>\n<p>Backend en <strong>Go 1.26<\/strong> (Echo v5, GORM, Cobra, Zerolog, OpenAPI mediante Swaggo); frontend <strong>Vue 3 + TypeScript + Tailwind v4<\/strong> compilado dentro del binario. El ejecutable sale comprimido con UPX y los paquetes .deb\/.rpm se generan mediante GitHub Actions en cada release. Licencia MIT.<\/p>\n<h2>Pruebe<\/h2>\n<p>Si administras Postfix \u2014 desde un dominio personal hasta cientos de clientes \u2014 go-postfixadmin fue hecho para eliminar la fricci\u00f3n del camino: un binario, una base de datos, un panel bonito y una API de verdad. Instala, levanta el <code data-no-translation=\"\">docker-compose<\/code> de prueba y cu\u00e9ntame qu\u00e9 te parece: las estrellas y las issues en <a href=\"https:\/\/github.com\/jniltinho\/go-postfixadmin\" rel=\"noopener\" target=\"_blank\">GitHub<\/a> son bienvenidas, y la <a href=\"\/es\/contato\/\">p\u00e1gina de contacto<\/a> est\u00e1 abierta a casos de uso y dudas.<\/p>","protected":false},"excerpt":{"rendered":"<p>Quem j\u00e1 montou servidor de e-mail com Postfix + Dovecot conhece o ritual: o PostfixAdmin cl\u00e1ssico em PHP, um web server configurado s\u00f3 para ele, e uma interface que parou no tempo. O go-postfixadmin \u00e9 a minha resposta moderna para isso: um \u00fanico bin\u00e1rio em Go com todo o frontend Vue 3 embutido \u2014 painel &#8230; <a title=\"go-postfixadmin: panel moderno para tu servidor Postfix\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/go-postfixadmin\/\" aria-label=\"Leer m\u00e1s sobre go-postfixadmin: painel moderno para seu servidor Postfix\">Leer m\u00e1s<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78,2,111,120],"tags":[241,79,31,233,256,72],"class_list":["post-697","post","type-post","status-publish","format-standard","hentry","category-email","category-linux","category-opensource","category-servidores","tag-dovecot","tag-email","tag-golang","tag-postfix","tag-postfixadmin","tag-servidores"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=697"}],"version-history":[{"count":3,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/697\/revisions"}],"predecessor-version":[{"id":1340,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/697\/revisions\/1340"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}