Configuração básica do exim - redireciona todos os emails enviados para o endereço local

4

Eu tenho o exim em execução em um servidor de desenvolvimento.

Atualmente, não é possível entregar e-mails em lugar algum além de localmente. Isso é bom - eu não quero ser capaz de spam acidentalmente toda a nossa base de usuários. Mas isso torna difícil ver se o sistema de e-mail está funcionando.

Portanto, desejo capturar todos os emails que o exim tenta enviar (esses emails são gerados por um sistema CRM baseado na Web no mesmo servidor) e armazená-los em uma caixa de correio compartilhada (que pretendo disponibilizar para todos desenvolvedores via Dovecot / IMAP)

i.e. Desejo redirecionar todo o email de saída para uma mbox local.

Isso é possível? Eu sou um iniciante exim completo, e lutando com isso.

    
por aidan 27.07.2010 / 17:51

2 respostas

5

Claro que você pode. Você deve configurar um redirect router, como em:

catch_all_outgoing:
 driver = redirect
 data = admin [at] email
 unseen

N.B. O unseen significa " vá em frente com outros roteadores ". Se você deseja APENAS bloquear e-mails e não encaminhá-los para o destinatário pretendido, basta removê-los.

Dê uma olhada na documentação do exim , ela está cheia de exemplos como isso.

    
por 27.07.2010 / 18:51
3

Uma solução simples para isso é especificar um novo roteador e um transporte correspondente. Primeiro, configuramos o exim para ouvir uma porta diferente para os emails que devem ser entregues à caixa de correio única. Este exemplo usa a porta 2525 on 127.0.0.1 , portanto, certifique-se de que o seu CRM esteja configurado para enviar mensagens via SMTP nessa porta ao executar os testes. Se o servidor de e-mail também estiver sendo usado para outros propósitos, você precisará adicionar esse endereço e porta à configuração local_interfaces existente.

local_interfaces          = <; 127.0.0.1.2525

Em seguida, precisamos de um roteador que chamamos de development no exemplo abaixo. Especificamos uma condição para que as mensagens recebidas via SMTP na porta 2525 sejam aceitas por esse roteador e passadas para o transporte chamado single_box.

Isso deve ser colocado imediatamente após a seção de configuração do exim chamada begin routers

begin routers

development:
 debug_print             = "R: client_development for $local_part@$domain"
 driver                  = accept
 condition               = ${if eq {$interface_port}{2525} {1}{0}}
 transport               = single_box
 no_more

Em seguida, precisamos definir um transporte, que receberá as mensagens roteadas e as salvará em algum lugar. Vamos manter as coisas simples e salvá-las em uma única caixa de correio. A configuração de transporte pode ser colocada em qualquer lugar na seção que inicia begin transports

single_box:
 debug_print             = "T: single_box for $local_part@$domain"
 driver                  = appendfile
 group                   = Debian-exim
 mode                    = 0660
 mode_fail_narrower      = false
 delivery_date_add
 envelope_to_add         = true
 return_path_add         = true
 directory               = /home/mailspace/mailboxes/development/Maildir/
 maildir_format
 create_directory        = true

Este exemplo cria uma caixa de correio no formato Maildir no diretório correspondente; Certifique-se de que você altere este local para algo adequado para o seu servidor. Certifique-se também de alterar o nome do grupo usado pelo servidor de email; o exemplo aqui assume um sistema Debian padrão. O Maildir é um formato comum em que as mensagens de e-mail são salvas como arquivos individuais. Estes podem ser facilmente examinados usando um editor de texto e o formato Maildir é suportado pelo dovecot e courier se você quiser disponibilizar a caixa de correio usando o IMAP.

    
por 05.03.2011 / 23:18