Como executar o script após spamc, usar args no script e redirecionar a saída do spamc para o sendmail?

1

Estou tentando realizar ações personalizadas após o spamassassin. Eu tenho linha de trabalho no postfix master.cf

spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}

Mas eu quero redirecionar a saída do spamc para o meu script, que aceita argumentos, executa minhas ações e redireciona a saída do spam para o sendmail.

Eu tentei fazer

spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -e
/home/scripts/my.sh ${sender} ${recipient}

E my.sh apenas ecoando $1 e $2 , mas veja em mail.log

spamc[31244]: exec failed: Exec format error

Em suma, quero pelo menos mostrar args do remetente do remetente no echo e depois tentar redirecionar a saída do spamc para o sendmail no meu script, mas mesmo assim não consegui executar o eco simples (

UPDATE

Atualmente, tenho o seguinte conf no postfix:

smtp      inet  n       -       -       -       -       smtpd -v -o content_filter=filter

filter unix - n n - - pipe user=spamd argv=/home/scripts/my.sh -oi -f ${sender} ${recipient}

O script experimental funciona e agora envia a saída do spamc para o arquivo (sem sendmail)

/usr/bin/spamc > /home/scripts/res

Como posso extrair esses cabeçalhos smtp como De , Para e X-Spam-Flag do resultado de spamc usando o bash e redireciona o resultado do spamc para o sendmail ? Eu quero de alguma forma usar pipes para não chamar spamc duas vezes. Eu acho que o grep pode me ajudar, mas eu não sei exatamente como extrair - outros cabeçalhos podem ser considerados como está, mas o cabeçalho De contém informação extra + mail em <> (exemplo - De: =? UTF-8? B? NameInBB64? =) Mas não tenho certeza de que o endereço de e-mail está sempre dentro de < & gt ;. Minha sugestão está correta?

    
por Baurzhan 13.06.2016 / 08:00

0 respostas