[exim] mail delivery before pipe command returns

Top Page
Delete this message
Reply to this message
Author: Paul Wise
Date:  
To: exim-users
Subject: [exim] mail delivery before pipe command returns
Hello,
I want to set up my Exim filter to deliver mail with the subject "News" to a
special mailbox, then have a script process the mail, and then archive it.

my .forward file is
# Exim Filter

#Filter to save mail with "News" in the header to 'newMail'
#or otherwise throw it away

if $header_subject: contains "News"
then
         unseen save $home/scripts/news/newMail
         pipe "$home/scripts/news/processNews"
elif $header_subject: does not contain "News"
then
        seen finish
endif


The problem I have is that the script obviously requires the mail to be
delivered before it can process it. I have instructed the script to 'sleep'
before proceeding in the hope that exim would deliver the mail in the
interim. However it appears that exim will wait for the result of the pipe to
return before it delivers the mail (as the excellent online manual confirms).
My script needs the whole mail message on which to do its processing,
including the attachments, so I think I can not include this as an argument
to the script?

Any suggestions will be gratefully received.

Paul