O procedimento correto para executar um script (eu uso um script de shell) após o recebimento de uma mensagem de correio é o seguinte. Envolve modificar o arquivo de configuração postfix , master.cf (que, no meu Debian, está localizado em / etc / postfix ) adicionando a seguinte linha:
my_shell_script unix - n n - - pipe flags=F user=MY_USERNAME argv=/path/to/my/shell/script ${sender} ${size} ${recipient}
que instrui postfix para executar o script (você precisa torná-lo executável) quando algum evento ocorrer.
Para especificar quando executar o script, faça o seguinte: suponha que você queira que ele seja executado quando [email protected] receber uma mensagem. Coloque a seguinte linha
[email protected] FILTER my_shell_script:dummy
dentro do arquivo /etc/postfix/address.txt ; você precisará criar um banco de dados apropriado para postfix usar este arquivo, que você realiza por meio de
postmap /etc/postfix/address.txt
que produz como saída um arquivo chamado /etc/postfix/address.db . Agora volte para o arquivo /etc/postfix/main.cf e adicione a seguinte linha:
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access, permit_mynetworks, reject_unauth_destination
Agora reinicie postfix ,
postfix reload
e você deve ser bom para ir.