Encaminhamento com roteadores e transportes Exim

1

Eu escrevi dois roteadores para cuidar do encaminhamento em um dos meus servidores de e-mail:

virtual_aliases_nostar:
  driver = redirect
  allow_defer
  allow_fail
  require_files = "+/var/auth/valiases/$domain"
  data = ${lookup{$local_part@$domain}lsearch{/var/auth/valiases/$domain}}
  file_transport = address_file
  group = mail
  pipe_transport = virtual_address_pipe
  retry_use_local_part
  unseen

virtual_aliases:
    driver = redirect
    allow_defer
    allow_fail
    require_files = "+/var/auth/valiases/$domain"
    data = ${lookup{*}lsearch{/var/auth/valiases/$domain}}
    file_transport = address_file
    group = mail
    pipe_transport = virtual_address_pipe
    unseen

Qual chamada para esse transporte:

virtual_address_pipe:
  driver = pipe
  group = some_user
  return_output          
  user = some_user

Caso haja um arquivo valiases / somedomain.com como o abaixo, ele resolverá o primeiro e-mail e o encaminhará, mas parará por aí.

[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]

Basicamente, [email protected] será encaminhado somente para [email protected] e parará por aí. Alguma ideia do porquê isso acontece? obrigado.

    
por Adam Benayoun 17.08.2009 / 17:06

1 resposta

2

O que você espera que ele faça? Você parece esperar que o virtual_address_pipe transport seja chamado, mas o exemplo de aliasfile que você fornece não possui nenhum alias de pipe neles ...

omigosh ... Eu apenas reli sua pergunta pela 20ª vez. Eu me distraí com o fato de que o que você está descrevendo não combina muito com o seu exemplo, já que um redirecionamento para outro endereço de e-mail não acionaria um pipe_transport. Suponho que seu arquivo real de alias redireciona para pipes reais e se perdeu na tradução quando você tentou limpar um exemplo em vez de postar o arquivo real de configuração e alias com o qual você está tendo problemas.

De qualquer forma, ignorando isso, acho que a resposta para sua pergunta é tão simples quanto colocar todos os alvos em uma única linha:

[email protected]: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]

Você só faz uma pesquisa por local_part em um roteador como esse. Pu todos os alvos em uma única linha e Exim vai lidar com re-roteamento / transporte / etc todos os alvos que são procurados. Isso funciona para endereço de e-mail, arquivos e canais:

 [email protected]: /path/to/file, |/path/to/pipe, [email protected]

Espero que ajude.

    
por 17.08.2009 / 17:11