Como escolher um smarthost baseado em De: address in exim4 on Debian

4

Desejo encaminhar e-mails com o formato De: .*@host1.com a smtp.server1.com e e-mails com o nome de De: .*@host2.com a smtp.server2.com .

No momento, eu configurei o smarthost com dpkg-reconfigure exim4-config para que update-exim4.conf.conf contenha a linha dc_smarthost='smtp.server1.com::587' . Ou seja, todas as rotas através de smtp.server1.com .

Eu tentei adicionar outro roteador antes da definição de smarthost: no arquivo de configuração, definindo senders = .*@host2.com

smarthost_server2:
  debug_print = "R: smarthost_server2 for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  senders = .*@host2.com
  route_list = * smtp.server2.com byname
  host_find_failed = ignore
  same_domain_copy_routing = yes
no_more

mas exim ainda roteia tudo por meio de smtp.server1.com . Eu uso a condição senders corretamente?

AFAIU, essa deve ser uma configuração bastante comum para casos em que pessoas com e-mails. @ google.com e. @ gmail.com não querem revelar em seus cabeçalhos de e-mail do @ gmail.com fato de que eles também são funcionários do Google, então o bando deve ser diferente.

    
por mikhailian 08.01.2016 / 09:31

1 resposta

3

OK, eu entendi. senders é o que / etc / mailname fornece, não a parte do domínio do De:

Os seguintes trabalhos:

smarthost_server2:
  debug_print = "R: smarthost_server2 for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  condition = ${if match_domain{${domain:$h_From:}}{smtp.server2.com}{yes}{no}} 
  route_list = * smtp.server2.com byname
  host_find_failed = ignore
  same_domain_copy_routing = yes
no_more

Observe a condição que extrai o nome de domínio do cabeçalho From: e compara-o com smtp.server2.com .

    
por 08.01.2016 / 14:04