Servidor de Email · 3 min read · Oct 06, 2025

Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 3

IV. Postfix nos Servidores de Troca de Email

A. Re-construindo o Postfix

A versão do Postfix incluída na distribuição Debian Etch tem suporte a quotas quebrado. Precisamos re-construí-lo para que as quotas funcionem. Este processo de re-construção NÃO deve ser feito nos servidores MX de produção reais. Tenha um servidor separado ao lado (ou até mesmo apenas uma Máquina Virtual separada no Xen) para realizar tarefas de construção. Nosso servidor para esta tarefa é build.internal.example.com. Nesse servidor, instale as ferramentas de construção necessárias:

# apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev

Então, prossiga e baixe o código-fonte do pacote Postfix:

# cd /usr/src   
# apt-get source postfix

NOTA: Certifique-se de que você está usando a versão correta do Postfix com os seguintes comandos! Isso foi escrito contra o Postfix 2.3.8. Você pode determinar a versão atual do Postfix em execução digitando isso no prompt:

# postconf -d | grep mail_version

A saída deve ser parecida com:

# postconf -d | grep mail_version   
  mail_version = 2.3.8   
  milter_macro_v = $mail_name $mail_version 

Assumindo que tudo está pronto (e você tem as versões corretas), baixe o patch de quota:

# wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz

Você então precisa descompactar o patch e aplicá-lo ao novo código-fonte:

# gunzip postfix-2.3.8-vda.patch.gz  
# cd postfix-2.3.8  
# patch -p1 < ../postfix-2.3.8-vda.patch

E então, finalmente, recompile o pacote patchado:

# dpkg-buildpackage

Você pode ver um aviso como este no final do comando dpkg-buildpackage:

(Warning: Failed to sign .dsc and .changes file)

Você pode ignorar essa mensagem com segurança.

Esta nova reconstrução resultará em múltiplos pacotes sendo construídos, você deve copiar postfix_2.3.8-1_i386.deb e postfix-mysql_2.3.8-2_i386.deb para seus trocadores de email (MX-1 e MX-2). Você está então pronto para instalar!

B. Instalando o Postfix

Como estamos usando um sistema baseado em Debian, instalar o Postfix é muito fácil. Esta subseção assume que você está trabalhando no Trocador de Email 1 (mx-1.example.com), se você estiver trabalhando no MX-2, basta trocar o nome do servidor em qualquer arquivo de configuração, e você deve estar pronto para ir. Comece a instalação executando o seguinte:

# dpkg -i postfix_2.3.8-2_i386.deb  
# dpkg -i postfix-mysql_2.3.8-2_i386.deb

Se/quando a auto-configuração lhe fizer perguntas sobre o postfix durante a instalação, basta selecionar “Sem Configuração” (Como você está usando este guia, você vai configurá-lo você mesmo!)

dpkg vai instalar todos os arquivos de configuração para o Postfix em /etc/postfix, então vá até lá e crie o arquivo main.cf:

# cd /etc/postfix  
# touch main.cf

O arquivo main.cf pode ser editado usando dois métodos diferentes. Você pode usar seu editor de texto favorito, ou pode usar a ferramenta embutida do postfix postconf. Já usamos o postconf uma vez para determinar nossa versão na subseção IV.A acima.

O verdadeiro benefício da ferramenta postconf é que ela tem algumas verificações de erro embutidas, e elimina a possibilidade de ‘estranhezas’ devido a retornos de carro, quebras de linha, aspas estranhas, etc. Vamos usá-la neste guia, mas realmente não há uma exigência.

Comece preenchendo as informações básicas:

# postconf -e 'myhostname = mx-1.example.com'  
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'  
# postconf -e 'biff = no'  
# postconf -e 'append_dot_mydomain = no'  
# postconf -e 'myorigin = example.com'  
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'  
# postconf -e 'mynetworks = 127.0.0.0/8'   
# postconf -e 'recipient_delimiter = +'  
# postconf -e 'inet_interfaces = all'  
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \  
    $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \  
    $virtual_mailbox_domains $relay_recipient_maps $relay_domains \  
    $canonical_maps $sender_canonical_maps $recipient_canonical_maps \  
    $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

Isso é tudo o que você realmente precisa para ter um servidor de email totalmente funcional com usuários unix padrão. Não queremos usuários unix padrão, então vamos editar este arquivo bastante. Lembre-se, porém, de trocar example.com pelo seu próprio domínio! (E mx-1 por mx-2 no segundo servidor!)

###

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.