Re: [exim] Retaining message IDs through transport filters

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Steve Hill
CC: exim-users
Subject: Re: [exim] Retaining message IDs through transport filters
On Thu, 30 Mar 2006, Steve Hill wrote:

> iceni_transport:
>    driver = pipe
>    batch_max = 1000
>    use_bsmtp
>    command = /usr/sbin/exim -oMr iceni-scanned -bS
>    transport_filter = /usr/bin/mailfilterc $message_id $local_part
>    user = exim
>    log_output = true

>
> This quite happilly accepts the mail and re-injects the modified message into
> exim. The problem is that the re-injected message is treated as an entirely
> new message - it gets a new message ID so it's not possible to track a message
> on it's journey through the mail server by just grepping the logs for it's
> message ID.


You might be able to abuse the -E command line option. I can't remember
offhand exactly what its side effects are, so someone would have to
check the code.

> Is there any way to pipe a message through an external command, and then
> continue on to process the message that's produced on the command's stdout as
> if it were the same message rather than having to re-transmit the command's
> output as an entirely new message?


I'm afraid not.

-- 
Philip Hazel            University of Cambridge Computing Service
Get the Exim 4 book:    http://www.uit.co.uk/exim-book