{"id":543,"date":"2026-09-06T01:06:40","date_gmt":"2026-09-06T04:06:40","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/a-historia-do-dovecot\/"},"modified":"2026-09-08T07:56:01","modified_gmt":"2026-09-08T10:56:01","slug":"a-historia-do-dovecot","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/a-historia-do-dovecot\/","title":{"rendered":"A hist\u00f3ria do Dovecot: o pombal que virou o IMAP"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro guardando um envelope no escaninho, com o servidor entregando as mensagens\" src=\"\/wp-content\/uploads\/2026\/09\/dovecot-historia-v2.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p>Em julho de 2002 um finland\u00eas que j\u00e1 tinha escrito o irssi soltou um IMAP feito para n\u00e3o ser o Courier nem o UW. Chamou o bicho de Dovecot \u2014 pombal. Cinco anos depois, em 13 de abril de 2007, saiu a 1.0.0. Timo Sirainen anotou: \u201cquase cinco anos, mas est\u00e1 pronto\u201d. Vinte e quatro anos depois o Dovecot 2.4.5 (28 de agosto de 2026) ainda \u00e9 o IMAP que a maior parte da internet usa: a Open Email Survey de 2020 mediu 2,9 milh\u00f5es de servidores e 76,9% de share. O Postfix entrega; o Dovecot guarda e devolve.<\/p>\n<p><!-- more --><\/p>\n<h2>Tampere, irssi e um IMAP que n\u00e3o ca\u00edsse<\/h2>\n<p>Timo Sirainen vinha do IRC. O irssi, cliente de terminal que uma gera\u00e7\u00e3o inteira de admin Linux usou, \u00e9 dele. No come\u00e7o dos anos 2000 ele trabalhava numa empresa pequena na Finl\u00e2ndia que precisava de IMAP para o correio interno. Courier era o padr\u00e3o \u201cleve\u201d. UW IMAP, o da Universidade de Washington, era o padr\u00e3o acad\u00eamico. Os dois tinham fama de buraco e de configura\u00e7\u00e3o que d\u00f3i. Timo queria o contr\u00e1rio: seguran\u00e7a por desenho, r\u00e1pido, f\u00e1cil de levantar.<\/p>\n<p>O nome \u00e9 o pr\u00e9dio: <em>dovecot<\/em> \u00e9 o pombal, as caixas na parede onde o pombo entra. Pigeonhole, o projeto de Sieve que veio depois, \u00e9 o nicho \u2014 o escaninho do correio. A met\u00e1fora cabe: IMAP n\u00e3o transporta carta (isso \u00e9 SMTP). IMAP \u00e9 o arm\u00e1rio. O logo teal \u2014 duas pombas\/chevrons em voo \u2014 \u00e9 essa parede.<\/p>\n<p class=\"translation-block\">Os primeiros anos foram hobby e contrato. Rackspace o levou um ano para dentro. Portugal Telecom, meio ano. Empresas pagavam feature; o c\u00f3digo abria. Em 2011 ele formalizou a Dovecot Oy, modelo open core: o CE de gra\u00e7a, o que telco e ISP grande precisam (cluster, suporte, depois o Pro) pago. O sal\u00e1rio dos devs do aberto sa\u00eda da\u00ed. Ele disse isso na \u00e9poca e a empresa repetiu em 2025, quando algu\u00e9m perguntou se o Dovecot \u201cia ficar propriet\u00e1rio\u201d.<\/p>\n<h2>2002\u20132007: cinco anos at\u00e9 a 1.0<\/h2>\n<p>A primeira p\u00fablica \u00e9 julho de 2002. A 1.0.0 s\u00f3 em 13 de abril de 2007, depois de reescrever quase tudo. Timo avisou na lista: n\u00e3o esperava 1.0.1 t\u00e3o cedo, a menos que algu\u00e9m estivesse sentado em bug grave esperando a 1.0. Quem queria feature nova que fosse para a 1.1. mbox e Maildir desde o come\u00e7o \u2014 compat\u00edvel com Courier e UW, para o cliente que j\u00e1 lia a caixa no disco n\u00e3o quebrar. dbox nasceu ainda na s\u00e9rie 1.x (alpha da 1.0, redesenho na 1.1) e s\u00f3 amadureceu de verdade na 2.0.<\/p>\n<p>O desenho de processo j\u00e1 era o do Dovecot que conhecemos: um master, filhos com privil\u00e9gio m\u00ednimo, <code data-no-translation=\"\">dovenull<\/code> e <code data-no-translation=\"\">dovecot<\/code> como usu\u00e1rios de sistema. Login separado do IMAP. \u00cdndice pr\u00f3prio para flag e cache, para n\u00e3o reler a Maildir inteira a cada IDLE. Quem vinha de Courier sentia a diferen\u00e7a no <code data-no-translation=\"\">SELECT<\/code> de caixa grande.<\/p>\n<h2>2.0, agosto de 2010: LMTP, mdbox, doveadm<\/h2>\n<p>A 2.0.0 saiu em 16 de agosto de 2010. Timo estava \u201ccautelosamente otimista\u201d de que a 2.0.1 n\u00e3o precisaria vir em dias. Mudou o ch\u00e3o:<\/p>\n<ul>\n<li>Dois usu\u00e1rios de sistema por default: <code data-no-translation=\"\">dovecot<\/code> e <code data-no-translation=\"\">dovenull<\/code>.<\/li>\n<li><strong>LMTP<\/strong> de verdade \u2014 o jeito certo de o <a href=\"\/es\/2026\/09\/a-historia-do-postfix\/\">Postfix<\/a> (e o Exim) entregarem na caixa sem LDA a cada mensagem.<\/li>\n<li><strong>mdbox<\/strong> (multi-dbox): v\u00e1rios mails por arquivo, \u00edndices em que o Dovecot confia. Perder o \u00edndice \u00e9 perder flag \u2014 o aviso ainda est\u00e1 na doc.<\/li>\n<li><code data-no-translation=\"\">doveadm<\/code> no lugar de meia d\u00fazia de bin\u00e1rio. Quota, kick, replica\u00e7\u00e3o, dump de \u00edndice.<\/li>\n<li>Pigeonhole passou a instalar <em>sem patch<\/em> no core.<\/li>\n<\/ul>\n<p>Stephan Bosch fechou o Pigeonhole 0.2.0 semanas depois, para a 2.0.2: Sieve (RFC 5228) e ManageSieve (RFC 5804) num pacote s\u00f3. O nome, de novo, \u00e9 o nicho do pombal. Vacation, fileinto, duplicate, depois IMAPSIEVE. Quem filtra no servidor em 2026 ainda fala Sieve; o interpretador \u00e9 esse.<\/p>\n<h2>2.2 e 2.3: dsync, MSA, Lua<\/h2>\n<p>A 2.2.0 (12 de abril de 2013) reescreveu o <code data-no-translation=\"\">dsync<\/code> e p\u00f4s flag por usu\u00e1rio em mailbox compartilhada. Extens\u00f5es IMAP que o cliente moderno espera. A 2.3.0 (22 de dezembro de 2017) entrou com <em>message submission agent<\/em> \u2014 o Dovecot tamb\u00e9m fala 587 \u2014 e autentica\u00e7\u00e3o em Lua. Push notification, eventos, o recorte de \u201cn\u00e3o \u00e9 s\u00f3 imapd\u201d.<\/p>\n<p>No meio disso, mar\u00e7o de 2015: a Dovecot Oy fundiu com a Open-Xchange AG. Timo, Mikko Linnam\u00e4ki e Markku Kentt\u00e4 viraram s\u00f3cio da OX. Timo na lista: nada de matar o nome, nada de for\u00e7ar o App Suite para baixo do IMAP. \u201cFinalmente posso voltar a desenhar coisa nova.\u201d A OX ganhava o backend que 57% dos IMAP ativos j\u00e1 rodavam (n\u00famero da \u00e9poca). O CE continuou saindo. O Pro, para telco.<\/p>\n<h2>O que o pombal faz melhor que o Courier<\/h2>\n<p>N\u00e3o \u00e9 GUI. \u00c9 o arm\u00e1rio:<\/p>\n<ul>\n<li><strong>Formatos<\/strong>: mbox, Maildir, sdbox (um mail por arquivo), mdbox (v\u00e1rios). imapc\/pop3c se a caixa mora em outro servidor.<\/li>\n<li><strong>\u00cdndice<\/strong>: flag, cache, thread. Maildir sincroniza; dbox assume que o \u00edndice \u00e9 a verdade.<\/li>\n<li><strong>Auth<\/strong>: passwd, PAM, LDAP, SQL, Lua, GSSAPI, autenticador SASL que o Postfix 2.3+ e o Exim 4.64+ consultam direto \u2014 um \u00fanico lugar de senha para SMTP-auth e IMAP.<\/li>\n<li><strong>ACL, shared, quota, zlib, FTS<\/strong> (hoje o driver flatcurve). Hiberna\u00e7\u00e3o de IDLE num processo <code data-no-translation=\"\">imap-hibernate<\/code>.<\/li>\n<li><strong>Pigeonhole<\/strong>: Sieve na entrega (LDA\/LMTP) e ManageSieve na 4190.<\/li>\n<\/ul>\n<p>Em 2017 a Mozilla, via MOSS, pagou a Cure53 para auditar o c\u00f3digo. O relat\u00f3rio \u00e9 o tipo de coisa que admin cola no slide: apesar de tentar, os testers acharam tr\u00eas problemas menores. \u201cExceptionally good outcome.\u201d Seguran\u00e7a n\u00e3o era marketing \u2014 era o crit\u00e9rio de 2002.<\/p>\n<h2>2.4: a config que quebra de prop\u00f3sito<\/h2>\n<p class=\"translation-block\">A 2.4.0 saiu em 24 de janeiro de 2025, depois de uma espera longa. Aki Tuomi, da Open-Xchange Oy, avisou na lista: pacote 2.4 <strong>n\u00e3o<\/strong> l\u00ea config 2.3. Reescreve. <code>dovecot_config_version<\/code> tem de ser a primeira linha que n\u00e3o \u00e9 coment\u00e1rio; <code>dovecot_storage_version<\/code> tamb\u00e9m entra. Sem isso o processo recusa subir \u2014 de prop\u00f3sito, para n\u00e3o mudar default em sil\u00eancio. A se\u00e7\u00e3o <code>plugin {}<\/code> morreu. Todo <code>passdb<\/code>\/<code>userdb<\/code> ganhou nome. Berkeley DB saiu. Memcached dict saiu (Redis no lugar). Vari\u00e1vel nova, filtro nomeado, SSL obrigat\u00f3rio inclusive em <code>login_trusted_networks<\/code> quando <code>ssl=required<\/code>.<\/p>\n<p>A chave de pacote tamb\u00e9m virou: 2.4 assina com <code data-no-translation=\"\">EF0882079FD4ED32BF8B23B2A1B09EF84EDC5219<\/code>. A 2.3 ficou na chave antiga. Em 12 de maio de 2025 o lifecycle: tudo antes da 2.3, EOL total; 2.3 s\u00f3 corre\u00e7\u00e3o cr\u00edtica de seguran\u00e7a; feature e bug no 2.4. Distro que empacota 2.3 que se vire com o vendor.<\/p>\n<p>O Pro foi para a arquitetura Palomar (3.x desde setembro de 2024). O CE n\u00e3o ficou propriet\u00e1rio \u2014 a OX repetiu isso em dezembro de 2025. Feature de cluster grande mora no Pro; o pombal aberto continua o melhor IMAP de m\u00e1quina \u00fanica e de ISP m\u00e9dio.<\/p>\n<h2>2026: 2.4.5, Sieve, ML-KEM<\/h2>\n<p>A 2.4.5 e o Pigeonhole 2.4.5 sa\u00edram juntos em 28 de agosto de 2026. Release de seguran\u00e7a, n\u00e3o de brinquedo:<\/p>\n<ul>\n<li>use-after-free no Sieve <code data-no-translation=\"\">editheader<\/code> \u2014 o tipo de bug que vira RCE na entrega.<\/li>\n<li>SMTP smuggling no recorte de submiss\u00e3o.<\/li>\n<li>CVE-2026-40204: criar mailbox furava ACL.<\/li>\n<li>OTP (SASL e password scheme) removido.<\/li>\n<li>Heredoc na config (<code data-no-translation=\"\">&lt;&lt;MARKER<\/code>).<\/li>\n<li><code data-no-translation=\"\">doveadm auth cache status<\/code>.<\/li>\n<li>FTS flatcurve com busca por frase.<\/li>\n<li>ML-KEM-512\/768\/1024 via OpenSSL 3 \u2014 KEM p\u00f3s-qu\u00e2ntico no TLS do IMAP.<\/li>\n<li>AEAD na criptografia de chave do Dovecot.<\/li>\n<\/ul>\n<p>O Ubuntu 24.04 ainda empacota 2.3.x da distro. Quem quer 2.4 vai em <code data-no-translation=\"\">repo.dovecot.org<\/code> ou compila. Docker oficial: <code data-no-translation=\"\">dovecot\/dovecot<\/code>. A combina\u00e7\u00e3o cl\u00e1ssica deste blog continua a mesma de 2010: Postfix na 25\/587, Dovecot na 143\/993, LMTP no socket, SASL compartilhado. Zimbra, por baixo, tamb\u00e9m fala com um Dovecot \u2014 o recorte antigo est\u00e1 em <a href=\"\/es\/2017\/04\/install-zimbra-8\/\">Instala\u00e7\u00e3o do Zimbra 8.7.1 no Ubuntu<\/a>.<\/p>\n<h2>Linha do tempo<\/h2>\n<ul>\n<li><strong>2002<\/strong> \u2014 em Tampere, na Finl\u00e2ndia, Timo Sirainen come\u00e7a o Dovecot, cansado de servidores IMAP que ca\u00edam e vazavam.<\/li>\n<li><strong>2007<\/strong> \u2014 depois de cinco anos de desenvolvimento, sai a 1.0.<\/li>\n<li><strong>Agosto de 2010<\/strong> \u2014 a 2.0 traz LMTP, o formato mdbox e o <code data-no-translation=\"\">doveadm<\/code>.<\/li>\n<li><strong>2.2 e 2.3<\/strong> \u2014 chegam o <code data-no-translation=\"\">dsync<\/code> para replica\u00e7\u00e3o, o papel de MSA e a extensibilidade em Lua.<\/li>\n<li><strong>Setembro de 2024<\/strong> \u2014 a vers\u00e3o Pro migra para a arquitetura Palomar, na s\u00e9rie 3.x.<\/li>\n<li><strong>12 de maio de 2025<\/strong> \u2014 novo ciclo de vida: tudo antes da 2.3 chega ao fim; a 2.3 passa a receber s\u00f3 corre\u00e7\u00e3o cr\u00edtica.<\/li>\n<li><strong>2.4<\/strong> \u2014 a configura\u00e7\u00e3o muda de prop\u00f3sito e quebra compatibilidade; <code data-no-translation=\"\">ssl=required<\/code> vira padr\u00e3o e a chave de assinatura de pacote \u00e9 trocada.<\/li>\n<li><strong>Dezembro de 2025<\/strong> \u2014 a Open-Xchange reafirma que a edi\u00e7\u00e3o comunit\u00e1ria continua aberta.<\/li>\n<li><strong>28 de agosto de 2026<\/strong> \u2014 2.4.5 e Pigeonhole 2.4.5: corre\u00e7\u00f5es de seguran\u00e7a s\u00e9rias e criptografia p\u00f3s-qu\u00e2ntica ML-KEM no TLS.<\/li>\n<\/ul>\n<h2>O que ficou<\/h2>\n<p>Um pombal finland\u00eas, um IRC client, cinco anos at\u00e9 a 1.0 e a teimosia de n\u00e3o confiar em IMAP que j\u00e1 tinha vazado. Courier e UW sa\u00edram de cena. Cyrus ficou no nicho acad\u00eamico. O Dovecot ficou com tr\u00eas quartos dos IMAP do planeta e com o Postfix do outro lado da fila. 2.4.5, MIT\/LGPLv2, Pigeonhole no Sieve, CE aberto, Pro na Palomar. Timo desenhou o arm\u00e1rio. Aki e a OX ainda o entregam.<\/p>\n<p>O MTA irm\u00e3o: <a href=\"\/es\/2026\/09\/a-historia-do-postfix\/\">A hist\u00f3ria do Postfix<\/a>. O Unix embaixo: <a href=\"\/es\/2017\/08\/a-historia-do-unix\/\">UNIX \u2014 A Origem dos Sistemas<\/a> e <a href=\"\/es\/2026\/09\/linux-35-anos\/\">Linux faz 35 anos<\/a>.<\/p>\n<p>Das caixas na parede de Tampere \u00e0 2.4.5: o pombal ainda devolve a carta. Teal, \u00edndice em disco, IDLE hibernado. O pombo entra. O IMAP responde.<\/p>","protected":false},"excerpt":{"rendered":"<p>Em julho de 2002 um finland\u00eas que j\u00e1 tinha escrito o irssi soltou um IMAP feito para n\u00e3o ser o Courier nem o UW. Chamou o bicho de Dovecot \u2014 pombal. Cinco anos depois, em 13 de abril de 2007, saiu a 1.0.0. Timo Sirainen anotou: \u201cquase cinco anos, mas est\u00e1 pronto\u201d. Vinte e quatro &#8230; <a title=\"A hist\u00f3ria do Dovecot: o pombal que virou o IMAP\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/a-historia-do-dovecot\/\" aria-label=\"Read more about A hist\u00f3ria do Dovecot: o pombal que virou o IMAP\">Read more<\/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,242,245,243,233,244],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-email","category-linux","category-opensource","category-servidores","tag-dovecot","tag-imap","tag-pigeonhole","tag-pop3","tag-postfix","tag-sieve"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/543","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=543"}],"version-history":[{"count":3,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":1154,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/543\/revisions\/1154"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}