Hi Guys,

I've got a bit of a unique situation here, i'm working in the ISP  
space and manage a server that is hosting approximately 700 or so  
virtual domains with around 2000+ virtual mailboxes.

Some of the services we offer is email archiving (all incoming and  
outgoing per user for a domain) and every domain gets an email  
summary page on their control panel.  Previously this was all handled  
by a pipe transport where every message was run through a perl script  
which archived a message if that customer had the service enabled,  
and also wrote a log entry summarising the message (eg. sender,  
recip, size, number of attachments, archived_flag, etc ...).  This  
process was really causing a massive performance hit on the server so  
i've been working on better optimising the way it works.

So far i've managed to improved the archiving performance by moving  
the archiving procedure into exim itself (with an unseen router/ 
transport combo) - this part is working fabulously and has dropped  
the server load significantly.  However where I am now stuck is how  
to provide the logging capability that the previous script had.

What i'd like to do is basically write a selection of header  
information to a log file for every single message that is  
successfully routed through the server but i'm struggling to work out  
where and how to put this kinda functionality in.  I've experimented  
with using a 'condition =' and using embedded perl string expansion  
to write my log file.  However you can only have a single condition  
per router?  Can anyone think of a better way to do this?  Ultimately  
I want to just call an embedded perl function at the end of each  
router (ie. after message has been successfully routed?)

Any tips/advice/abuse welcome.

Thanks
Marcus



-- 
## 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