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