Postfix - Como escrever mensagens de saída para o disco rígido (não para internet)?

5

Para que meus testes de unidade webb-app funcionem em meu ambiente de desenvolvimento local, ou seja, no que diz respeito à entrega de e-mail, eu instalei o postfix.

Venha descobrir que meus colegas de trabalho estão recebendo vários e-mails toda vez que faço nossos testes de unidade. Então, eu gostaria de configurar o postfix para que o correio de saída não seja realmente entregue ao mundo externo, mas sim gravado em um diretório arbitrário no meu sistema de arquivos.

Fiz uma boa quantidade de pesquisas, mas não encontrei uma solução específica para minhas necessidades. A solução mais próxima que eu posso encontrar é rotear e-mail através de um script personalizado, como link abaixo, no entanto, isso ainda não foi feito.

Agradecemos antecipadamente por qualquer assistência -

Como faço para obter o Postfix para entregar TODOS os e-mails para um script personalizado?

    
por Daniel B. 16.02.2012 / 17:33

4 respostas

5

Sim, é possível. Adicione as seguintes linhas ao seu /etc/postfix/master.cf:

fs_mail    unix  -       n       n       -       -       pipe
   flags=F user=%YOUR_USER_NAME% argv=tee /home/%YOUR_USER_NAME%/fs_mail.dump

E adicione essa linha ao seu /etc/postfix/main.cf:

default_transport = fs_mail

E, em seguida, reinicie o seu servidor Postfix

sudo /etc/init.d/postfix restart

E você deve salvar todos os e-mails enviados no arquivo fs_mail.dump na sua pasta pessoal (substitua% YOUR_USER_NAME% pelo seu nome de usuário real;))

    
por 16.02.2012 / 18:08
3

Você pode usar o utilitário smtp-sink que vem com o postfix:

smtp-sink -u root -d %d.%H.%M.%S 192.168.1.10:25 10

smtp-sink grava os arquivos com timestamp.hex

Felicidades

P.S.

Você foi muito rápido na aceitação da melhor resposta.

P.P.S.

Você mencionou especificamente o postfix, então eu mencionei o smtp-sink, mas o falso-mail funciona melhor na medida em que ele escreve os arquivos como [email protected], onde N é a ocorrência do mesmo endereço. link

    
por 16.02.2012 / 18:31
0

A maneira mais fácil, IMHO, é criar um endereço de e-mail local em sua máquina de desenvolvimento e configurar o postfix para redirecionar todos os e-mails para esse endereço e descartá-los posteriormente. / p>

Dê uma olhada aqui para algumas dicas.

    
por 16.02.2012 / 18:00
0

uma maneira é redirecionar todos os e-mails para uma conta local.

# main.cf

header_checks = regexp:/etc/postfix/header_checks

# / etc / postfix / header_checks

/./   REDIRECT [email protected]
    
por 16.02.2012 / 18:06