Login
Login

Como configurar seu próprio servidor de e-mail

Como configurar seu próprio servidor de e-mail
Hostman Team
Technical writer
Serviços de Webmail
27.10.2025
Reading time: 11 min

Um servidor de e-mail é um sistema responsável por gerenciar o envio e o recebimento correto de mensagens entre o remetente e o destinatário. Por exemplo, quando você envia um e-mail pelo Gmail, está usando o servidor de e-mail do Google.

Um cliente de e-mail, por outro lado, é o programa usado para ler, enviar e armazenar mensagens. Exemplos incluem Microsoft Outlook, Thunderbird e outros.

Choose your server now!

Protocolos para recebimento e envio de e-mails

SMTP (Simple Mail Transfer Protocol)

O servidor de saída utiliza o protocolo SMTP (Simple Mail Transfer Protocol).

Ele possui duas funções principais:

  • Verificar a configuração do remetente e permitir que o dispositivo envie a mensagem.

  • Transmitir a mensagem e receber o código de resposta.

Os servidores SMTP usam as portas 25 (não criptografada) e 465 (criptografada).

POP3 (Post Office Protocol)

POP3 é um protocolo para receber e-mails. Ele permite que o cliente de e-mail se conecte ao servidor e baixe as mensagens para o dispositivo local, possibilitando acesso offline. Normalmente, as mensagens são removidas do servidor após o download (mas é possível manter uma cópia).

POP3 utiliza as portas 110 (sem criptografia) e 995 (com SSL/TLS).

IMAP (Internet Message Access Protocol)

Assim como o POP3, o IMAP é usado para receber e-mails, mas permite gerenciar as mensagens diretamente no servidor, sem precisar baixá-las. Isso é útil para acessar sua caixa de entrada em vários dispositivos.

IMAP usa as portas 143 (sem criptografia) e 993 (com SSL/TLS).

Por que criar seu próprio servidor de e-mail?

A resposta mais comum é:

“Para usar meu próprio domínio no endereço de e-mail.”

Isso é verdade, mas não é o único motivo. Você pode usar um domínio personalizado sem precisar configurar um servidor próprio. Muitos provedores permitem vincular seu domínio aos servidores de e-mail deles. A principal vantagem é que eles já fornecem um servidor SMTP configurado, com filtros antispam e certificados prontos. Basta definir corretamente os registros NS (Name Server) — o que é muito mais simples do que montar seu próprio servidor.

Porém, serviços de terceiros têm limitações:

  • Menos controle: você não define totalmente como o e-mail funciona.

  • Limites de envio: cada empresa impõe restrições de volume.
    Se você envia grandes quantidades (como newsletters ou uso corporativo), isso pode ser um problema.

Se optar por criar seu próprio servidor, será necessário gerenciar:

  • Cotas e limites de envio

  • Backups para evitar perda de dados

  • Listas negras de spam

  • Permissões de acesso se várias pessoas usarem o mesmo sistema

Ter um servidor próprio oferece controle total, mas requer maior conhecimento técnico e responsabilidade.

Configurando o servidor de e-mail

Nesta guia, criaremos um servidor em uma máquina na nuvem da Hostman, com Ubuntu 20.04 como sistema operacional.

O servidor oferecerá criptografia, proteção antispam e um painel de administração web para gerenciar contas.

Preparando o servidor

Entre no modo superusuário:

sudo su

Atualize os pacotes:

apt update && apt upgrade

Verifique o nome do host:

hostname

Se não corresponder ao domínio desejado:

hostnamectl set-hostname mail.hostname.com

Configure o fuso horário e sincronização de tempo com chrony:

apt install chrony
timedatectl set-timezone Europe/Athens

Liste os fusos horários:

timedatectl list-timezones

Ative o serviço:

systemctl enable chrony

Abrir as portas necessárias

Use o iptables para liberar:

  • 25, 465 — SMTP (envio)

  • 110, 995 — POP3 (recebimento)

  • 143, 993 — IMAP (recebimento)

  • 80, 443 — HTTP/HTTPS (painel web)
iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995,80,443 -j ACCEPT

Torne as regras persistentes:

netfilter-persistent save

Instalando e configurando o Postfix

O Postfix é um MTA (Mail Transfer Agent) de código aberto com arquitetura modular. Instale o Postfix e o módulo MySQL:

apt install postfix postfix-mysql

Durante a instalação: selecione Internet Site e informe seu domínio completo (FQDN).

