Author: Jason Ostrom Date: To: exim-users CC: Dan Egli Subject: Re[2]: [Exim] procmail with .forward
Dan,
Since SpamBuster is just procmail with a special recipe, and I am
using procmail router with accept, how can SpamBuster (procmail)
re-insert the message into the queue if the message has already been
accepted? You are saying it can not, correct? There must be some other
solution.
It is procmail that inserts the X_SBClass header, so how can I do a
condition check on this header before it has been accepted?
With the following:
procmail:
driver = accept
#condition = ${if eq {$header_X-SBClass:}{OK} {1}{0} }
check_local_user
require_files = ${home}/.procmailrc
transport = procmail_pipe
#procmail
procmail_pipe:
driver = pipe
delivery_date_add = true
envelope_to_add = true
return_path_add = true
command = /usr/bin/procmail -f
user = ${local_part}
group = mail
I tested out what I thought you had said with the condition
uncommented, and procmail is never accepted. I assume this is because
at this point the X-SBClass header has not been
inserted. The check on this header has to happen after procmail has
run. Or something else.
Dan Egli> Ummm, you don't. If a router accepts a message, exim does not attempt
Dan Egli> to pass it on to other routers. SpamBuster needs to re-insert the
Dan Egli> message into the queue so that it can be processed again, and you need
Dan Egli> to have a condition check in the spambuster router that will check for
Dan Egli> this X_SBClass header and only accept the message if the line is not
Dan Egli> present.