我有一个带有 Postfix、Spamassassin 和 procmail 的 Centos 7 服务器设置。它工作正常,它接收和发送电子邮件,将其传递到垃圾邮件过滤器并将其传递到所需的用户或外部电子邮件地址。
问题是,如果我有一个 procmail 配方来处理邮件,然后将其转发到外部地址,则不会发生这种情况。在我之前的 Centos 6 服务器(带有 sendmail)上,这工作得很好。我使用的 procmail 配方类型是:
:0H
* ^X-Spam-Score: * (\*\*\*\*\*\*\*\*\*\*
/dev/null
:0H
* ^X-Spam-Score: * (\*\*\*\*\
$HOME/mail/Spam
:0
[email protected]
有任何想法吗?
答案1
两个正则表达式中都有语法错误。左括号不能没有右括号,正则表达式也不能以反斜杠结尾。 (或者更确切地说,目标文件夹成为正则表达式的一部分,但是如果没有目标文件夹或其他操作,您就无法拥有配方。)
无论如何,括号在这里似乎是多余的;我猜你想要
:0H
* ^X-Spam-Score:[ ]*\*\*\*\*\*\*\*\*\*\*
/dev/null
:0H
* ^X-Spam-Score:[ ]*\*\*\*\*\*
$HOME/mail/Spam
其中两次出现的[ ]*
应该在方括号之间有一个空格和一个制表符,以匹配文字星号之前的任意空格;第一个菜谱匹配十个字面星号,第二个菜谱匹配五个星号。 (如果您想要更多,则添加更多,如果反之亦然,则删除一些。)
对于 Procmail 故障排除,定义LOGFILE
并检查其中的诊断通常是良好的第一步。有一个故障排除页面:http://www.iki.fi/era/mail/procmail-debug.html提供更多指导和其他您可以尝试的事情。