Crie o usuário e grupo responsáveis pelo armazenamento de e-mails:

addgroup -gid 1080 vmail

Em seguida, crie o usuário vmail e atribua o diretório inicial a /home/mail:

adduser --home /home/mail -gid 1080 -uid 1080 vmail

Onde 1080 é o ID do grupo (GID) e o ID do usuário (UID). Se 1080 já estiver em uso, você pode escolher um valor diferente. Verifique se o diretório /home/mail pertence ao usuário e grupo vmail:

ll /home

Configuração principal do Postfix

Edite o arquivo:

nano /etc/postfix/main.cf

Adicione:

# Domains we accept mail for
mydestination = localhost.$mydomain, localhost, localhost.localdomain
# Postfix protocol
inet_protocols = ipv4
# Path to the public certificate
smtpd_tls_cert_file = /etc/ssl/mail/public.pem
# Path to the private certificate
smtpd_tls_key_file = /etc/ssl/mail/private.key
Then, add additional options required for Postfix to function correctly:
# Mail storage location
virtual_mailbox_base = /home/mail
# Path to alias maps
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
# Domain storage format
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
# Mailbox storage format
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
# Minimum virtual user ID
virtual_minimum_uid = 1080
# UID for the main user handling mail
virtual_uid_maps = static:1080
# GID for the group handling mail
virtual_gid_maps = static:1080
# Register Dovecot as the mail delivery agent
virtual_transport = dovecot
# Enable secure authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# Enable TLS encryption for outgoing SMTP connections
smtp_use_tls = yes
# Enable TLS support for incoming connections
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_helo_required = yes

Arquivos de mapeamento MySQL

Alias:

nano /etc/postfix/mysql_virtual_alias_maps.cf

Adicione o seguinte conteúdo:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

Da mesma forma, configure os mapas de domínio:

nano /etc/postfix/mysql_virtual_domains_maps.cf

Adicionar:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'

Caixas de correio:

nano /etc/postfix/mysql_virtual_mailbox_maps.cf

Adicionar:

user = postfix
password = postfixPa$$w0rd
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'

Ajustando o master.cf

nano /etc/postfix/master.cf

Adicione:

submission   inet  n  -  n  -  -  smtpd
-o smtpd_tls_security_level=may
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=/var/spool/postfix/private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
smtps   inet  n  -  n  -  -  smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
dovecot   unix  -  n  n  -  -  pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

Gerando certificados de segurança

Crie o diretório:

mkdir -p /etc/ssl/mail

Gere os certificados:

openssl req -new -x509 -days 1000 -nodes -out /etc/ssl/mail/public.pem -keyout /etc/ssl/mail/private.key -subj "/C=CY/ST=Limassol/L=Limassol/O=Global Security/OU=IT Department/CN=mail.devnullhost.com"

Ative e reinicie o Postfix:

systemctl enable postfix && systemctl restart postfix

Instalando e configurando o Dovecot

O Dovecot é um servidor IMAP/POP3 de código aberto.

Instale-o com o suporte MySQL:

apt install dovecot-imapd dovecot-pop3d dovecot-mysql

Defina o local de armazenamento:

nano /etc/dovecot/conf.d/10-mail.conf

No arquivo, especifique a estrutura de diretório para armazenar e-mails. Usaremos uma hierarquia de domínio → usuário:

mail_location = maildir:/home/mail/%d/%u/

No mesmo arquivo, configure o método de autenticação:

service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
}
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}

Edite o arquivo de configuração de autenticação do Dovecot:

nano /etc/dovecot/conf.d/10-auth.conf

SSL:

nano /etc/dovecot/conf.d/10-ssl.conf

Neste arquivo, adicione o seguinte:

ssl = required
ssl_cert = </etc/ssl/mail/public.pem
ssl_key = </etc/ssl/mail/private.key

Criação automática de caixas de correio:

nano /etc/dovecot/conf.d/15-lda.conf

Adicione a seguinte linha:

lda_mailbox_autocreate = yes

Conexão MySQL:

nano /etc/dovecot/dovecot-sql.conf.ext
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfixPa$$w0rd
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u'

Abra o arquivo de configuração principal do Dovecot para configurar a interface do servidor:

nano /etc/dovecot/dovecot.conf

Neste arquivo, adicione a seguinte linha para escutar em todas as interfaces de rede disponíveis:

listen = *

Ative e reinicie:

systemctl enable dovecot && systemctl restart dovecot

