Tutoriais técnicos
Montar um servidor de e-mail em VPS (2025) - Prática com contêineres do Docker Mailserver
O guia definitivo para auto-hospedar um servidor de e-mail em 2025. Use o Docker Mailserver para implantar rapidamente um serviço de e-mail seguro e moderno, com explicações detalhadas da configuração de registros DNS (SPF/DKIM/DMARC/PTR), ensinando você a evitar listas negras de envio e alcançar uma pontuação de e-mail de 10/10.

Em 2025, auto-hospedar um servidor de e-mail continua sendo a "masmorra final" para os entusiastas de tecnologia. Embora serviços gratuitos como Gmail e Outlook sejam práticos, ter seu próprio e-mail com domínio próprio (como [email protected]) não só parece profissional, como também dá a você controle total sobre a privacidade dos seus dados.
A configuração tradicional de Postfix + Dovecot é extremamente trabalhosa e propensa a erros. Este artigo usa o Docker Mailserver — uma solução de código aberto em contêineres que integra Postfix, Dovecot, SpamAssassin, ClamAV e outros componentes — para colocar um servidor de e-mail seguro e moderno funcionando em 10 minutos.
Antes de começar, confirme os três pontos a seguir, caso contrário você vai falhar 100%:
- A porta 25 é essencial: a grande maioria dos provedores de VPS (AWS, GCP, Vulter etc.) bloqueia por padrão o tráfego de saída da porta 25. Sem a porta 25, você não consegue enviar e-mails para outras caixas (como o Gmail).
- Método de autoteste:
telnet smtp.gmail.com 25. Se não conectar, abra um ticket com o suporte para solicitar o desbloqueio, ou mude para um provedor que suporte a porta 25 (como Contabo, alguns data centers da Racknerd).
- Método de autoteste:
- Reputação do IP: verifique se o IP do seu VPS está em uma lista negra (RBL). Se o IP estiver sujo, os e-mails enviados vão direto para a caixa de spam.
- DNS reverso (PTR): você precisa ter permissão para configurar registros PTR. Essa é a primeira linha de defesa dos grandes provedores de e-mail contra spam.
- Onde fazer: isso não é configurado no Cloudflare! Vá até o painel de controle do seu provedor de VPS (normalmente na página Networking ou IPv4 Settings), encontre "Reverse DNS" ou "PTR Records" e defina como seu domínio de e-mail (como
mail.example.com).
- Onde fazer: isso não é configurado no Cloudflare! Vá até o painel de controle do seu provedor de VPS (normalmente na página Networking ou IPv4 Settings), encontre "Reverse DNS" ou "PTR Records" e defina como seu domínio de e-mail (como
Se as condições acima forem atendidas, Let's Go!
Antes de implantar o serviço, é preciso configurar o DNS primeiro. Suponha que seu IP seja 1.2.3.4 e o domínio seja example.com.
Vá até seu provedor de domínios (recomendamos Cloudflare) e adicione os seguintes registros:
| Tipo | Nome | Conteúdo (Value) | Descrição |
|---|---|---|---|
| A | mail | 1.2.3.4 | Endereço do servidor de e-mail |
| MX | @ | mail.example.com | Prioridade definida como 10 |
| TXT | @ | v=spf1 mx ~all | Registro SPF: declara que apenas o servidor do registro MX pode enviar e-mails |
| A | example.com | 1.2.3.4 | (Opcional) Resolução do domínio principal |
Há mais dois registros importantes (DKIM e DMARC) que serão configurados após a implantação.
O Docker Mailserver precisa expor várias portas. Libere o tráfego de entrada no firewall do VPS (como UFW) ou no grupo de segurança do provedor de nuvem:
- 25 (TCP): transferência de e-mail SMTP (obrigatório)
- 80 e 443 (TCP): para solicitar certificados SSL do Let's Encrypt (obrigatório)
- 587 e 465 (TCP): envio de e-mail pelo cliente (SMTP Submission)
- 993 (TCP): recebimento de e-mail pelo cliente (IMAP SSL)
# UFW 示例
ufw allow 25/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 587/tcp
ufw allow 465/tcp
ufw allow 993/tcp
-
Preparação do ambiente: Certifique-se de que o Docker e o Docker Compose estão instalados. Observação: se o seu VPS já estiver executando Nginx/Caddy (ocupando a porta 80), a solicitação automática de certificado deste tutorial vai falhar. Recomenda-se implantar em um VPS limpo.
-
Criar diretório e configuração:
mkdir -p mailserver/{config,data} && cd mailserver -
Obter o arquivo de configuração oficial (recomendado):
wget -O compose.yaml https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/compose.yaml wget -O .env https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/mailserver.env -
Modificar o arquivo
.env:vim .env, com foco em modificar os seguintes itens:HOSTNAME=mail.example.com # 你的邮件服务器完整域名 DOMAINNAME=example.com # 你的主域名 SSL_TYPE=letsencrypt # 自动申请 SSL 证书 -
Iniciar o serviço:
docker compose up -d
O Docker Mailserver fornece um script setup.sh para gerenciar o serviço.
-
Baixar o script de gerenciamento:
wget -O setup.sh https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/setup.sh chmod +x setup.sh -
Criar uma conta de e-mail:
./setup.sh email add [email protected] strongPassword123 -
Gerar chaves DKIM (essencial contra falsificação):
./setup.sh config dkimA chave pública gerada fica em
docker-data/dms/config/opendkim/keys/example.com/mail.txt. -
Ir ao Cloudflare para adicionar o registro DKIM: Veja o conteúdo de
mail.txte extraia a longa string apósp=.- Tipo: TXT
- Nome:
mail._domainkey - Conteúdo:
v=DKIM1; k=rsa; p=你的公钥字符串
-
Adicionar um registro DMARC (melhora a reputação):
- Tipo: TXT
- Nome:
_dmarc - Conteúdo:
v=DMARC1; p=none; rua=mailto:[email protected]
Alguns minutos após o serviço iniciar, ele solicitará automaticamente um certificado SSL via Let's Encrypt.
Parâmetros de conexão do cliente:
- Endereço de e-mail:
[email protected] - IMAP (recebimento):
mail.example.com, porta 993 (SSL/TLS) - SMTP (envio):
mail.example.com, porta 465 (SSL/TLS) ou 587 (STARTTLS)
Preencha as informações acima no Outlook / Apple Mail do seu celular ou computador para enviar e receber e-mails.
Depois de concluir a configuração, não se apresse em enviar e-mails em massa.
- Pontuação de teste: acesse o Mail-Tester, obtenha um e-mail temporário e envie uma mensagem a partir do seu servidor. Se você seguir rigorosamente os passos acima (especialmente SPF/DKIM/PTR), deverá obter a pontuação máxima de 10/10.
- Backup dos dados (importante): todos os dados de e-mail e configurações ficam armazenados no diretório
mailserver/docker-data. Não deixe de fazer backup periódico desse diretório! Uma vez perdido, todos os e-mails não poderão ser recuperados. (Referência: Solução de backup automático para VPS)
Auto-hospedar e-mail é uma jornada de cultivo; que seus e-mails nunca caiam na caixa de spam!