Postfix - Entregando para diferentes rotas no mesmo ambiente

Publicado por Fabio Soares Schmidt em 06/05/2013

[ Hits: 5.133 ]

 


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: Adicionando mais informações na entrega da mensagem

Patch para Cyrus IMAP 2.4.x - erro: "Message contains bare newlines"

Cyrus Aggregator - Resolvendo inconsistências entre servidores Back-end e Mupdate Master (Murder)

Zimbra - Copiando base de SPAM/HAM para outro servidor

Leitura recomendada

Mudando a porta do webmail Zimbra

Manual completo do Thunderbird

Instalando Expresso V3

Acompanhar logs do Zimbra por usuários

Instalação OpenWebmail e afins no FreeBSD

  

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