Instalando e configurando o PostfixAdmin

Pré-requisitos: servidor web, PHP e MySQL.

Instale as extensões PHP necessárias:

apt install php-mysql php-mbstring php-imap

Baixe o PostfixAdmin:

wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz

Crie um diretório para PostfixAdmin e extraia o conteúdo do arquivo:

mkdir -p /var/www/html/postfixadmin && tar -C /var/www/html/postfixadmin -xvf postfixadmin.tar.gz --strip-components 1

Em seguida, crie um diretório para armazenar caches de modelos:

mkdir /var/www/html/postfixadmin/templates_c

Defina as permissões corretas para o servidor web acessar o diretório PostfixAdmin:

chown -R www-data:www-data /var/www/html/postfixadmin

Crie o banco de dados:

mysql -u root
CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfixPa$$w0rd';
exit;

Edite o arquivo de configuração:

nano /var/www/html/postfixadmin/config.local.php

O conteúdo do arquivo deve ser:

<?php
$CONF['configured'] = true;
$CONF['default_language'] = 'en';
$CONF['database_password'] = 'postfixPa$$w0rd';
$CONF['emailcheck_resolve_domain']='NO';
?>

Abra /postfixadmin/public/setup.php, gere o hash da senha, insira-o no arquivo e acesse /postfixadmin/public/login.php.

nano /var/www/html/postfixadmin/config.local.php

Atualize a página /postfixadmin/public/setup.php e faça login com a senha que você usou para gerar o hash. Se tudo estiver configurado corretamente, você deverá ver uma página de verificação de configuração.

Na parte inferior desta página, há um formulário para criar uma conta de administrador. Após criar a conta de administrador com sucesso, acesse /postfixadmin/public/login.php e faça login com as credenciais que você acabou de configurar.

Você será redirecionado para o painel de administração do PostfixAdmin.

Criando uma caixa de correio no PostfixAdmin

No painel:

  • Domain List → New Domain

  • Depois Overview → Create Mailbox

Configurações de cliente:

Serviço

Porta

Segurança

IMAP

143

STARTTLS

POP3

110

STARTTLS

SMTP

25

STARTTLS

Login e senha: os definidos na criação da conta.

Conclusão

Nesta guia, aprendemos o que é um servidor de e-mail auto-hospedado e como configurá-lo passo a passo. A principal vantagem é ter controle total: criar caixas ilimitadas, definir aliases e gerenciar usuários.

Tudo isso pode ser implementado em um servidor em nuvem da Hostman, seguindo estas etapas para obter um sistema de e-mail seguro e confiável.

Serviços de Webmail
27.10.2025
Reading time: 11 min

Semelhante

Serviços de Webmail

Roundcube Webmail: guia completo de instalação, recursos e personalização

