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/
