Com o software de servidor de email, como com todo o software, você precisa dar uma olhada nos bastidores e aprender como o software funciona.
Por exemplo, Cyrus IMAPd
usa o formato Maildir (pelo menos por padrão), mas além disso ele tem cyrus.{header,index,cache}
arquivos que ele usa para melhorar o desempenho. Graças a esses arquivos de dados, ele pode retornar cabeçalhos de e-mail e outras coisas comuns para o cliente de e-mail sem examinar cada arquivo de e-mail, o que melhora bastante o desempenho.
Com o software baseado em banco de dados, você precisa descobrir qual servidor de banco de dados funciona melhor com seu servidor de e-mail e provavelmente precisará de um DBA competente para manter tudo funcionando perfeitamente. Também certifique-se de que a sua escolha de software de servidor de e-mail gere consultas SQL sensatas.
Se você quer dormir tranquilamente, isso é apenas um começo. Você também precisa levar em conta a escalabilidade do seu sistema (por exemplo, com a Cyrus você pode usar Cyrus Murder
ou colocar Perdition
na frente da Cyrus para escalar até vários servidores), a disponibilidade do seu sistema (não importa se um nó do servidor desce ou não) e, claro, a capacidade de manutenção do sistema. Como seria fácil recuperar uma única caixa de correio? Ou todo o sistema? Como fazer backup de uma quantidade potencialmente grande de e-mail? Como gerenciar contas de usuários?