Criar servidor de e-mail próprio: Tutorial passo a passo
Não é tão complicado criar um servidor de e-mail próprio. Com ele, você tem máximo controle sobre a sua correspondência eletrônica. Crie um servidor de e-mail próprio configurando-o com o Docker e a stack docker-mailserver pronta para uso. Conheça os requisitos necessários e aprenda como criar e configurar um servidor de e-mail próprio com o nosso passo a passo.
O que é servidor de e-mail próprio?
Um servidor de e-mail Docker é uma solução de e-mail auto-hospedada, executada em contêineres Docker. Ele gerencia o envio, o recebimento e o armazenamento de e-mails, oferecendo controle total sobre privacidade dos dados, políticas de segurança e configurações do sistema. Em comparação com provedores como Gmail ou Outlook, um servidor de e-mail próprio no Docker coloca você no controle da infraestrutura, sendo ideal para desenvolvedores, usuários preocupados com privacidade e pequenas empresas.
Por que usar o Docker para um servidor de e-mail próprio?
Usar o Docker para hospedar o seu servidor de e-mail oferece diversas vantagens importantes:
- Isolamento e segurança: Contêineres Docker isolam o servidor de e-mail, reduzindo o risco de comprometimento do sistema como um todo e aumentando a segurança.
- Portabilidade: Contêineres Docker podem ser facilmente movidos entre ambientes, garantindo uma configuração consistente entre servidores locais e em nuvem.
- Implantação simplificada: O Docker oferece stacks pré-configurados, o que agiliza o processo de instalação e elimina a necessidade de configurações manuais.
- Escalabilidade: É possível escalar os contêineres Docker com facilidade para lidar com o aumento no tráfego de e-mails ou mudanças na demanda de recursos.
- Controle de versões: É possível definir versões específicas das imagens Docker, evitando problemas de compatibilidade e facilitando o rollback (reversão), se necessário.
- Consistência entre ambientes: O Docker garante configurações padronizadas em ambientes de desenvolvimento, teste e produção.
- Padrões de segurança mais altos
- Criptografia automática com SSL/TLS
- Data centers com certificação ISO 27001 e com redundância geográfica
- IMAP e SMTP
Requisitos de hardware para criar um servidor de e-mail Docker
Este tutorial é voltado para usuários com conhecimento técnico, familiarizados com Linux e Docker, que desejam uma infraestrutura de e-mail privada e flexível. Ele é especialmente relevante para desenvolvedores, administradores de TI e pequenas empresas.
Para criar seu servidor de e-mail próprio, primeiro você precisa do hardware adequado. A potência necessária depende de diversos fatores, como o volume de e-mails esperado. Um endereço IPv4 estático é essencial para garantir uma comunicação eficiente com outros servidores de e-mail. Além disso, é importante realizar uma configuração correta de DNS, incluindo registros MX, SPF, DKIM e DMARC. O suporte a IPv6 se torna cada vez mais relevante, pois garante a compatibilidade e melhora a reputação dos e-mails enviados.
Tecnologias recomendadas atualmente
- Imagem Docker: docker-mailserver/docker-mailserver:v13.2+
- Protocolos de e-mail: SMTP (Portas 25, 587, 465), IMAPS (993), POP3S (995)
- Padrões de segurança: TLS 1.3, DKIM, SPF, DMARC, DNSSEC (se suportado)
- Sistema operacional base: Ubuntu 22.04 LTS, Debian 12 ou distribuições Linux estáveis equivalentes
Você pode simplificar todo o processo usando o Docker mail server, uma stack open source bastante popular mantido pela comunidade. Ele inclui Postfix, Dovecot, rspamd, ClamAV e integração opcional com LDAP em um único contêiner.
O que considerar ao criar um servidor de e-mail Docker?
Recomendações de segurança
Para proteger seu servidor de e-mail, é fundamental aplicar configurações de segurança de forma consistente, incluindo:
- Utilizar certificados TLS atualizados (mínimo TLS 1.2, idealmente TLS 1.3)
- Configurar e aplicar políticas SPF, DKIM e DMARC
- Implementar limitação de taxa de envio e autenticação via SASL
- Habilitar conexões criptografadas para IMAP/POP3 e SMTP
- Configurar logs com ferramentas como rsyslog e rotação e arquivamento estruturado de logs
Mesmo com a utilização de contêineres Docker, uma configuração de segurança independente é essencial. O Docker facilita a instalação, mas não substitui o reforço de segurança do sistema, que inclui firewalls, permissões restritas, logs (ex.: via rsyslog) e atualizações regulares.
Recomendações gerais de configuração
A configuração de um servidor de e-mail Docker exige conhecimento técnico e atenção especial à segurança. A seguir, alguns pontos essenciais:
- Escolher uma imagem Docker apropriada e um stack de servidor de e-mail (ex.: docker-mailserver/docker-mailserver)
- Configurar os registros DNS (MX, SPF, DKIM, DMARC)
- Proteger o host Docker (firewall, Fail2Ban, criptografia)
- Escolher ferramentas adequadas para administração e monitoramento
- Realizar atualizações e backups regularmente (incluindo a imagem Docker)
- Configurar entradas de registro de DNS reverso e suporte a IPv6
- Atender aos requisitos legais (ex.: LGPD
Hardware necessário
Para criar seu servidor de e-mail próprio no Docker, é necessário contar com hardware adequado. O desempenho necessário depende de fatores como o volume de e-mails enviados diariamente e o número de usuários. Embora os contêineres Docker sejam leves, ainda é necessário considerar RAM, CPU e armazenamento. Serviços adicionais, como sistemas de backup ou filtros de conteúdo (ex.: antispam ou antiphishing), também exigem mais recursos. Além disso, você precisará de um endereço IPv4 estático para garantir boa comunicação com outros servidores de e-mail — IPs dinâmicos podem gerar problemas na entrega de mensagens.
Quer dar um toque profissional ao seu servidor de e-mail Docker? Um domínio personalizado é essencial para isso. Registre o seu domínio próprio com IONOS e obtenha um certificado SSL/TLS para o seu servidor de e-mail!
Ao escolher um ambiente adequado para o seu servidor de e-mail Docker, considere a capacidade necessária. Uma configuração simples consegue lidar com poucos e-mails por dia, enquanto um servidor corporativo exige bastante RAM, CPU e espaço de armazenamento.
| Cenário de servidor de e-mail | Hardware | Plano da IONOS ideal |
|---|---|---|
| Servidor doméstico simples, com pouco tráfego | 2 vCores; 8 GB de RAM; 240 GB SSD | VPS L |
| Servidor de e-mail para pequena empresa com até 1.000 e-mails diários | 8 vCores; 16 GB de RAM; 480 GB SSD | VPS XL |
| Servidor de e-mail empresarial com mais de 50.000 e-mails diários | 6 vCores; 32 GB de RAM; 2 x 480 GB SSD RAID | Dedicated AMD Server |
Um Dedicated Server da IONOS lhe dá acesso a um hardware empresarial para uso exclusivo. Planos de vServer e Cloud Server, por sua vez, são baseados em recursos virtualizados compartilhados com outros clientes, mas sem prejuízo de desempenho!
Tutorial passo a passo: Criar servidor de e-mail Docker
Neste tutorial, usaremos o popular contêiner Docker docker-mailserver.
Esse contêiner Docker leve e open source (licença MIT) oferece uma stack pronta para uso, para criar um servidor de e-mail próprio. Ou seja, ele já inclui todos os componentes importantes, como um servidor SMTP, um servidor IMAP ou POP3, um software antispam e antivírus e um serviço LDAP.
Passo 1: Obter imagem Docker
Você pode obter a imagem mais atual do docker-mailserver no diretório oficial do Docker Hub ou no repositório GitHub oficial da ferramenta.
O recomendado é obter uma versão estável, como a v13.2, em vez de usar tags como :latest e :edge.
Obtenha a imagem Docker inserindo o seguinte código na linha de comando:
docker pull mailserver/docker-mailserver:v13.2
# ou:
docker pull ghcr.io/docker-mailserver/docker-mailserver:v13.2bash Passo 2: Configurar o docker-compose.yml
O próximo passo é configurar o docker-compose.yml para definir os serviços e volumes necessários ao seu contêiner Docker. Aqui está um exemplo de configuração para seu servidor de e-mail:
version: '3.8'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:v13.2
container_name: mailserver
hostname: mail-server
domainname: example.com
ports:
- "25:25"
- "587:587"
- "465:465"
volumes:
- ./docker-data/dms/mail-data/:/var/mail/
- ./docker-data/dms/mail-state/:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
- ./docker-data/nginx-proxy/certs/:/etc/letsencrypt/
- /etc/localtime:/etc/localtime:ro
environment:
- ENABLE_FAIL2BAN=1
- SSL_TYPE=letsencrypt
- PERMIT_DOCKER=network
- ONE_DIR=1
- ENABLE_POSTGREY=0
- ENABLE_CLAMAV=0
- ENABLE_SPAMASSASSIN=0
- SPOOF_PROTECTION=0
cap_add:
- NET_ADMIN
- SYS_PTRACE yaml Essa configuração garante que o contêiner Docker use as portas corretas para SMTP (25), IMAPS (993) e SMTP Submission (587), e que os volumes sejam mapeados corretamente para um armazenamento de dados persistente. Além disso, recursos de segurança como Fail2Ban e Let’s Encrypt SSL estão ativados.
Nos manuais oficiais do docker-mailserver no GitHub, você encontra uma lista detalhada de configurações possíveis para o servidor de e-mail.
Passo 3: Liberar as portas
No arquivo docker-compose.yml, três portas (25, 465 e 587) estarão especificadas. Essas são as portas convencionais de um servidor SMTP. Elas também devem ser abertas no firewall do seu servidor para garantir um tráfego de e-mail tranquilo.
Se estiver usando o serviço de hospedagem da IONOS, faça isso com toda facilidade, pelo Cloud Panel:
- Faça login com seus dados de acesso na página de login do Cloud Panel.
- Vá para a seção “Server & Cloud”.
- Selecione o hardware do servidor no qual você deseja criar um servidor de e-mail.
- No menu à esquerda, clique em “Network” > “Firewall Policies”.
- Insira as três portas TCP 25, 465 e 587 por meio do botão “Add Rule”.

Passo 4: Configurar DNS
O passo seguinte é garantir que o serviço DNS do seu domínio esteja configurado corretamente:
- Registro MX: Aponta para o servidor de e-mail (por exemplo,
mail.exemplo.com) que você definiu nos camposhostnameedomainnamedo seu arquivodocker-compose.yml. - Registro SPF: Um registro do tipo TXT para o domínio (e não para o hostname), por exemplo:
v=spf1 mx ~all.
~all significa “Softfail”, mas alternativamente você pode usar -all, se preferir uma política mais rígida.
Configurar DNS no Painel de Controle da IONOS
- Acesse o Cloud Panel da IONOS.
- Vá até “Domínios e SSL.”
- Encontre seu domínio e clique no ícone de configurações.
- Selecione “DNS.”
- Adicione os seguintes registros:
- Registro MX: Destino =
mail.exemplo.com, Prioridade = 10 - Registro TXT: Tipo = TXT, Valor =
v=spf1 mx ~all
- Registro MX: Destino =

Em seguida, clique em “Reset domain” no menu superior, para aplicar as alterações. Confirme as alterações e clique em “Reset now” – isso afetará somente os registros DNS atualizados, não o domínio em si.
Quer arquivar seus e-mails comerciais com segurança? Com o IONOS Email Archiving, você pode arquivar automaticamente as caixas de correio selecionadas em formato inviolável.
Passo 5: Gerar chaves DKIM
Para aumentar a segurança do seu servidor de e-mail, agora você deve gerar um registro DKIM para o seu domínio. Essa técnica de criptografia poderá ser usada depois para assinar mensagens digitalmente.
Use o script setup.sh fornecido pelo diretório docker-mailserver:
./setup.sh config dkimA chave pública gerada será salva no arquivo abaixo se o volume tiver sido montado corretamente:
docker-data/dms/config/opendkim/keys/example.com/mail.txt swift Abra o arquivo e copie seu conteúdo para criar um registro TXT nas configurações de DNS do seu domínio. O registro DNS pode ter a seguinte aparência:
mail._domainkey.example.com. IN TXT (
"v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOC...continuedPublicKey...IDAQAB"
) java - mail é o seletor e pode ter qualquer nome que você preferir (por exemplo: default, key2025, etc.).
- Se o seu provedor de DNS limitar o comprimento a 255 caracteres por string, será necessário dividir a chave (como mostrado no exemplo).
- Certifique-se de que o tipo do registro seja TXT e que ele se aplique ao domínio completo:
mail._domainkey.exemplo.com.
Além do DKIM, é fundamental configurar também os registros SPF e DMARC para garantir uma proteção completa contra falsificação de e-mails (spoofing).
Passo 6: Iniciar servidor e criar o primeiro endereço
Inicie o servidor de e-mail configurado diretamente pelo diretório do projeto com o seguinte comando:
docker-compose up -dbashEssas instruções ajudarão você a configurar, de forma segura e eficiente, tanto ambientes modernos baseados em contêineres quanto servidores de e-mail tradicionais.
- Padrões de segurança mais altos
- Criptografia automática com SSL/TLS
- Data centers com certificação ISO 27001 e com redundância geográfica
- IMAP e SMTP

