Email Server · 3 min read · Sep 30, 2025
Configurando o Postfix Como Um MX de Backup
Neste tutorial, eu vou mostrar como você pode configurar um servidor de email Postfix como um intercambiador de email de backup para um domínio, de modo que ele aceite emails para esse domínio caso o intercambiador de email primário esteja fora do ar ou inacessível e passe os emails para o MX primário assim que este estiver disponível novamente.
1 Nota Preliminar
Eu quero configurar um MX de backup para o domínio example.com. Neste exemplo, o MX primário para example.com é chamado mx1.example.com (endereço IP 1.2.3.4), então eu chamo o MX de backup mx2.example.com (endereço IP 1.2.3.5).
Eu criei registros MX para example.com que se parecem com isto:
example.com. 86400 IN MX 10 mx1.example.com.
example.com. 86400 IN MX 20 mx2.example.com.É importante que o MX primário tenha um número menor (10) e, portanto, uma prioridade maior do que o MX de backup (20).
Estou assumindo que o Postfix em mx2.example.com já está instalado e funcionando.
2 Configurando o Postfix em mx2.example.com
Para fazer mx2.example.com um MX de backup para o domínio example.com, tudo o que precisamos fazer é mudar/adicionar três linhas em /etc/postfix/main.cf:
nano /etc/postfix/main.cfPrimeiro, certifique-se de que smtpd_recipient_restrictions contenha permit_mynetworks e reject_unauth_destination, então algo como isto seria ok:
[...]
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
[...]Então devemos adicionar example.com ao parâmetro relay_domains; se ainda não houver um parâmetro relay_domains em /etc/postfix/main.cf, o seguinte funcionará:
[...]
relay_domains = $mydestination, example.com
[...]E finalmente, adicionamos um parâmetro relay_recipient_maps vazio em /etc/postfix/main.cf:
[...]
relay_recipient_maps =
[...](Assim não precisamos especificar uma lista de endereços de email válidos para fazer backup, o que pode ser uma tarefa assustadora se você tiver que gerenciar centenas de contas de email.)
Há uma coisa importante que eu preciso adicionar: Você não deve listar example.com nos seguintes parâmetros em /etc/postfix/main.cf:
- mydestination
- virtual_alias_domains
- virtual_mailbox_domains
É isso. Tudo o que precisamos fazer agora é reiniciar o Postfix:
service postfix restart3 Testando
Para testar o novo MX de backup, derrubamos o MTA (Postfix, Sendmail, Exim, etc.) em mx1.example.com e enviamos um email de algum servidor remoto para uma conta example.com (por exemplo, [email protected]).
Se você tiver acesso ao log de email no servidor remoto (de envio), você deve agora encontrar algo como isto nele:
Jun 6 18:29:16 mail postfix/smtp[17746]: AF814144146: to=<[email protected]>, relay=mx2.example.com[1.2.3.5], delay=1, status=sent (250 2.0.0 Ok: queued as DCA5A1BF40F)Como você vê, o email foi enviado para mx2.example.com em vez de mx1.example.com porque mx1.example.com está inacessível. Agora, vamos dar uma olhada no log de email de mx2.example.com:
Jun 6 18:29:16 mx2 postfix/qmgr[3049]: DCA5A1BF40F: from=<[email protected]>, size=892, nrcpt=1 (queue active)
Jun 6 18:29:16 mx2 postfix/smtpd[3051]: disconnect from mail.blabla.tld[1.2.3.6]
Jun 6 18:29:16 mx2 postfix/smtp[3057]: connect to mx1.test1.de[1.2.3.4]: Connection refused (port 25)
Jun 6 18:29:16 mx2 postfix/smtp[3057]: DCA5A1BF40F: to=<[email protected]>, relay=none, delay=0.07, delays=0.03/0.02/0.01/0, dsn=4.4.1, status=deferred (connect to mx1.test1.de[1.2.3.4]: Connection refused)mx2.example.com aceitou o email e tentou se conectar a mx1.example.com para entregá-lo ao MX primário. Como o MX primário está fora do ar, mx2.example.com não consegue entregar o email e o mantém na fila de email até que mx1.example.com esteja disponível novamente.
Agora iniciamos o MTA em mx1.example.com novamente. O MX de backup não entregará imediatamente o email enfileirado, mas após alguns minutos você deve ver algo como isto no log de email de mx2.example.com:
Jun 6 18:56:44 mx2 postfix/qmgr[3080]: DCA5A1BF40F: from=<[email protected]>, size=892, nrcpt=1 (queue active)
Jun 6 18:56:45 mx2 postfix/smtp[3083]: DCA5A1BF40F: to=<[email protected]>, relay=mx1.example.com[1.2.3.4]:25, delay=1648, delays=1648/0.09/0.4/0.12, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 167995B0109)O email foi entregue ao MX primário onde você pode ver isto no log de email:
Jun 6 18:56:45 mx1 postfix/local[4963]: 167995B0109: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.54, delays=0.08/0.02/0/0.43, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail -f-)Portanto, nenhum email foi perdido enquanto mx1.example.com estava fora do ar, e os usuários podem continuar a recuperar seus emails de mx1.example.com.
4 Links
- Postfix: http://www.postfix.org
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.