Relé de host inteligente Exim4

Relé de host inteligente Exim4

Estou executando o Exim 4.71. Eu quero:

  1. Encaminhar todos os e-mailsdeA.com através de mail.A.com
  2. Encaminhar todos os e-mailsde[BE].com através de mail.B.com
  3. Envie todos os outros e-mails diretamente.

Aqui está a configuração que tenho que não funciona como eu esperava:

lista de domínios a_domains = a.com
lista de domínios b_domínios = b.com: c.com: d.com: e.com

iniciar roteadores

rota_inteligente_a:
  motorista = rota manual
  domínios = +a_domínios
  transporte=remote_smtp
  lista_de_rotas = +a_domínios mail.a.com
  não mais

rota_inteligente_b:
  motorista = rota manual
  domínios = +b_domínios
  transporte=remote_smtp
  route_list = +b_domains mail.mollenhour.com
  não mais

pesquisa de DNS:
  driver=dnslookup
  domínios = ! +domínios_locais
  transporte=remote_smtp
  ignore_target_hosts = 0.0.0.0: 127.0.0.0/8
  não mais

Quando envio um e-mail, por exemplo, com PHP's mail() ou Zend_Mail_Transport_Smtpdefinindo From: e Return-Path: como[e-mail protegido], o smart_route_aroteador não será usado; em vez disso, será usado o dnslookup. Desativar o dnslookup resulta no envio de nenhum email.

A partir dos registros, parece que o e-mail foi enviadopara [e-mail protegido]usa smart_route_a, mas o mesmo e-mail enviado de[e-mail protegido]para[e-mail protegido]é enviado usando dnslookup.

Como faço para criar e-mailde [e-mail protegido]ser retransmitido via mail.a.com?

Responder1

Use um condicional como

route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"

domínios = verifica apenas o domínio de destino e não o domínio de origem.

informação relacionada