jairovisks
(usa Debian)
Enviado em 30/12/2011 - 12:39h
Olha eu de novo...
Estou aqui para dar os devidos créditos ao Eriton, que me ajudou pra caramba... ele desenvolveu outra solução para mim, um script que que faz a verificação do assunto e do destinatário também.
A solução é a seguinte:
1º) Foi criado um script chamado filter.sh com o seguinte conteúdo:
#!/bin/sh
SENDMAIL="/usr/sbin/sendmail -i"
EGREP=/bin/egrep
trap "rm -f /var/mail/filter/out.$$" 0 1 2 3 15
cat | sed 's/^\.$/../' > /var/mail/filter/out.$$
if $EGREP -q "^Subject: TOKEN*" < /var/mail/filter/out.$$ && $EGREP -q "^To:.*op.banco@mydomain.com.br" < /var/mail/filter/out.$$
then
$SENDMAIL bkf.banco@mydomain.com.br < /var/mail/filter/out.$$
else
$SENDMAIL "$1" < /var/mail/filter/out.$$
fi
exit $?
############# Fim Script#################################
2º) Dá-se as devidas permissões e cria-se o diretório que o script utilizará para verificar o e-mail:
# chown root:mail /usr/local/bin/filter.sh
# chmod 750 /usr/local/bin/filter.sh
# mkdir /var/mail/filter
# chown mail:mail /var/mail/filter
3º) Edita-se o arquivo /etc/postfix/master.cf e insere as linhas abaixo:
smtp inet n - n - - smtpd
-o content_filter=filter
filter unix - n n - - pipe
flags=Rq user=mail argv=/usr/local/bin/filter.sh ${recipient}
Obs.: A linha "smtp inet n - n - - smtpd" já existe no arquivo /etc/postfix/master.cf
4º) Edita-se o arquivo /etc/postfix/main.cf e insere a linha abaixo:
filter_destination_recipient_limit = 1
Agora basta reiniciar o postfix e já estará funcionando, testei aqui e resolveu meu problema.
É uma solução limpa e, depois que ele me explicou, relativamente simples.
Mais uma vez obrigado Eriton,
Abs