Postfix - Entregando para diferentes rotas no mesmo ambiente

Publicado por Fabio Soares Schmidt em 06/05/2013

[ Hits: 5.411 ]

 


Postfix - Entregando para diferentes rotas no mesmo ambiente



Recentemente, precisei efetuar a configuração no Postfix para entregar mensagens em diferentes ambientes.

Na mesma rede corporativa são utilizados dois domínios, sendo um utilizando o Cyrus IMAP e o outro utilizando o Exchange 2010. Além das entregas diferentes para os domínios internos, as mensagens para domínios externos deveriam ser encaminhadas para um SMTP de borda, como o IBM Proventia.

Veja a ilustração sobre como deve ser a entrega nesse ambiente:
Linux: Postfix - Entregando para diferentes rotas no mesmo ambiente
Sabemos que para entregar as mensagens que não são locais para outro servidor, devemos utilizar o parâmetro relayhost no "main.cf", porém, como fazer para que os dois domínios internos sejam encaminhados para o destino correto?

Conforme a documentação do Postfix, os parâmetros "relay_transport", "sender_dependent_default_transport_maps", "default_transport,sender_dependent_relayhost_maps" e a tabela "transport", têm prioridade sobre o relayhost, portanto, podemos utilizar uma destas soluções para atender nossa necessidade.

Vejamos, então, como fica a configuração utilizando os parâmetros relayhost e transport_maps, no "main.cf":

#Aqui adiciono o IP do servidor de borda, que irá efetuar a entrega para domínios externos
relayhost = SERVIDOR_DE_BORDA

#Aqui defino o transport_maps com o arquivo que irá controlar as entregas para os domínios internos
# que estão em diferentes ambientes

transport_maps = hash:/etc/postfix/transport_maps


O arquivo "transport_maps" deve ficar da seguinte forma:

dominio1       lmtp:SERVIDOR_CYRUS_IMAP:lmtp
dominio2       smtp:SERVIDOR_EXCHANGE


Como podemos observar, o transport_maps permite rotas diferentes por destinos, inclusive, utilizando protocolos diferentes. Efetuada a configuração, basta executar o postmap no arquivo transport_maps e efetuar o reload no Postfix.

Obrigado,
Respirando Linux por Fabio Soares Schmidt

Outras dicas deste autor

Cyrus Imap: Fatal error: Internal error: assertion failed: seen_db.c: 127: *seendbptr == NULL

Dovecot: userdb reply doesn't contain uid (change userdb socket permissions)

Separando os logs do AMaViS no Debian

Zimbra - "Erro: PKIX path building failed" ao executar o Zmmailbox

Apache com mod_proxy para múltiplos endereços

Leitura recomendada

Personalizando temas no Zimbra

Configurando Kmail para usar conta do Gmail

Claws Mail - Erro na conexão com imap.google.com: login recusado [Resolvido]

Minicurso Zimbra 7.2 com CentOS 6.3 + Configuração de servidor de e-mail

Tradução do cliente de email Evolution para pt_BR no Ubuntu 16.04 e derivados

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts