Servidor de E-mail · 14 min read · Sep 25, 2025
Como Instalar um Servidor de E-mail com ISPConfig no Debian 10

Este Tutorial usa uma configuração de servidor único como exemplo. O ISPConfig 3.1 é instalado no Debian 10.0, Buster (veja o tutorial de instalação do ISPConfig Perfect Server para a instalação real do servidor), o objetivo deste guia é mostrar os passos após ter instalado o servidor inicial para configurar um sistema de e-mail funcional para o seu próprio nome de domínio. Eu atualizei o ISPConfig para 3.1.15 durante os testes deste tutorial.
O que é necessário
Para usar este Tutorial com sucesso para um servidor de e-mail que funcione corretamente, você precisa
- um host onde você instala o ISPConfig (e um Sistema Operacional)
- Eu recomendo 2 GB de memória com 4 GB de swap, deve ser suficiente para o servidor de e-mail.
- o host deve ter conexão com a Internet com a porta 25 aberta em ambas as direções
- o host tem um endereço IP fixo
- o host deve ter um registro A para seu endereço IP (ou AAAA se usar IPv6)
- você deve criar um registro MX para o serviço de nome DNS para o host
- você deve obter o registro PTR do serviço de nome DNS reverso que corresponda ao FQDN do host
A exigência de memória é para filtros de SPAM. Você pode se virar com 1 GB de memória mesmo com filtros de SPAM em execução se os 4 GB de swap estiverem lá para evitar situações de falta de memória.
Portas abertas
O servidor de e-mail deve ter a porta 25 aberta tanto para entrada quanto para saída. Certifique-se de que seu host tenha essa porta aberta antes de configurar o servidor de e-mail nesse host.
Existem maneiras de fazer o e-mail funcionar mesmo quando a porta 25 não está aberta, mas isso envolve enviar e-mails através de outro host que tem a porta 25 aberta. Pode fazer mais sentido instalar o servidor de e-mail nesse outro host e esquecer o primeiro completamente no que diz respeito ao e-mail.
Entradas do Serviço de Nome DNS
O servidor de e-mail precisa de um FQDN, Nome de Domínio Totalmente Qualificado (Leia sobre isso na Wikipedia: FQDN). Neste exemplo, o nome do domínio é taleman.ovh. Para mostrar que o nome do host do servidor de e-mail não precisa ser mail, usamos posti como nome do host. Assim, o FQDN é posti.taleman.ovh.
Este host está instalado em um sistema de provedores de serviços, eles oferecem registro de domínios, serviço de nome e serviço de nome reverso. Eu usei esses.
O endereço IP é 178.33.154.66. Eu fiz o seguinte:
- registrei o domínio taleman.ovh
- adicionei este endereço IP como registro A ao serviço de nome DNS com o nome posti.taleman.ovh
- adicionei o registro MX para o domínio taleman.ovh com o valor posti.taleman.ovh
- adicionei o registro PTR do serviço de nome reverso para esse endereço IP, apontando para posti.taleman.ovh
O registro MX é criado para o domínio de e-mail. Então eu o criei para taleman.ovh, e ele aponta para posti.taleman.ovh, o servidor de e-mail que recebe e-mails para esse domínio.
Serviço de nome reverso
Leia sobre o serviço de nome reverso no tutorial de Serviço de Nome. Neste caso de exemplo, o serviço de nome reverso deve retornar posti.taleman.ovh.
Meu provedor de serviços verificou a existência do registro A antes que a adição do correspondente PTR fosse possível, eu tive um pouco de problema antes de descobrir que era por isso que a adição falhou.
Testando o serviço de nome
É melhor testar o serviço de nome agora, já que enviar e receber e-mails não funcionará se o serviço de nome não estiver configurado corretamente. Se sua estação de trabalho for Windows em vez de Linux ou Unix, use o comando nslookup em vez de host.
$ host taleman.ovh
taleman.ovh tem endereço 188.165.143.5
taleman.ovh mail é tratado por 10 posti.taleman.ovh.O resultado acima mostra que o nome do domínio tem um número IP associado (que neste caso é diferente do número IP do servidor de e-mail, mas isso não afeta os e-mails), e há um registro MX que aponta para posti.taleman.ovh. A parte “mail é tratado por” vem do registro MX. Este registro MX é necessário se os e-mails enviados para endereços @taleman.ovh forem recebidos em posti.taleman.ovh.
Então verifique se a entrada do serviço de nome para o FQDN do servidor de e-mail (neste caso posti.taleman.fi) é um registro A e aponta para o número IP correto.
$ dig posti.taleman.ovh |grep "ANSWER SECTION" --after-context=3
;; ANSWER SECTION:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Tempo da consulta: 56 msecFinalmente, verifique se o serviço de nome reverso resolve o número IP de volta para o FQDN do servidor de e-mail.
$ host 178.33.154.66
66.154.33.178.in-addr.arpa ponteiro do nome do domínio posti.taleman.ovh.Em vez dos comandos host e dig, você pode usar páginas da web que testam o serviço de nome. Eu conheço o intoDNS e o MXToolbox.
Se você não conseguir fazer os testes acima terem sucesso, pode tentar este tutorial de Configuração do Serviço de Nome.
Instalando o SO
Eu uso a versão 10 Buster do Debian, então sigo este tutorial:
https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/
Substitua o número IP, nome do host e nome do domínio pelos seus valores.
Como escrevo este tutorial em inglês, escolhi o inglês como idioma, mas a Finlândia como país e United_Kingdom en_GB.UTF-8 como configuração de local.
root@posti:/tmp# cat /etc/debian_version 10.0root@posti:~# locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
root@posti:~# cat /etc/timezone
Europa/HelsinqueVerifique se você configurou o nome do host corretamente. A configuração do sistema de e-mail que o ISPConfig faz não funcionará se o nome do host estiver errado.
root@posti:~# hostname posti
root@posti:~# hostname -f posti.taleman.ovh
root@posti:~#Instalando o ISPConfig
Eu escolho instalar o Apache como servidor web, então para o Debian Buster sigo este Guia do Servidor Perfeito.
Eu instalei o openssh-server no host e configurei o login root usando chave ssh, para que eu possa ssh para o host como root diretamente. Logins sem senha com OpenSSH ou Logins Seguros sem Senha com SSH.
root@posti:/tmp# free -h
Eu prefiro editores de estilo Emacs ao nano, então instalo o jed agora para tornar a edição de arquivos mais agradável.
Eu tinha /etc/host e /etc/hostname configurados corretamente após a instalação do sistema operacional, então apenas verifiquei se estavam corretos seguindo o Guia do Servidor Perfeito. Preste atenção ao nome do host e ao FQDN, se você bagunçar isso, descobrirá no final que seu servidor de e-mail não funciona. O dano pode ser reparado, mas é mais fácil acertar desde o início.
root@posti:/tmp# hostname
posti
root@posti:/tmp# hostname -f
posti.taleman.ovhPara o resto, eu apenas sigo o Guia do Servidor Perfeito. Note que você pode, na maioria das vezes, copiar e colar os comandos do guia para a linha de comando.
Eu não instalei o Mailman, não planejo usar o Mailman neste host. Da mesma forma, omiti a instalação do BIND DNS Server, Webalizer, AWStats. Eu instalei o Roundcube Webmail, já que este host se torna um servidor de e-mail.
No capítulo 18 (Instalar a Ferramenta de Administração de Banco de Dados PHPMyAdmin) usei o comando
/usr/bin/apg -m 32 -x 32para gerar o segredo blowfish de 32 caracteres.
Usando o sistema
Criar domínio de e-mail e caixas de correio
Agora eu faço login como admin no ISPConfig e
- Adicionar novo cliente
- Adicionar novo Domínio (Domínio de E-mail!), e preencher o formulário
- Adicionar nova Caixa de Correio
Crie as chaves DKIM e o registro clicando nos botões na ordem numerada na imagem. Você pode ler sobre DKIM na Wikipedia.

