Armazenamento de emails com o Archiveopteryx

Archiveopteryx
Autor original: Jonathan Corbet
Publicado originalmente no:
lwn.net
Tradução: Roberto Bechtlufft

Assim como muitos leitores do LWN, eu também tenho que gerenciar uma quantidade enorme de emails. É justamente por isso que estou sempre interessado em ferramentas que me ajudem a lidar com tantas mensagens. Uma ferramenta que já está na minha mira há algum tempo é o Archiveopteryx, um armazenamento de email associado a um banco de dados com o propósito de cuidar de grandes volumes de email. O Archiveopteryx não parece ser incrivelmente popular, mas tem uma base de usuários dedicada e seu desenvolvimento tem ritmo constante. A versão 3.1.3 foi lançado no dia 10 de março.

A ideia do Archiveopteryx é simples: criar um armazenamento de email com um banco de dados PostgreSQL e permitir o acesso a ele por meio dos protocolos de sempre. A instalação é relativamente simples para sites que já tenham o PostgreSQL instalado, bastando um “make install” para cuidar da maior parte do trabalho. Um arquivo de configuração fácil de editar permite controlar os protocolos, portas e afins, e há um programa administrativo que pode ser usado para configurar usuários no armazenamento de email.

Quanto aos protocolos, o Archiveopteryx tem suporte a POP e IMAP para acesso ao email. Ele é capaz de receber email diretamente via SMTP, mas essa não é a maneira certa de se fazer as coisas aqui; ainda é importante ter um agente de transferência de email (ou MTA) no processo. A maneira ideal de se fazer isso é com o protocolo LMTP para aceitar email de um MTA; também há um utilitário de linha de comando que pode ser usado para esse fim, caso necessário. As instruções de instalação incluem instruções diretas para configurar o Archiveopteryx de modo que ele funcione com diversos MTAs. O Archiveopteryx também é compatível com o padrão de filtragem Sieve e com o protocolo associado para o gerenciamento de scripts.

Quem tem um armazenamento de email em larga escala certamente tem alguns emails arquivados em separado. O Archiveopteryx oferece a ferramenta aoximport que cuida da importação desses emails para o sistema. Só que eu achei o sistema inflexível e simples demais. Ele não consegue criar subpastas ao importar toda a hierarquia de pastas (as pastas já devem ter sido criadas para que a importação não falhe), e não consegui importar boa parte das mensagens ao trabalhar com uma caixa de correio maildir que estava por conta do Dovecot. Mas talvez o programa de importação seja como o instalador do Debian: os usuários geralmente só precisam dele uma vez, então não há muito trabalho em cima dele depois que as funcionalidades básicas são incluídas.

O Archiveopteryx funciona bem como servidor IMAP, e ele é mesmo rápido ao lidar com pastas que contêm muitas mensagens. Operações como a exclusão ou a organização de grupos de mensagens são muito mais rápidas tendo-se o Dovecot no mesmo servidor. Por outro lado, não consegui fazer o script Sieve funcionar; deve ser um problema de configuração incompleta, e não um problema fundamental com o Archiveopteryx em si, mas mesmo assim isso tirou a minha empolgação.

Esse problema “casa” com a coisa que mais me desapontou no Archiveopteryx, algo que talvez seja totalmente injustificável: eu queria que essa ferramenta fosse algo que ela não é. Se você vai se dar ao trabalho de armazenar todo o seu email em um banco de dados complexo, seria uma boa que pudesse fazer buscas complexas rapidamente nesses dados. Assim, na próxima vez em que fosse necessário, por exemplo, coletar posts zumbis da linux-kernel, bastaria fazer uma pesquisa rápida. Parece que o Archiveopteryx tem um recurso de pesquisa embutido, mas pelo visto o uso desse recurso está limitado à exportação de mensagens com a ferramenta aoxexport. O protocolo IMAP não é particularmente amigável em relação à implementação de pesquisas rápidas no lado do servidor, mas ainda assim eu tenho a impressão de que seria possível fazer melhor.

Esses problemas não tiram o brilho do que o Archiveopteryx faz bem: armazenar e apresentar grandes volumes de email usando os protocolos habituais. Como uma ferramenta para provedores de internet e outros que precisem disponibilizar email para muitos usuários, ele também parece extremamente útil. Está claro que ele foi criado para ser dimensionado de uma forma mais ampla do que servidores como o Dovecot.

Mas ainda tem um problema: o futuro do Archiveopteryx não está garantido. Por anos, esse programa foi desenvolvido por uma empresa chamada Oryx, que oferecia suporte comercial a ele. Só que em junho de 2009, os desenvolvedores da Oryx anunciaram que a empresa iria fechar as portas, dando seus últimos suspiros em outubro deste ano. Segundo eles:

Estamos encerrando as atividades da Oryx gradualmente, mas NÃO O ARCHIVEOPTERYX. Vamos lançá-lo sob uma licença BSD ou Apache 2 e continuar lançando novas versões por anos. Nós nos sentimos na obrigação de manter os arquivos existentes viáveis.

No momento, o código está licenciado sob a OSLv3.

A sensação de obrigação pode manter o Archiveopteryx de pé por uns tempos, mas se as pessoas pretendem confiar nesse programa por anos, é bom que surja em torno dele uma comunidade de desenvolvimento mais ativa. O Archiveopteryx tem jeito de ser um projeto controlado fortemente pela sua empresa criadora – o repositório do git do projeto está dominado por commits dos dois desenvolvedores principais. Projetos desse tipo sempre são meio arriscados caso a empresa que o banca tenha problemas. Mas o Archiveopteryx é software livre e é muito útil; acredito que sua comunidade de usuários consiga levá-lo adiante.

Créditos a Jonathan Corbetlwn.net
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Ver Mais

Esta postagem foi modificada pela última vez em 01/04/2010 20:31

Postagem relacionada