Roundcube é um cliente de e-mail baseado em navegador. Ele oferece acesso fácil para gerenciar e-mails por meio de uma interface web. Roundcube pode ser instalado de duas maneiras: usando Docker Compose ou diretamente em um servidor Ubuntu, para uma abordagem mais prática. Este guia é um manual completo que cobre tudo, desde pré-requisitos e instalação até solução de problemas e gerenciamento de contas no Roundcube Webmail. Vamos começar pelo porquê. Por que usar o Roundcube Webmail Aqui estão alguns dos principais recursos que tornam o Roundcube um cliente de e-mail diferenciado: Interface amigável: a interface do Roundcube é moderna, simples e fácil de usar. Suporte a IMAP e SMTP: é compatível com ambos os protocolos, garantindo compatibilidade com a maioria dos servidores de e-mail. Vários contas de e-mail: os usuários podem configurar várias contas na mesma interface e alternar facilmente entre elas. Baseado na web: tudo o que você precisa é de um navegador para acessar seus e-mails. Ideal para quem usa vários dispositivos. Extensível e personalizável: o Roundcube é de código aberto. Com centenas de plugins disponíveis, você pode personalizá-lo ao seu gosto. Catálogo de endereços: a integração do catálogo permite importar contatos existentes ou criar novos manualmente. Pré-requisitos Para seguir este tutorial, você precisará de: Um servidor Ubuntu: este guia usa o Ubuntu 22.04, mas deve funcionar em outras versões modernas. Docker e Docker Compose (para o Método 1): se não estiverem instalados, use os comandos abaixo: sudo apt updatesudo apt install docker docker-compose Método 1: Configurar o Roundcube com Docker Compose (Recomendado) Os containers Docker encapsulam todas as dependências necessárias para simplificar o processo de instalação. Veja abaixo um arquivo docker-compose.yml funcional para iniciar o Roundcube Webmail com os plugins thunderbird_labels, show_folder_size e tls_icon. version: '3' services: roundcubemail: image: roundcube/roundcubemail:latest container_name: roundcubemail volumes: - ./www:/var/www/html - ./db/sqlite:/var/roundcube/db ports: - 9002:80 environment: ROUNDCUBEMAIL_DB_TYPE: sqlite ROUNDCUBEMAIL_SKIN: elastic ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://imap.gmail.com" ROUNDCUBEMAIL_SMTP_SERVER: "ssl://smtp.gmail.com" ROUNDCUBEMAIL_DEFAULT_PORT: 993 ROUNDCUBEMAIL_SMTP_PORT: 465 ROUNDCUBEMAIL_COMPOSER_PLUGINS: "weird-birds/thunderbird_labels,jfcherng-roundcube/show-folder-size,germancoding/tls_icon:^1.2" ROUNDCUBEMAIL_PLUGINS: thunderbird_labels, show_folder_size, tls_icon Explicação das variáveis de ambiente: ROUNDCUBEMAIL_SKIN: define o tema da interface. “Elastic” é o tema moderno e “Classic” é o mais simples. ROUNDCUBEMAIL_DEFAULT_HOST: servidor IMAP padrão ao qual o Roundcube se conectará. ROUNDCUBEMAIL_DEFAULT_PORT: número da porta IMAP. ROUNDCUBEMAIL_SMTP_SERVER: servidor SMTP usado para envio de e-mails. ROUNDCUBE_SMTP_PORT: número da porta SMTP. ROUNDCUBEMAIL_COMPOSER_PLUGINS: complementos que aprimoram a experiência e as funcionalidades. ROUNDCUBEMAIL_PLUGINS: ativa os plugins instalados pela variável anterior. Seu provedor de e-mail fornecerá as informações sobre servidor IMAP, porta IMAP, servidor SMTP e configurações de SMTP. Ajuste essas variáveis conforme seu provedor e o tipo de criptografia (SSL/TLS). Para implantar este arquivo docker-compose, verifique se o Docker e o Docker Compose estão instalados: docker --version && docker-compose --version Inicie o serviço Docker: systemctl start docker Implante o arquivo: docker-compose up Pode levar de 2 a 3 minutos para que o Roundcube fique totalmente funcional em <O-IP-do-seu-servidor>:9092. Para começar a gerenciar seus e-mails, insira as credenciais fornecidas pelo seu provedor de e-mail. Se você estiver usando Gmail ou Outlook, o nome de usuário será seu endereço de e-mail completo (@gmail ou @outlook). Após o login, você verá uma interface semelhante. Método 2: Instalação direta no servidor Ubuntu O Roundcube é uma aplicação LAMP escrita em PHP e compatível com vários bancos de dados, incluindo MySQL, PostgreSQL e SQLite. Passo 1: Instalar PHP e Apache Antes da instalação, atualize a lista de pacotes: sudo apt updatesudo apt install php apache2 Também é necessário instalar e habilitar algumas extensões PHP: sudo apt install php-mbstring php-xml php-imap php-sqlite3 php-json php-curl php-zip php-gd php-intl Função de cada extensão: php-mbstring: suporte a codificações multibyte php-xml: suporte a documentos XML php-imap: permite conexão com servidores IMAP php-sqlite3: adaptador PHP para SQLite php-json: codificação e decodificação JSON php-curl: permite enviar requisições HTTP php-zip: leitura e escrita de arquivos ZIP php-gd: manipulação de imagens php-intl: suporte a idiomas e configurações regionais Passo 2: Baixar o código-fonte do Roundcube Baixe o código-fonte em https://roundcube.net/download/. Escolha a versão completa e estável para facilitar a implantação. Baixe o aplicativo no diretório /var/www: cd /var/wwwsudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.10/roundcubemail-1.6.10-complete.tar.gz Passo 3: Extrair e definir permissões Uma maneira simples de permitir que o Apache leia e escreva no diretório raiz é alterar a propriedade para o usuário www-data: sudo tar xvf roundcubemail-1.6.10-complete.tar.gzsudo chown -R www-data:www-data roundcube-1.6.10cd roundcube-1.6.10 Passo 4: Configurar o arquivo de configuração O arquivo de configuração determina quais plugins serão usados, qual tema será aplicado e quais servidores SMTP e IMAP serão utilizados. Crie uma cópia do arquivo de configuração padrão (verifique se você está em /var/www/roundcube-1.6.10) e edite-o: sudo cp config/config.inc.php.sample config/config.inc.php sudo nano config.inc.php Exemplo de configuração para o servidor Outlook. Ajuste db_dsnw, imap_host e smtp_host conforme o seu provedor. Esta configuração usa um banco SQLite por simplicidade: $config[‘db_dsnw’] = ‘sqlite:////var/www/roundcubemail-1.6.10/config/db.sqlite?mode=0640’;$config[‘imap_host’] = ‘ssl://imap.office365.com:993’;$config[‘smtp_host’] = ‘ssl://smtp-mail.outlook.com:587’; Para usar alguns plugins, baixe-os manualmente na pasta plugins ou use o Composer para gerenciá-los e depois ative-os no arquivo de configuração. Passo 5: Configurar o Apache Crie um novo arquivo roundcube_site.conf em /etc/apache2/sites-available com o seguinte conteúdo: <VirtualHost *:80> DocumentRoot /var/www/roundcubemail-1.6.10 # ServerName roundcube.CHANGEME_YOURDOMAIN.com # Substitua pelo seu domínio     ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/roundcubemail-1.6.10> AllowOverride All Require all granted </Directory> # Bloqueia o acesso ao banco de dados    <FilesMatch "\.sqlite$"> Require all denied </FilesMatch> </VirtualHost> Ative o novo site do Apache: sudo a2ensite roundcube_site.conf Desative o site padrão para evitar conflitos: sudo a2dissite 000_default.conf Recarregue o Apache para aplicar as alterações: sudo systemctl reload apache2 Passo 6: Iniciar e instalar Acesse a interface do Roundcube visitando o IP do seu servidor. Será solicitado o nome de usuário e a senha, obtidos junto ao seu provedor de e-mail. Solução de problemas Se a instalação não funcionar corretamente, verifique o arquivo errors.log. Também é possível verificar os logs do Apache para mais informações: tail -f /var/log/apache2/access.logtail -f /var/log/apache2/error.log Gerenciamento de múltiplas contas Para adicionar mais contas, vá até Configurações > Identidades > Criar. Importar contatos Você pode importar seus contatos anteriores a partir de um arquivo vCard ou CSV acessando a aba Contatos e clicando em Importar no topo. Se quiser importar CardDAV, adicione o plugin roundcube/carddav.  Os Destinatários coletados exibirão uma lista de contatos já utilizados. Da mesma forma, os Remetentes confiáveis mostrarão uma lista de remetentes conhecidos. Plugins úteis do Roundcube Alguns dos plugins mais populares incluem: Larry: o tema Larry. Contextmenu: adiciona menus de clique direito na interface. Gravatar: exibe imagens do Gravatar para e-mails. Identity_switch: permite alternar entre identidades de usuário. Advanced Search: busca rápida em e-mails. Sauserprefs: ajuda a combater spam. Calendar: integração de calendário. Roundcube_caldav: CalDAV permite gerenciar eventos em calendários como o Google Calendar, essencial para colaboração em equipe. Identity SMTP : configurações SMTP diferentes por identidade. Carddav: método padrão para armazenar e importar contatos no formato vCard. Customizr: permite personalizar logotipos e estilos. Fail2ban: exibe o número de tentativas de acesso falhadas. Html5_notifier: envia notificações de desktop para novas atividades de e-mail. Thunderbird_labels: adiciona etiquetas aos e-mails. Alternativas ao Roundcube Se você não gostar da experiência com o Roundcube, considere outras opções: Horde Webmail: suíte integrada com e-mail, calendário e gerenciamento de tarefas. Ideal para equipes. Zimbra Webmail: disponível em versões open source e comercial, conhecido pela segurança e autenticação em dois fatores. Rainloop: design moderno e limpo, não requer banco de dados e é fácil de configurar. Roundcube Webmail: é a escolha certa para você? O Roundcube oferece centenas de plugins para personalização. Com a implantação via Docker, ele pode ser configurado em poucos minutos. Se você tem experiência com administração de servidores e busca uma solução de webmail leve e de código aberto, o Roundcube é ideal. Caso precise de recursos avançados ou prefira evitar o auto-hospedagem, considere outras opções.
16 October 2025 · 9 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support