Figura 1: Criar domínio de e-mail
Então aguarde dois minutos ou até que a bola vermelha com o número na parte superior do Painel do ISPConfig desapareça.
Como primeiro teste, faça login no Roundcube Webmail com a caixa de correio criada acima e envie um e-mail para esse mesmo endereço. O ISPConfig envia uma mensagem de boas-vindas para cada caixa de correio criada, então deve haver uma mensagem lá já. Use o botão Compor e escreva uma breve mensagem de teste.

Figura 2: webmail Roundcube

Figura 3: Enviando do Roundcube
A mensagem deve aparecer em breve na caixa de correio.
Então teste enviar um e-mail para alguma outra caixa de correio que você tenha e pode verificar se o e-mail chega lá. O próximo teste que você pode fazer é enviar de algum lugar para a caixa de correio criada acima.
Observe que, se você ativou o greylisting para a caixa de correio, o e-mail enviado de fora do seu servidor não chega imediatamente à caixa de correio. No entanto, você deve ver nas entradas do log de e-mail as tentativas de entrega imediatamente, para que você veja que o e-mail pode alcançar seu servidor. A entrada de greylisting no arquivo /var/log/mail.log se parece com isso:
Aug 29 19:08:42 posti postfix/smtpd[16911]: NOQUEUE: reject:
RCPT from mta-out1.inet.fi[62.71.2.194]: 450 4.2.0
<[email protected]>: Endereço do destinatário rejeitado: Greylisted,
veja http://postgrey.schweikert.ch/help/taleman.ovh.html;
from=<**@*.*> to=<[email protected]> proto=ESMTP
helo=<****..*>Você pode monitorar o log de e-mail em uma janela de terminal assim, por exemplo:
tail -f /var/log/mail.logOu usando esses comandos, se você estiver apenas interessado nas entradas de Greylisting:
tail -f /var/log/mail.log | grep Greylistedou
grep Greylisted /var/log/mail.logO greylisting atrasa apenas o primeiro e-mail do mesmo remetente para o mesmo destinatário. Uma vez que esse primeiro e-mail é recebido, os e-mails seguintes chegam sem um atraso extra.
No meu caso, tudo funcionou na primeira tentativa. Isso mostra que o Guia do Servidor Perfeito do ISPConfig realmente funciona.
Conectar cliente de e-mail
Usando o Thunderbird como exemplo de cliente de e-mail. Outros aplicativos de cliente de e-mail funcionam de maneira semelhante.
O ISPConfig faz com que o nome da conta seja o endereço de e-mail.

