A história do Postfix: o correio que nasceu na IBM

Mascote do LinuxPro carimbando um envelope na triagem, com o ratinho carteiro entregando a correspondência

Em 1997, Wietse Venema, no IBM Thomas J. Watson Research Center, começou a escrever um MTA para não ter de conviver com o Sendmail. Em 14 de dezembro de 1998, o código abriu. Chamou-se VMailer, depois IBM Secure Mailer, depois Postfix — “post” de correio, “fix” de conserto. Vinte e oito anos depois, o Postfix 3.11.6 (10 de agosto de 2026) ainda entrega carta em mais servidores visíveis no Shodan do que o Exim, e continua o default de muita distro, Ubuntu incluído.

Watson, Sendmail e um holandês teimoso

Wietse Venema já era nome conhecido antes do Postfix. TCP Wrapper (hosts.allow / hosts.deny), SATAN, o trabalho em segurança na Universidade de Tecnologia de Eindhoven e depois na IBM. Sendmail, de Eric Allman, era o MTA do mundo Unix: monolito, configuração que parece mictório de alienígena (sendmail.cf), histórico de buraco. Venema queria três coisas que o Sendmail não dava de graça: segurança por desenho, desempenho sob carga, e administração que um humano consegue ler.

A IBM deixou abrir o código. Primeiro nome, VMailer, bateu em marca. IBM Secure Mailer era nome de laboratório. Postfix pegou: o correio, e o bugfix. Licença IBM Public License 1.0 — OSI, mas com cláusula de patente que alguns projetos evitam. A partir da 3.2.5 o código também sai em Eclipse Public License 2.0, à escolha de quem distribui. Dupla licença, o mesmo espírito de “use sem processo”.

O desenho: um mestre e muitos pedaços

A sacada do Postfix não é um daemon gordo. É um processo master que nasce filhos com privilégio mínimo, cada um uma função. Quem fala SMTP na porta 25 é o smtpd. Quem entrega na caixa local é o local (ou o virtual). Quem gerencia a fila é o qmgr. Quem reescreve endereço é o trivial-rewrite. Quem sai para outro MX é o smtp. Há pickup, cleanup, bounce, defer, error, flush, proxymap, verify, anvil, scache, tlsproxy, postscreen, dnsblog.

Se o smtpd toma um overflow, o resto da fila não cai junto. Cada serviço tem chroot opcional, UID próprio, limite de memória e de tempo. Foi isso que Venema desenhou em 1997, quando ainda se lia advisory de Sendmail toda semana. A fila vive em /var/spool/postfixincoming, active, deferred, hold, corrupt. postqueue -p and postsuper são o dia a dia. main.cf cabe numa tela; master.cf lista os serviços.

Por que ganhou do Sendmail (e empata com o Exim)

Nos anos 2000 o Sendmail ainda era o default de muita distro. O Postfix entrou pelo Ubuntu, pelo Fedora, por quem administrou um servidor de verdade e não quis mais m4. Qmail, de Dan Bernstein, teve a mesma obsessão de segurança — e uma licença que travou distro. Exim, de Cambridge, ficou forte em hospedagem compartilhada (cPanel). OpenSMTPD é o da OpenBSD. O Postfix ficou no meio: modular como o Qmail, configurável como gente grande, licença que o Debian engole.

Pesquisa pequena (E-Soft, fevereiro de 2025) ainda punha Exim na frente. Scan largo do Shodan, metade de agosto de 2026: Postfix ~2,1 milhões de detecções, Exim ~1,9 milhão. Alguns sites bloqueiam o Shodan; a ordem, mesmo assim, virou. Default no Ubuntu Server. Presente em appliance, em Zimbra por baixo, em lista de discussão, em relay de empresa que não quer Exchange.

TLS, milter, postscreen: o MTA adulto

O Postfix de 1998 falava SMTP clássico. O de 2026 fala o resto que o correio exigiu para não virar lixo:

  • TLS (STARTTLS e porta 465), DANE/TLSA, PFS, SNI.
  • Milter — a mesma API que o Sendmail inventou — para SpamAssassin, OpenDKIM, OpenDMARC, rspamd.
  • postscreen na frente do smtpd: greylist barato, drop de bot que não fala SMTP direito, antes de gastar um processo pesado.
  • SASL (SMTP AUTH), submission 587, filtro header_checks / body_checks, policy daemon no smtpd_recipient_restrictions.
  • MySQL, PostgreSQL, LDAP, SQLite como mapa. Caixa virtual sem conta Unix.

Quem monta stack de correio neste blog ainda passa por Zimbra — que usa Postfix por baixo — em Instalação do Zimbra 8.7.1 no Ubuntu. O painel clássico das caixas virtuais está em A história do PostfixAdmin; o sucessor em Go, em go-postfixadmin. O painel de hospedagem que nasceu na mesma época está em A História do Projeto ISPConfig.

