如何在垃圾邮件后运行脚本,在脚本中使用参数并将spamc输出redirect到sendmail?

我试图在spamassassin之后执行自定义操作。 我有工作在postfix master.cf

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

但是我想将垃圾邮件输出redirect到我的脚本,脚本需要参数,执行我的操作,而不是将垃圾邮件输出redirect到sendmail。

我试图做

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

my.sh只是呼应$1$2但在mail.log看到

 spamc[31244]: exec failed: Exec format error 

总之,我想至less显示发件人收件人参数在回声和之后,尝试redirect垃圾邮件输出到我的脚本sendmail,但我甚至无法运行简单的回声(

UPDATE

目前我在postfix中有以下conf:

 smtp inet n - - - - smtpd -v -o content_filter=filter filter unix - nn - - pipe user=spamd argv=/home/scripts/my.sh -oi -f ${sender} ${recipient} 

Experimantal脚本工作,现在只是发送垃圾邮件输出到文件(不发送邮件)

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

如何 垃圾邮件的 结果中使用bash提取诸如FromToX-Spam-Flag之类的smtp头文件并将sendmail的spamc结果redirect到sendmail ? 我想以某种方式使用pipe道,以免两次调用垃圾邮件。 我的东西grep可能会帮助我,但我不完全知道如何提取 – 其他头可能会采取,但从头包含额外的信息+邮件<> (例如 – 从:=?UTF-8?B? nameInBB64?=)但我不确定邮件地址总是在<>内。 我的build议是否正确?