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-devEntão, prossiga e baixe o código-fonte do pacote Postfix:
# cd /usr/src
# apt-get source postfixNOTA: 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_versionA 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.gzVocê 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.patchE então, finalmente, recompile o pacote patchado:
# dpkg-buildpackageVocê 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.debSe/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.cfO 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!)
###
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.