2026: 3.11.6, Qualys e o rato que não aposenta

A estável 3.11.0 saiu em 5 de março de 2026. A 3.11.6, em 10 de agosto, veio com correção de impacto médio: DoS remoto e bypass de policy. Qualys, com ajuda do Claude Mythos Preview, e a equipe de segurança da OpenAI acharam a maior parte — mais da metade dos defeitos tinha vinte anos ou mais. Venema, no anúncio, foi direto: quando implementou o Postfix já sabia que haveria erro; por isso a arquitetura e as redes de proteção. Cento e cinquenta mil linhas, taxa de defeito abaixo do que ele tinha desenhado para aguentar.

As estáveis com suporte em setembro de 2026 são 3.11, 3.10, 3.9 e 3.8. A 3.7 chegou ao fim em 6 de março de 2026. Snapshots experimentais da 3.12 já circulam. O rato cinza com o saco amarelo escrito MAIL — a mysza de Andrzej Adam Filip — continua o mascote oficial.

E o autor? Wietse Venema deixou a IBM em 2015, depois de dezoito anos no Watson, e no mesmo ano entrou no Google, onde ficou oito anos — saiu em 2023 e segue, até hoje, como mantenedor do Postfix. O desenvolvimento é público: o código está no GitHub, github.com/vdukhovni/postfix (mantido com Viktor Dukhovni); o site canônico continua em postfix.org.

Timeline

  • 11/1996 — Wietse Venema chega ao IBM Thomas J. Watson Research Center;
  • 1997 — começa a escrever o MTA que substituiria o Sendmail na sua vida;
  • 14/12/1998 — beta pública do IBM Secure Mailer (depois Postfix);
  • 2005-2011 — o MTA amadurece: TLS e IPv6 no núcleo, Milter, postscreen;
  • 2015 — Postfix 3.0; Venema deixa a IBM e entra no Google;
  • 01/2018 — dupla licença IPL 1.0 / EPL 2.0 a partir da 3.2.5;
  • 2023 — Venema sai do Google após oito anos; continua mantenedor do projeto;
  • 10/08/2026 — auditoria da Qualys (com IA) e da equipe de segurança da OpenAI resulta na 3.11.6;
  • 09/2026 — snapshots da futura 3.12 em testes públicos.

Linha do tempo das versões e releases

  • 12/1998 — primeira versão pública (ainda como IBM Secure Mailer);
  • 2002 — Postfix 1.1 e, no fim do ano, o 2.0: a base moderna da fila e da configuração;
  • 03/2005 — 2.2: TLS e IPv6 integrados ao código principal;
  • 07/2006 — 2.3: chega o suporte a Milter, abrindo a porta para DKIM/DMARC e antispam;
  • 01/2011 — 2.8: postscreen passa a barrar bots antes do smtpd;
  • 01/2014 — 2.11: suporte a DANE/TLSA;
  • 02/20153.0: mapas dinâmicos e SMTPUTF8 (e-mail internacionalizado);
  • 28/02/2017 — 3.2.0;
  • 28/01/2018 — 3.2.5: dupla licença IPL 1.0 / EPL 2.0;
  • 27/02/2019 — 3.4.0: SNI no servidor TLS;
  • 2020-2025 — cadência anual no fim do inverno americano: 3.5 (16/03/2020), 3.6 (29/04/2021), 3.7 (05/02/2022), 3.8 (17/04/2023), 3.9 (06/03/2024), 3.10 (16/02/2025);
  • 05/03/20263.11.0, a estável atual; a 3.11.6 (10/08/2026) trouxe as correções da auditoria Qualys/OpenAI;
  • Hoje — com suporte: 3.11, 3.10, 3.9 e 3.8 (as quatro últimas estáveis, como de costume); a 3.7 aposentou em 06/03/2026.

O que ficou

Um pesquisador holandês na IBM, um monolito que todo mundo temia e um desenho de processos pequenos. O Sendmail não morreu no primeiro dia; foi sendo desinstalado. O Postfix não é “moderno” no sentido de Go e YAML. É C, main.cf and a master que não confia nos filhos. Por isso ainda está na porta 25.

A história maior do Unix/Linux neste blog está em A História dos Sistemas Operacionais, UNIX — A Origem dos Sistemas and Linux faz 35 anos. O hipervisor em que muita gente virtualiza o MX, em Proxmox.

De Watson a 3.11.6: o correio que o Sendmail não deu. IPL ou EPL 2.0, fila em disco, rato com saco amarelo. Vinte e oito anos, e o mailq ainda responde.