Exim4: Configurar catchall em vários domínios para encaminhar mensagens para endereços externos

3

UPDATE: Obrigado pelas respostas, mas vou largar o exim e tentar o Postfix.

Minha pergunta é bem parecida com essa . Eu quero configurar o exim4 (no Ubuntu 10.04) para encaminhar / redirecionar todos os e-mails em um domínio para um endereço externo. Meu servidor hospeda vários domínios. Esta é uma configuração bastante simples, mas estou lutando para fazê-lo funcionar.

Exemplo:

*@domain-a.com > [email protected]

*@domain-b.com > [email protected]

*@domain-c.com > [email protected]

Eu tentei adicionar o seguinte a /etc/exim4/exim4.conf.template , mas o diretor não está correspondendo:

domaina_director:
  driver = redirect
  domains = dsearch;/etc/exim4/fwd_domains
  data = ${lookup{$local_part}lsearch{/etc/exim4/fwd_domains/$domain}}
  no_more

Eu criei o diretório /etc/exim4/fwd_domains e, nesse, o arquivo domain-a.com :

# cat domain-a.com 
*: [email protected]

Atualização: não estou convencido de que essa sintaxe esteja correta. Mais importante, meu diretor não parece ser pego antes de chegar a esse ponto.

Executar update-exim4.conf & reinicie o exim4.

Enviar e-mail de teste:

# mail [email protected]
Subject: jdhfdjks
dsfhjdshf
.
Cc: 

Isso aparece em /var/log/exim4/mainlog :

2010-07-07 22:21:51 1OWd03-0002Zv-Kx <= root@primarydomain U=root P=local S=332
2010-07-07 22:21:51 1OWd03-0002Zv-Kx ** [email protected]: Unrouteable address
2010-07-07 22:21:51 1OWd03-0002Zx-MB <= <> R=1OWd03-0002Zv-Kx U=Debian-exim P=local S=1111
2010-07-07 22:21:51 1OWd03-0002Zv-Kx Completed
2010-07-07 22:21:51 1OWd03-0002Zx-MB => /var/mail/mail <root@primarydomain> R=mail4root T=address_file
2010-07-07 22:21:51 1OWd03-0002Zx-MB Completed

Meu diretor não dispara e o e-mail acaba na caixa de correio do root. Alguma idéia?

    
por Greg K 08.07.2010 / 00:38

5 respostas

3

Use uma pesquisa curinga 'lsearch *' em vez de 'lsearch'. Isso corresponderá aos curingas.

domain_aliases:
  driver = redirect
  domains = dsearch;/etc/exim4/fwd_domains
  data = ${lookup{$local_part}lsearch*{/etc/exim4/fwd_domains/$domain}}
  no_more

Como alternativa, você pode colocar seus aliases em / etc / aliases e usar um roteador como este. Você pode alterar a opção de domínios conforme apropriado para sua configuração. O dseach acima seria apropriado.

domain_aliases:
  driver = redirect
  domains = ! +local_domains : +relay_to_domains
  data = ${lookup{$local_part@domain}lsearch*{/etc/aliases}}
  no_more

Isso requer alias como:

*@domain-a.com : [email protected]
*@domain-b.com : [email protected]
*@domain-c.com : [email protected]
    
por 03.08.2010 / 04:25
1

Tente um pouco mais de depuração invasiva:

exim -bv -d+verify [email protected]
exim -bt -d+route [email protected]

Sua configuração parece sensata (até livro-texto), mais detalhes são necessários sobre as falhas.

    
por 31.07.2010 / 16:31
0

Seu diretor precisa estar acima do roteador de entrega local.

    
por 14.07.2010 / 09:58
0

Nos documentos do Exim , há algo sobre lsearch não expandindo os curingas e usando wildlsearch para expandir as chaves antes de pesquisar. Acho que a maneira que você está fazendo agora corresponderia apenas ao endereço *@domain-a.com . Dê uma olhada nos exemplos nos documentos. Além disso, como um e-mail abrangente, o roteador provavelmente deve ser usado depois de todos os outros roteadores significativos, ou ele pegará e-mails válidos antes de serem entregues.

    
por 31.07.2010 / 17:58
0

Isso provavelmente é tão óbvio que você já conferiu, mas nunca sabe.

Você usa, por acaso, o esquema de configuração dividida?

Nesse caso, você deve ignorar o exim4.conf.template e usar o /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs.

    
por 01.08.2010 / 00:16