Figura 4: configurações da conta Thunderbird

Figura 5: configurações do servidor Thunderbird
A segurança da conexão STARTTLS significa que a conexão começa desprotegida e depois muda para criptografada se ambas as partes suportarem a criptografia. SSL/TSL significa que a sessão é criptografada desde o início. SSL/TSL provavelmente é ligeiramente mais seguro, então tente se seu cliente funcionar com isso.

Figura 6: configurações do servidor de saída Thunderbird
Usando SPF
Leia sobre o Sender Policy Framework na Wikipedia. Originalmente, SPF significava Sender Permitted From, o que é bom para lembrar o que significa. Depois de ler sobre SPF, você pode criar o registro você mesmo, verificar se seu provedor de serviço de nome pode gerar o registro SPF ou usar Motores de Busca da Internet com
SPF wizardencontrar um site que cria o registro de serviço de nome SPF para você. Então copie e cole o registro no seu serviço de nome. Adicione um registro TXT, ou talvez em algum sistema DNS adicione o registro SPF.
Verifique como o SPF aparece no serviço de nome, assim:
$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"Ou assim:
$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"Usando DKIM
Leia sobre o DomainKeys Identified Mail na Wikipedia. O ISPConfig criou as chaves DKIM para você ao criar o domínio de e-mail (se você se lembrou de marcar a caixa DKIM). Copie e cole o Registro DNS que é a chave pública no seu serviço de nome como registro TXT. Seu provedor de serviço de nome pode oferecer uma ferramenta para facilitar a criação do registro DKIM. Mantenha a chave privada DKIM em segredo.
Verifique como o DKIM aparece no serviço de nome, assim:
$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh texto descritivo "v=DKIM1;h=sha256;s=*;p=MIIB(I cortei a string longa mais curta)0rp" "sTGLXyK(cortei mais curto)B;t=s;"Se foi o ISPConfig que criou as chaves DKIM, a chave privada é copiada para o lugar certo nas configurações do amavis.
Há um site mail-tester.com que é útil para verificar se SPF e DKIM estão funcionando. Vá para esse site, ele fornece um endereço de e-mail e você envia um e-mail lá do seu servidor. Então espere um minuto e verifique o site novamente.
Criando certificados
O ISPConfig pode criar certificados autoassinados, estes são criados durante a instalação do ISPConfig, a menos que você tenha escolhido não criar. Mesmo que você tenha criado esses certificados autoassinados, é uma boa ideia criar certificados adequados que navegadores, programas de e-mail e outros servidores de e-mail confiem.
Há um ótimo tutorial: Protegendo o ISPConfig com um Certificado SSL gratuito Let’s Encrypt
Seguindo esse tutorial, percebi que o site criado mostrava a página padrão do Debian, até que eu criei o certificado LE para o site. Além disso, o Painel do ISPConfig estava instável, acredito que porque tinha o certificado autoassinado e agora este novo certificado ou nenhum certificado. Atualizar as páginas no navegador resolveu isso.
Quando os certificados estão configurados, insira o endereço https do servidor no navegador. Clicar no ícone à esquerda da barra de endereços do navegador com outro botão do mouse mostra informações sobre o certificado.
Vá para a aba Sistema do Painel do ISPConfig, Interface Configuração Principal e aba Mail. Lá defina
Use SSL/TLS encrypted connection for SMTPpara SSL.
Testes adicionais do certificado são possíveis com ferramentas em sites, use Motores de Busca da Internet com
teste sslcomo palavras de busca. Essas ferramentas geralmente testam o site, ao testar certificados que o servidor de e-mail possui, busque com
teste ssl servidor de e-mailPlugins do Roundcube do ISPConfig
Esses plugins são úteis para usuários de webmail. Eles permitem alterar a senha do e-mail no Roundcube, por exemplo. Algumas outras configurações também podem ser modificadas no Roundcube. Todas podem ser modificadas no painel do ISPConfig, mas alguns usuários de e-mail podem não querer usar o painel.
Eu instalei os Plugins do Roundcube do ISPConfig usando o Tutorial ISPConfig 3 Roundcube Plugin no Debian 9. O tutorial funcionou exatamente no Debian 10 Buster, exceto que agora ispconfig3_account/config/config.inc.php tem uma linha a mais:
$config['soap_validate_cert'] = true;Isso pode permanecer no valor true, uma vez que o certificado está corretamente configurado e testado no capítulo anterior deste tutorial. Se, no entanto, o host não tiver um certificado válido, altere essa configuração para false.
Eu tive um problema. Alguns itens na Seção de Conta apareceram com a mensagem de erro
Ocorreu um erro.
Erro Soap: O login não é permitido de Eu resolvi isso marcando o Acesso Remoto e escrevendo posti.taleman.ovh para aquele usuário rcmail-remote que criei seguindo o Tutorial. Parece que o tutorial está errado sobre não precisar da opção “Acesso Remoto” marcada. Agora me parece que é necessário tanto para configurações de servidor único quanto para a configuração multiserver do ISPConfig com um servidor de e-mail separado.
Uso adicional
Agora você pode criar outro domínio de e-mail. Lembre-se de criar um registro MX para esse domínio e apontá-lo para seu servidor de e-mail. Você pode usar o mesmo servidor de e-mail para todos os domínios de e-mail que criar. Esta é a maneira como geralmente é feito, pois seria um grande desperdício criar um servidor de e-mail separado para cada domínio de e-mail.
Solução de problemas
Seguindo este Tutorial, meu servidor de e-mail recém-configurado funciona. Se o seu não funcionar, verifique se você seguiu este tutorial e não pulou algumas etapas.
Ler o Fórum mostrou que as maneiras comuns de ter um servidor de e-mail não funcionando são configurações erradas para nome do host e hostname -f e/ou erros no arquivo /etc/postfix/main.cf.
Se você suspeitar de problemas com o serviço de nome DNS, verifique isso com o DNS com o tutorial do ISPConfig. Existem ferramentas de sites que verificam DNS, como intodns.com, dnschecker.com, mxtoolbox.com.
Se os e-mails não estão sendo recebidos ou enviados, é o postfix que faz essas funções e elas são registradas em /var/log/mail.log. Então faça
tail -f /var/log/mail.log | grep postfix para ver o que acontece quando o e-mail está sendo recebido ou enviado.Se você tiver problemas para se conectar com o cliente de e-mail (Thunderbird, por exemplo), use isso para ver o que acontece:
tail -f /var/log/mail.log | grep dovecotCaso um e-mail específico seja problemático, você pode encontrar as entradas do log de e-mail usando o ID daquele e-mail. Por exemplo:
Sep 23 14:19:34 posti postfix/smtps/smtpd[10260]: A9F2880C76:
client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],
sasl_method=PLAIN, [email protected]O ID para aquele e-mail é A9F2880C76. Você pode encontrar as entradas do log para aquele e-mail usando
# grep A9F2880C76 /var/log/mail.logO comando mailq mostra os e-mails que estão na fila de adiamento do postfix. Ou seja, aqueles e-mails que ainda não foram entregues. É normal ter algumas entradas recentes lá, os e-mails não podem sempre ser entregues imediatamente. Você pode ver o conteúdo desses e-mails usando o ID da Fila, assim:
# postcat /var/spool/postfix/deferred/A/A9F2880C76O Howtoforge tem Fóruns do ISPConfig, peça conselhos lá.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.