On Mon, 24 Oct 2005, Rob Butler wrote:

> In exim's online documentation for the local scan API
> section 41.2 it says:
> 
> extern int local_scan(int fd, uschar **return_text);
> 
> The arguments are as follows:
> 
>     *fd is a file descriptor for the file that
> contains the body of the message (the -D file). The
> file is open for reading and writing, but updating it
> is not recommended. Warning: You must not close this
> file descriptor.
> 
> Why is updating the file not recommended? 

Because you have to update it in place. If the host or process dies, 
you'll end up with a scrambled file. (Mind you, since the message has 
not been completely received, perhaps that won't matter.)

Also, this just feels "dodgy".

> Will there be any problem if the file is updated?

Values such as $message_size and $message_linecount may be incorrect.

> It this possible?  Is this the best way to accomplish
> my goal?  If not could you suggest a better way to do
> it?

It would be more straightforward to pipe the incoming message to an 
application that then generated a suitable reply.

Further more, with your approach you will be copying all the old message 
header lines instead of making new ones (Date:, Message-ID: etc). This 
just doesn't seem right.

-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to