Exim, quente para rotear correio local para outro endereço

2

Eu configurei um servidor Exim4 no meu servidor wheezy debian. Este servidor de e-mail envia apenas mensagens vindas do host local. O objetivo é enviar e-mail para o meu site.

Eu tenho tarefas do cron e outros serviços gerando emails para root user. Esses e-mails não são armazenados em /var/mail como antes, mas enviados por exim para [email protected] .

Eu tento fazer com que o exim envie e-mails de root para [email protected] em vez de [email protected] .

Eu tentei adicionar um .forward em /root com [email protected] como conteúdo. Também tentei alterar /etc/aliases com root: [email protected] . O fato é que o roteamento funciona para root@localhost , mas não para root , que é resolvido como [email protected]

Eu testei como o roteamento é resolvido com exim -bt :

root@srv02:~# exim -bt root@localhost
R: system_aliases for root@localhost
R: dnslookup for [email protected]
[email protected]
    <-- root@localhost
  router = dnslookup, transport = remote_smtp
  host gmail-smtp-in.l.google.com      [173.194.67.27] MX=5
  host alt1.gmail-smtp-in.l.google.com [74.125.143.27] MX=10
  host alt2.gmail-smtp-in.l.google.com [74.125.25.27]  MX=20
  host alt3.gmail-smtp-in.l.google.com [173.194.64.27] MX=30
  host alt4.gmail-smtp-in.l.google.com [74.125.142.27] MX=40
root@srv02:~# exim -bt root
R: dnslookup for [email protected]
[email protected]
  router = dnslookup, transport = remote_smtp
  host aspmx.l.google.com      [173.194.78.27] MX=1
  host alt1.aspmx.l.google.com [74.125.143.27] MX=5
  host alt2.aspmx.l.google.com [74.125.25.27]  MX=5
  host alt4.aspmx.l.google.com [74.125.142.27] MX=10
  host alt3.aspmx.l.google.com [173.194.64.27] MX=10

Aposto que esta é uma questão de como meu servidor está configurado (em vez de como o exim está configurado). Mas para entender bem eu gostaria de ter uma solução para ambos:

por iwalktheline 25.05.2014 / 16:42

1 resposta

3

A saída de depuração que você está usando indica que você está usando um sistema de configuração de estilo Debian. Vou me referir a isso como exim4 para deixar claro que há alguma mágica de configuração extra ocorrendo além da configuração padrão do exim que vem na origem. Qualquer pessoa que leia isso mais tarde precisa entender claramente que algumas dessas sugestões não se aplicam a menos que estejam executando as configurações exim do estilo Debian.

A diferença na sua saída -bt dá uma pista:

root@srv02:~# exim -bt root@localhost
R: system_aliases for root@localhost
R: dnslookup for [email protected]
[email protected]

root@srv02:~# exim -bt root
R: dnslookup for [email protected]
[email protected]

No primeiro, ele sabia procurar no roteador system_aliases porque "localhost" está configurado para ser um dos domínios com permissão para procurar no arquivo de aliases. Mas no segundo, ele ignorou esse arquivo de aliases porque "mydomain.com" não está nessa lista. No exim4, essa lista é a macro MAIN_LOCAL_DOMAINS .

Por minha estimativa, uma dessas coisas provavelmente resolverá seu problema. Itens 2 e além são possíveis ajustes para o seu exim.conf. Já que você executa exim.4, você precisa ajustar os arquivos de configuração de correio do Debian em /etc/exim/ e então executar o exim4-conf.conf ou algo parecido para ter essas mudanças lidas e gerar o novo arquivo de configuração (/ var / lib / exim4 / config.autogenerated *) que o exim4 realmente usa.:

  1. Certifique-se de que o arquivo /root/.forward seja legível pelo usuário exim.
  2. Adicione mydomain.com à lista de domínios denominada + local_domains, o que deve fazer com que o exim4 procure o arquivo $ HOME / .forward. Parece que você já tem esse conjunto corretamente.
  3. Mover o roteador de usuário para ocorrer antes do roteador dnslookup (o que ele já faz, mas talvez você tenha alterado o layout do roteador padrão?)
  4. Adicione mydomain.com à lista de domínios permitidos para pesquisar o arquivo de aliases. (provavelmente isso vai quebrar outras coisas)
por 25.05.2014 / 18:14